author | Jan Vrany <jan.vrany@labware.com> |
Fri, 12 Jun 2020 22:06:58 +0100 | |
changeset 1122 | 936418b830a2 |
parent 1081 | 42b3820ab722 |
child 1134 | 457279caac69 |
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:
252
diff
changeset
|
3 |
Copyright (C) 2013-2015 Jan Vrany |
1122
936418b830a2
Fix invalid completion when tab is pressed and completion is *UN*ambiguous
Jan Vrany <jan.vrany@labware.com>
parents:
1081
diff
changeset
|
4 |
Copyright (C) 2020 LabWare |
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
5 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
6 |
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
|
7 |
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
|
8 |
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
|
9 |
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
|
10 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
11 |
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
|
12 |
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
|
13 |
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
|
14 |
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
|
15 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
16 |
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
|
17 |
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
|
18 |
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
|
19 |
" |
249
8bc64027b189
Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
234
diff
changeset
|
20 |
"{ Package: 'stx:goodies/smallsense' }" |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
"{ NameSpace: SmallSense }" |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
PO subclass:#MethodPO |
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
25 |
instanceVariableNames:'selector classes' |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
classVariableNames:'' |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
poolDictionaries:'' |
67
020b7461b15e
Package structure reorganization.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
64
diff
changeset
|
28 |
category:'SmallSense-Core-Interface-PO' |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
31 |
!MethodPO class methodsFor:'documentation'! |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
32 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
33 |
copyright |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
34 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
35 |
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE |
374
e65bd2bf892a
Updated copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
36 |
Copyright (C) 2013-2015 Jan Vrany |
1122
936418b830a2
Fix invalid completion when tab is pressed and completion is *UN*ambiguous
Jan Vrany <jan.vrany@labware.com>
parents:
1081
diff
changeset
|
37 |
Copyright (C) 2020 LabWare |
252
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
38 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
39 |
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
|
40 |
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
|
41 |
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
|
42 |
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
|
43 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
44 |
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
|
45 |
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
|
46 |
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
|
47 |
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
|
48 |
|
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
49 |
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
|
50 |
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
|
51 |
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
|
52 |
" |
feba6ee5c814
Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
249
diff
changeset
|
53 |
! ! |
64
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 |
!MethodPO methodsFor:'accessing'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
|
234
97857872ee47
Initial set of tests for GroovyCompletionEngineSimple (along with some fixes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
233
diff
changeset
|
57 |
classes |
97857872ee47
Initial set of tests for GroovyCompletionEngineSimple (along with some fixes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
233
diff
changeset
|
58 |
^ classes |
97857872ee47
Initial set of tests for GroovyCompletionEngineSimple (along with some fixes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
233
diff
changeset
|
59 |
! |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
cursorColumnAfterComplete |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
| idx | |
230
2c12395f8108
PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
229
diff
changeset
|
64 |
idx := self label indexOf: $:. |
2c12395f8108
PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
229
diff
changeset
|
65 |
^idx == 0 ifTrue:[self label size + 1] ifFalse:[idx + 1]. |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
"Created: / 05-04-2011 / 17:08:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
230
2c12395f8108
PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
229
diff
changeset
|
68 |
"Modified: / 20-05-2014 / 11:43:43 / 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
|
69 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
|
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
71 |
cursorColumnAfterCompleteForLanguage: language |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
72 |
| stringToComplete idx | |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
73 |
|
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
74 |
stringToComplete := self stringToCompleteForLanguage: language. |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
75 |
language isSmalltalk ifTrue:[ |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
76 |
idx := stringToComplete indexOf: $:. |
1122
936418b830a2
Fix invalid completion when tab is pressed and completion is *UN*ambiguous
Jan Vrany <jan.vrany@labware.com>
parents:
1081
diff
changeset
|
77 |
^idx == 0 ifTrue:[stringToComplete size + 1] ifFalse:[idx]. |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
78 |
]. |
122 | 79 |
((language askFor: #isJava) or:[language askFor: #isGroovy]) ifTrue:[ |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
80 |
^ (stringToComplete at: stringToComplete size - 1) isSeparator |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
81 |
ifTrue:[stringToComplete size- 2] |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
82 |
ifFalse:[stringToComplete size] |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
83 |
]. |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
84 |
|
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
85 |
^ stringToComplete size + 1. |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
86 |
|
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
87 |
"Created: / 03-10-2013 / 16:50:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
127
98c615301608
Fixes for Java completion (for both Java/Groovy and Smalltalk)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
122
diff
changeset
|
88 |
"Modified: / 07-10-2013 / 12:30:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1122
936418b830a2
Fix invalid completion when tab is pressed and completion is *UN*ambiguous
Jan Vrany <jan.vrany@labware.com>
parents:
1081
diff
changeset
|
89 |
"Modified: / 12-06-2020 / 21:50:41 / Jan Vrany <jan.vrany@labware.com>" |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
90 |
! |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
91 |
|
232
a95a378b4248
PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
230
diff
changeset
|
92 |
hint |
376
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
93 |
classes size == 1 ifTrue:[ |
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
94 |
^ classes anElement nameWithoutNameSpacePrefix. |
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
95 |
]. |
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
96 |
classes size < 3 ifTrue:[ |
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
97 |
^ (classes collect:[:each | each nameWithoutPrefix ]) asArray asStringWith:' , '. |
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
98 |
]. |
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
99 |
^ '%1 implementors' bindWith: classes size. |
232
a95a378b4248
PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
230
diff
changeset
|
100 |
|
a95a378b4248
PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
230
diff
changeset
|
101 |
"Created: / 20-05-2014 / 12:27:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
376
55bc1e532591
Better hint in MethodPO: show class names only for up to 3 classes...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
373
diff
changeset
|
102 |
"Modified: / 23-01-2015 / 19:15:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
232
a95a378b4248
PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
230
diff
changeset
|
103 |
! |
a95a378b4248
PO refactoring: parametrized displayLabel:... method to ease customozation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
230
diff
changeset
|
104 |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
label |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
|
115 | 107 |
label isNil ifTrue:[ |
108 |
| someClass | |
|
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
|
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
110 |
someClass := classes anElement. |
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
111 |
label := selector. |
115 | 112 |
someClass programmingLanguage isSmalltalk ifFalse:[ |
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
113 |
label := (someClass compiledMethodAt: selector) printStringForBrowserWithSelector: selector. |
115 | 114 |
] |
115 |
]. |
|
1081
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
116 |
(classes size == 1 and:[ChangeSet current includesChangeForClass: classes anElement selector: selector]) ifTrue:[ |
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
117 |
label := label asText emphasisAllAdd:(UserPreferences current emphasisForChangedCode) |
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
118 |
] ifFalse:[ |
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
119 |
label isText ifTrue:[ |
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
120 |
label := label string. |
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
121 |
]. |
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
122 |
]. |
115 | 123 |
^ label |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
"Created: / 07-04-2011 / 09:56:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1081
42b3820ab722
For class and method PO's label, update "changed code" style each time label is returned
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
447
diff
changeset
|
126 |
"Modified: / 16-01-2019 / 23:54:47 / 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
|
127 |
! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
|
234
97857872ee47
Initial set of tests for GroovyCompletionEngineSimple (along with some fixes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
233
diff
changeset
|
129 |
selector |
97857872ee47
Initial set of tests for GroovyCompletionEngineSimple (along with some fixes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
233
diff
changeset
|
130 |
^ selector |
97857872ee47
Initial set of tests for GroovyCompletionEngineSimple (along with some fixes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
233
diff
changeset
|
131 |
! |
97857872ee47
Initial set of tests for GroovyCompletionEngineSimple (along with some fixes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
233
diff
changeset
|
132 |
|
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
133 |
stringToCompleteForLanguage: language |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
134 |
| someClass | |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
135 |
|
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
136 |
someClass := classes anElement. |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
137 |
someClass isJavaClass ifTrue:[ |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
138 |
| method | |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
139 |
|
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
140 |
method := someClass compiledMethodAt: selector. |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
141 |
language isSmalltalk ifTrue:[ |
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
142 |
^ selector upTo: $( |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
143 |
]. |
122 | 144 |
((language askFor: #isJava) or:[language askFor: #isGroovy]) ifTrue:[ |
212
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
145 |
| selector | |
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
146 |
|
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
147 |
selector := (method selector upTo: $(). |
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
148 |
selector = '<init>' ifTrue:[ |
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
149 |
selector := someClass lastName. |
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
150 |
]. |
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
151 |
selector := selector , (method numArgs == 0 ifTrue:['()'] ifFalse:['( )']). |
a2caebc602a7
Fixes and improvements for Java/Groovy completion (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
152 |
^ selector |
120
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
153 |
]. |
4fefce92f5bb
Initial support for Java/Groovy completion and for mixed-language completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
115
diff
changeset
|
154 |
]. |
447
2d45c613a5bd
Completion: fix in Smalltalk completion - include last double colon for keyword selectors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
382
diff
changeset
|
155 |
^selector isKeyword ifTrue:[ |
2d45c613a5bd
Completion: fix in Smalltalk completion - include last double colon for keyword selectors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
382
diff
changeset
|
156 |
String streamContents: [:s | selector keywords do:[:kw | s nextPutAll: kw; space; space ] ] |
2d45c613a5bd
Completion: fix in Smalltalk completion - include last double colon for keyword selectors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
382
diff
changeset
|
157 |
] ifFalse:[ |
2d45c613a5bd
Completion: fix in Smalltalk completion - include last double colon for keyword selectors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
382
diff
changeset
|
158 |
selector |
2d45c613a5bd
Completion: fix in Smalltalk completion - include last double colon for keyword selectors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
382
diff
changeset
|
159 |
]. |
115 | 160 |
|
161 |
"Created: / 02-10-2013 / 02:33:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
447
2d45c613a5bd
Completion: fix in Smalltalk completion - include last double colon for keyword selectors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
382
diff
changeset
|
162 |
"Modified: / 07-03-2015 / 10:43:58 / 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
|
163 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
|
346
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
165 |
!MethodPO methodsFor:'accessing-private'! |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
166 |
|
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
167 |
subject |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
168 |
"Return the real object for which the receiver |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
169 |
is a presentor. |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
170 |
|
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
171 |
For internal usage only." |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
172 |
|
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
173 |
classes size ~~ 1 ifTrue:[ |
373
1365a78e6e36
Support for searching for all implementors using Navigator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
354
diff
changeset
|
174 |
^ classes collect:[ :cls | cls compiledMethodAt: selector ] |
346
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
175 |
]. |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
176 |
^ classes anElement compiledMethodAt: selector |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
177 |
|
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
178 |
"Created: / 20-06-2014 / 11:11:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
373
1365a78e6e36
Support for searching for all implementors using Navigator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
354
diff
changeset
|
179 |
"Modified: / 14-01-2015 / 16:20:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
346
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
180 |
! ! |
88c1d211f9be
Reintroduced PO>>subject.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
343
diff
changeset
|
181 |
|
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
182 |
!MethodPO methodsFor:'initialization'! |
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
183 |
|
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
184 |
initializeWithClass: aClass selector: aSymbol |
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
185 |
^ self initializeWithClasses: (Array with: aClass) selector: aSymbol |
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
186 |
|
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
187 |
"Created: / 20-05-2014 / 10:32:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
90 | 188 |
! |
189 |
||
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
190 |
initializeWithClasses: anArray"Of Classes" selector: aSymbol |
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
191 |
selector := aSymbol. |
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
192 |
classes := anArray |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
193 |
|
229
c82a22d2153d
PO refactoring: get rid of subject instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
192
diff
changeset
|
194 |
"Created: / 20-05-2014 / 10:32:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
230
2c12395f8108
PO refactoring: get rid of name instvar.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
229
diff
changeset
|
195 |
"Modified: / 20-05-2014 / 11:34:32 / 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
|
196 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
197 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
198 |
!MethodPO methodsFor:'testing'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
200 |
isSmallSenseMethodPO |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
201 |
^ true |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
202 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
!MethodPO class methodsFor:'documentation'! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
version_HG |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
207 |
|
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
208 |
^ '$Changeset: <not expanded> $' |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
209 |
! |
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 |
version_SVN |
320
5242593726f0
Updated from upstream repository to revision 0a4845a0c211
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
252
diff
changeset
|
212 |
^ '$Id$' |
64
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
213 |
! ! |
2257d7223898
All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
214 |