author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 07 Aug 2017 16:06:08 +0100 | |
changeset 1055 | ebc1796ce9f5 |
parent 458 | de41bf2025c0 |
child 1072 | a44c741ee5ef |
permissions | -rw-r--r-- |
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
1 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
2 |
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE |
374
e65bd2bf892a
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
3 |
Copyright (C) 2013-2015 Jan Vrany |
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
4 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
5 |
This library is free software; you can redistribute it and/or |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
6 |
modify it under the terms of the GNU Lesser General Public |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
7 |
License as published by the Free Software Foundation; either |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
8 |
version 2.1 of the License. |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
9 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
10 |
This library is distributed in the hope that it will be useful, |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
11 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
12 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
13 |
Lesser General Public License for more details. |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
14 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
15 |
You should have received a copy of the GNU Lesser General Public |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
16 |
License along with this library; if not, write to the Free Software |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
17 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
18 |
" |
249
8bc64027b189
Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
219
diff
changeset
|
19 |
"{ Package: 'stx:goodies/smallsense' }" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
"{ NameSpace: SmallSense }" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
EditSupport subclass:#JavaEditSupport |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
instanceVariableNames:'lastTypedKey0 lastTypedKey1 lastTypedKey2 lastTypedKey3' |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
classVariableNames:'' |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
poolDictionaries:'' |
67
020b7461b15e
Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
64
diff
changeset
|
27 |
category:'SmallSense-Java' |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
|
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
30 |
!JavaEditSupport class methodsFor:'documentation'! |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
31 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
32 |
copyright |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
33 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
34 |
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE |
374
e65bd2bf892a
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
279
diff
changeset
|
35 |
Copyright (C) 2013-2015 Jan Vrany |
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
36 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
37 |
This library is free software; you can redistribute it and/or |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
38 |
modify it under the terms of the GNU Lesser General Public |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
39 |
License as published by the Free Software Foundation; either |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
40 |
version 2.1 of the License. |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
41 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
42 |
This library is distributed in the hope that it will be useful, |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
43 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
44 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
45 |
Lesser General Public License for more details. |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
46 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
47 |
You should have received a copy of the GNU Lesser General Public |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
48 |
License along with this library; if not, write to the Free Software |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
49 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
50 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
51 |
! ! |
139
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
52 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
!JavaEditSupport methodsFor:'accessing'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
language |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
"superclass SmallSenseEditSupport says that I am responsible to implement this method" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
|
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
58 |
| javaLanguageClass | |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
59 |
|
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
60 |
javaLanguageClass := Smalltalk at:#JavaLanguage. |
122 | 61 |
^ javaLanguageClass notNil ifTrue:[ javaLanguageClass instance ] ifFalse: [ nil ]. |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
62 |
|
122 | 63 |
"Modified: / 04-10-2013 / 08:42:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
64 |
! ! |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
|
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
66 |
!JavaEditSupport methodsFor:'accessing-classes'! |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
67 |
|
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
68 |
completionEngineClass |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
69 |
"Returns a code completion engine class or nil, of |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
70 |
no completion is supported" |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
71 |
|
278
696843cd1f9d
Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
72 |
OperatingSystem getLoginName = 'jv' ifTrue:[ |
696843cd1f9d
Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
73 |
^ SmallSense::JavaCompletionEngine |
696843cd1f9d
Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
74 |
]. |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
75 |
^ SmallSense::JavaCompletionEngineSimple |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
76 |
|
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
108
diff
changeset
|
77 |
"Created: / 03-10-2013 / 17:45:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
278
696843cd1f9d
Revamp of Java completion engine - use JDT's CompletionParser to parse source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
78 |
"Modified: / 12-08-2014 / 10:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
79 |
! |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
80 |
|
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
81 |
scannerClass |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
82 |
"Returns a class to use for scanning lines. If nil, scanning is |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
83 |
not supported and scanLine* methods will return an empty array." |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
84 |
|
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
85 |
^ (Smalltalk at: #JavaScanner) |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
86 |
|
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
87 |
"Created: / 22-10-2013 / 00:38:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
88 |
! ! |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
89 |
|
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
90 |
!JavaEditSupport methodsFor:'editing'! |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
91 |
|
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
92 |
electricInsertSnippet |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
93 |
| tokens lastToken0 | |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
94 |
|
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
95 |
tokens := self scanLineAtCursor. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
96 |
tokens isEmptyOrNil ifTrue:[ |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
97 |
^ false |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
98 |
]. |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
99 |
lastToken0 := tokens at:(tokens size - 3). |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
100 |
lastToken0 = 'Error' ifTrue:[ |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
101 |
^ false |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
102 |
]. |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
103 |
(tokens last > textView cursorCol) ifTrue:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
104 |
^ false |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
105 |
]. |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
106 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
107 |
"/ Insert try { ... } |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
108 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
109 |
lastToken0 == #try ifTrue:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
110 |
(tokens size == 4 |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
111 |
or:[ (tokens size > 4) and:[ (tokens at:tokens size - 7) ~~ $. ] ]) |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
112 |
ifTrue:[ |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
113 |
self electricInsertBlockOpenedBy:' {' closedBy:'}'. |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
114 |
^ true. |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
115 |
] |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
116 |
]. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
117 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
118 |
"/ Insert catch ( ) { ... } |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
119 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
120 |
lastToken0 == #catch ifTrue:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
121 |
(tokens size > 4 and:[ (tokens at:tokens size - 7) == $} ]) ifTrue:[ |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
122 |
| cursorLine cursorCol | |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
123 |
|
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
124 |
cursorLine := textView cursorLine. |
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
125 |
cursorCol := textView cursorCol. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
126 |
self electricInsertBlockOpenedBy:' ( ) {' closedBy:'}'. |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
127 |
textView cursorLine:cursorLine col:cursorCol + 3. |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
128 |
^ true. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
129 |
]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
130 |
]. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
131 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
132 |
"/ Insert finally { ... } |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
133 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
134 |
lastToken0 == #finally ifTrue:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
135 |
(tokens size > 4 and:[ (tokens at:tokens size - 7) == $} ]) ifTrue:[ |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
136 |
self electricInsertBlockOpenedBy:' {' closedBy:'}'. |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
137 |
^ true. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
138 |
]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
139 |
]. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
140 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
141 |
"/ Insert if/while/synchronized ( ) { ... } |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
142 |
|
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
143 |
(#( #if #while #synchronized ) includes:lastToken0) ifTrue:[ |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
144 |
(tokens size = 4) ifTrue:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
145 |
| cursorLine cursorCol | |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
146 |
|
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
147 |
cursorLine := textView cursorLine. |
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
148 |
cursorCol := textView cursorCol. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
149 |
self electricInsertBlockOpenedBy:' ( ) {' closedBy:'}'. |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
150 |
textView cursorLine:cursorLine col:cursorCol + 3. |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
151 |
^ true. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
152 |
]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
153 |
]. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
154 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
155 |
"/ Insert for ( ; ; ) { ... } |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
156 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
157 |
(lastToken0 == #for) ifTrue:[ |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
158 |
(tokens size = 4) ifTrue:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
159 |
| cursorLine cursorCol | |
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
160 |
|
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
161 |
cursorLine := textView cursorLine. |
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
162 |
cursorCol := textView cursorCol. |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
163 |
self electricInsertBlockOpenedBy:' ( ; ; ) {' closedBy:'}'. |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
164 |
textView cursorLine:cursorLine col:cursorCol + 3. |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
165 |
^ true. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
166 |
]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
167 |
]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
168 |
^ false |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
169 |
|
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
170 |
"Created: / 22-10-2013 / 01:53:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
171 |
"Modified: / 12-02-2015 / 00:00:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
!JavaEditSupport methodsFor:'event handling'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
keyPress: key x:x y:y in: view |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
"Handles an event in given view (a subview of codeView). |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
If the method returns true, the event will not be processed |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
by the view." |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
view ~~ textView ifTrue:[ ^ false ]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
|
155
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
184 |
(self keyPressIgnored: key) ifTrue:[ |
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
185 |
^ true. |
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
186 |
]. |
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
187 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
188 |
lastTypedKey3 := lastTypedKey2. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
189 |
lastTypedKey2 := lastTypedKey1. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
190 |
lastTypedKey1 := lastTypedKey0. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
191 |
lastTypedKey0 := key. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
192 |
|
217
6ff466b83ff9
Fixes and improvements for Java/Groovy completion (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
176
diff
changeset
|
193 |
key == #CodeCompletion ifTrue:[ |
219
c69943a410fd
Do not cache completion controller in edit support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
217
diff
changeset
|
194 |
| controller | |
c69943a410fd
Do not cache completion controller in edit support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
217
diff
changeset
|
195 |
|
c69943a410fd
Do not cache completion controller in edit support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
217
diff
changeset
|
196 |
(controller := self textView completionSupport) notNil ifTrue:[ |
c69943a410fd
Do not cache completion controller in edit support.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
217
diff
changeset
|
197 |
^ controller handleKeyPress:key x:x y:y |
217
6ff466b83ff9
Fixes and improvements for Java/Groovy completion (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
176
diff
changeset
|
198 |
]. |
6ff466b83ff9
Fixes and improvements for Java/Groovy completion (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
176
diff
changeset
|
199 |
^ false |
279
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
200 |
]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
201 |
|
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
202 |
key == #Return ifTrue:[ |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
203 |
^ self keyPressReturn. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
204 |
]. |
217
6ff466b83ff9
Fixes and improvements for Java/Groovy completion (part 2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
176
diff
changeset
|
205 |
|
458
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
206 |
UserPreferences current smallSenseElectricEditSupportEnabled ifFalse:[ ^ false ]. |
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
207 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
208 |
key == ${ ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
209 |
^ self keyPressOpenCurly |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
210 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
211 |
|
155
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
212 |
key == Character space ifTrue:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
213 |
^ self electricInsertSnippet |
155
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
214 |
]. |
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
215 |
|
d792aed09149
Initial support for ignoring keystrokes to avoid duplicate text when electric insert is active.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
139
diff
changeset
|
216 |
^ false |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
217 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
218 |
"Created: / 07-03-2010 / 09:36:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
458
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
219 |
"Modified: / 04-05-2015 / 00:09:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
220 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
keyPressOpenCurly |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
223 |
| line tokens i | |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
|
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
225 |
line := textView listAt: textView cursorLine. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
line notEmptyOrNil ifTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
i := line size. |
139
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
228 |
[ i > 0 and:[(line at: i) isSeparator] ] whileTrue:[ i := i - 1 ]. |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
229 |
(i ~~ 0 and:[textView cursorCol < i]) ifTrue:[ |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
230 |
^ false. ]. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
231 |
] ifFalse:[ |
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
232 |
self electricInsertBlockOpenedBy:'{' closedBy:'}'. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
233 |
^ true |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
234 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
235 |
|
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
236 |
tokens := self scanLineAtCursor. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
237 |
tokens notEmptyOrNil ifTrue:[ |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
238 |
| column | |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
239 |
|
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
240 |
column := textView cursorCol. |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
241 |
(tokens at: tokens size - 3) = 'Error' ifTrue:[ ^ false ]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
242 |
1 to: tokens size - 3 by: 4 do:[:i | |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
243 |
(column between: (tokens at: i + 2) and: (tokens at: i + 3)) ifTrue:[ |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
244 |
(tokens at: i) == #String ifTrue:[ ^ false ]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
245 |
|
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
246 |
self electricInsertBlockOpenedBy:'{' closedBy:'}'. |
134
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
247 |
^ true. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
248 |
]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
249 |
]. |
e34ee6ceb7c8
Initial support for "electric snippets".
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
133
diff
changeset
|
250 |
]. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
251 |
|
159
289c7ef539af
Improved support for electric bracket.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
155
diff
changeset
|
252 |
self electricInsertBlockOpenedBy:'{' closedBy:'}'. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
253 |
^ true |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
254 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
255 |
"Created: / 04-08-2013 / 01:54:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
256 |
"Modified: / 12-02-2015 / 00:01:56 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
279
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
257 |
! |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
258 |
|
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
259 |
keyPressReturn |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
260 |
| line c i indent lineNr ccontroler | |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
261 |
|
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
262 |
textView isInInsertMode ifFalse:[ ^ false ]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
263 |
ccontroler := textView completionSupport. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
264 |
(ccontroler notNil and:[ ccontroler isCompletionViewShown ]) ifTrue:[ |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
265 |
^ false. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
266 |
]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
267 |
|
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
268 |
"/ First, check if the cursor is at the end of line, i.e., if |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
269 |
"/ there's no text after the cursor... |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
270 |
lineNr := textView cursorLine. |
451
ef7e8e25df63
Bug fix: replace textView list at: with textView listAt: which cares for index being out or range.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
395
diff
changeset
|
271 |
line := textView listAt: lineNr. |
279
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
272 |
i := line size. |
458
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
273 |
i >= textView cursorCol ifTrue:[ |
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
274 |
[ i > 0 and:[ (c := line at:i) isSeparator ] ] whileTrue:[ i := i - 1 ]. |
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
275 |
i <= textView cursorCol ifFalse:[ |
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
276 |
"/ If not, do not indent... |
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
277 |
^ false |
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
278 |
]. |
279
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
279 |
]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
280 |
|
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
281 |
"/ Search for closest non-empty line above |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
282 |
lineNr := textView cursorLine. |
458
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
283 |
[ lineNr > 0 and:[ (line := textView list at: lineNr ifAbsent:[nil]) isEmptyOrNil ] ] whileTrue:[ lineNr := lineNr - 1 ]. |
279
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
284 |
lineNr == 0 ifTrue:[ |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
285 |
"/ No such line found, givin up |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
286 |
^ false. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
287 |
]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
288 |
indent := line indexOfNonSeparator. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
289 |
"/ Look for opening curly, if found, increase indent... |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
290 |
i := line size. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
291 |
[ i > 0 and:[ (c := line at:i) isSeparator ] ] whileTrue:[ i := i - 1 ]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
292 |
(i > 0 and:[ c == ${ ]) ifTrue:[ |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
293 |
indent := indent + 4. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
294 |
]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
295 |
textView undoableDo:[ |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
296 |
textView insertCharAtCursor:(Character cr). |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
297 |
textView cursorCol: indent. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
298 |
]. |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
299 |
^ true |
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
300 |
|
1dcaf8e06968
Improvement in JavaEditSupport - indent when return is pressed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
278
diff
changeset
|
301 |
"Created: / 13-08-2014 / 15:30:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
458
de41bf2025c0
Tests: fixed few bugs in electring edit support. More tests pass now.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
451
diff
changeset
|
302 |
"Modified: / 04-05-2015 / 00:17:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
303 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
304 |
|
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
305 |
!JavaEditSupport methodsFor:'initialization'! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
306 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
307 |
initializeForService: anEditService |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
308 |
super initializeForService: anEditService. |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
309 |
textView autoIndent:true. |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
310 |
|
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
311 |
"Created: / 27-09-2013 / 13:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
312 |
"Modified (format): / 12-02-2015 / 00:01:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
108
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
313 |
! ! |
71471dc81e77
Completion refactoring (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
67
diff
changeset
|
314 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
315 |
!JavaEditSupport methodsFor:'private'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
316 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
317 |
tokenAtCursorLine |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
318 |
| scanner token | |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
319 |
|
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
320 |
scanner := (Smalltalk at:#JavaScanner) for: (textView listAt: textView cursorLine) string. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
321 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
322 |
[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
323 |
[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
324 |
token := scanner nextToken. |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
325 |
(token ~~ #EOF and:[ scanner tokenEndPosition + 1 < textView cursorCol ]) |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
326 |
] whileTrue. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
327 |
] on: Error do:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
328 |
token := nil. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
329 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
330 |
^ token |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
331 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
332 |
"Created: / 04-08-2013 / 02:00:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
333 |
"Modified: / 12-02-2015 / 00:02:07 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
334 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
335 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
336 |
tokensAtCursorLine |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
337 |
| scanner token | |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
338 |
|
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
339 |
scanner := (Smalltalk at:#JavaScanner) for: (textView listAt: textView cursorLine) string. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
340 |
^ OrderedCollection streamContents:[:tokens | |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
341 |
[ token := scanner nextToken.token ~~ #EOF ] whileTrue:[ |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
342 |
tokens nextPut: token. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
343 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
344 |
]. |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
345 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
346 |
"Created: / 04-08-2013 / 01:57:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
395
25ed27eaeaae
Completion: added support for SmallSense completion in an inspector views.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
374
diff
changeset
|
347 |
"Modified: / 12-02-2015 / 00:02:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
348 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
349 |
|
139
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
350 |
!JavaEditSupport class methodsFor:'documentation'! |
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
351 |
|
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
352 |
version_HG |
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
353 |
|
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
354 |
^ '$Changeset: <not expanded> $' |
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
355 |
! ! |
bf1538a4e7ce
Fixed off-by-one bug when computing indent level for closing curly.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
134
diff
changeset
|
356 |