Completion: added support for SmallSense completion in an inspector views.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 12 Feb 2015 00:30:40 +0000
changeset 395 25ed27eaeaae
parent 394 2877f9bcc95d
child 396 015297b155fe
Completion: added support for SmallSense completion in an inspector views. This required a little refactoring in completion contexts, engnes and edit support to remove all references to codeView and work with textView alone (as inspector do not use CodeView2)
.hgignore
Make.proto
SmallSense__AbstractJavaCompletionEngineSimple.st
SmallSense__CompletionContext.st
SmallSense__CompletionEngine.st
SmallSense__CompletionEngineTests.st
SmallSense__EditSupport.st
SmallSense__JavaCompletionEngine.st
SmallSense__JavaEditSupport.st
SmallSense__PO.st
SmallSense__SmalltalkCompletionEngine.st
SmallSense__SmalltalkCompletionEngineTests.st
SmallSense__SmalltalkEditSupport.st
abbrev.stc
bc.mak
extensions.st
smallsense.rc
stx_goodies_smallsense.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore	Thu Feb 12 00:30:40 2015 +0000
@@ -0,0 +1,16 @@
+
+syntax: glob
+*Init.c   
+makefile
+*.so
+*.H
+*.o
+*.STH
+*.sc
+objbc
+objvc
+*.class
+java/libs/*.jar
+java/libs-src/*.jar
+*-Test.xml
+st.chg
--- a/Make.proto	Wed Feb 11 22:38:49 2015 +0000
+++ b/Make.proto	Thu Feb 12 00:30:40 2015 +0000
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/helpers -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/regex -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libhtml -I$(INCLUDE_TOP)/stx/libjava -I$(INCLUDE_TOP)/stx/libjava/tools -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/helpers -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/regex -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libhtml -I$(INCLUDE_TOP)/stx/libjava -I$(INCLUDE_TOP)/stx/libjava/tools -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2
 
 
 # if you need any additional defines for embedded C code,
@@ -134,6 +134,7 @@
 	cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../refactoryBrowser/browser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../refactoryBrowser/lint && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
@@ -219,7 +220,7 @@
 $(OUTDIR)SmallSense__MethodKeywordRestPO.$(O) SmallSense__MethodKeywordRestPO.$(H): SmallSense__MethodKeywordRestPO.st $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__MethodPO.$(H) $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__JavaCompletionEngineSimple.$(O) SmallSense__JavaCompletionEngineSimple.$(H): SmallSense__JavaCompletionEngineSimple.st $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__AbstractJavaCompletionEngine.$(H) $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__AbstractJavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__GroovyCompletionEngineSimple.$(O) SmallSense__GroovyCompletionEngineSimple.$(H): SmallSense__GroovyCompletionEngineSimple.st $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__AbstractJavaCompletionEngine.$(H) $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__AbstractJavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)/stx/goodies/smallsense/SmallSense__JavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBBasicLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBBlockLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBContainsSmalltalkXEOLCommentRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBTransformationRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBBlockNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBMethodNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBStatementNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBValueNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libcomp/AssignmentNode.$(H) $(INCLUDE_TOP)/stx/libcomp/BlockNode.$(H) $(INCLUDE_TOP)/stx/libcomp/MessageNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseErrorNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimaryNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimitiveNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ReturnNode.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libcomp/StatementNode.$(H) $(INCLUDE_TOP)/stx/libcomp/VariableNode.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentFrame.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentView.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__LintService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NavigationState.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextViewCompletionSupport.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBBasicLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBBlockLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBContainsSmalltalkXEOLCommentRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBTransformationRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBBlockNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBMethodNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBStatementNode.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBValueNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libcomp/AssignmentNode.$(H) $(INCLUDE_TOP)/stx/libcomp/BlockNode.$(H) $(INCLUDE_TOP)/stx/libcomp/MessageNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseErrorNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimaryNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimitiveNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ReturnNode.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libcomp/StatementNode.$(H) $(INCLUDE_TOP)/stx/libcomp/VariableNode.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentFrame.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentView.$(H) $(INCLUDE_TOP)/stx/libtool/InspectorView.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__LintService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NavigationState.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextViewCompletionSupport.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/SmallSense__AbstractJavaCompletionEngineSimple.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__AbstractJavaCompletionEngineSimple.st	Thu Feb 12 00:30:40 2015 +0000
@@ -183,7 +183,7 @@
 
     imports := OrderedCollection new.
     locals := Dictionary new.
-    scanner := self scannerClass for: codeView contents.
+    scanner := self scannerClass for: textView contents.
     scanner allowRunawayString: true.  
     stream := TokenStream on: scanner.
     self patternsForAnalysis keysAndValuesDo:[ :action :pattern |
@@ -251,8 +251,8 @@
 complete
     | line col scanner stream tokens anyMatched |
 
-    line := codeView listAt: codeView cursorLine.
-    col := codeView cursorCol.
+    line := textView listAt: textView cursorLine.
+    col := textView cursorCol.
     line isNil ifTrue:[ ^ nil ].
     line size < (col - 1) ifTrue:[ ^ nil ].
 
--- a/SmallSense__CompletionContext.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__CompletionContext.st	Thu Feb 12 00:30:40 2015 +0000
@@ -61,12 +61,6 @@
 
 !CompletionContext methodsFor:'accessing'!
 
-codeView
-    ^ support codeView
-
-    "Modified: / 21-01-2014 / 23:16:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 environment
     "Return an system environment for completion."
 
@@ -83,21 +77,6 @@
     "Modified (comment): / 13-05-2014 / 11:55:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-klass
-    "Return a class in which to complete, i.e., class whose source is being edited. 
-     If there's no class set, return nil (for example, for XML there's no such thing
-     like class)"
-
-     | codeView |
-
-     codeView := self codeView.
-     ^ codeView isCodeView2
-                 ifTrue: [ codeView klass ]
-                 ifFalse: [ codeView editedClass ].
-
-    "Created: / 24-07-2014 / 12:09:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 language
     "Return a programming language in which to complete. i.e., the language of edited source code"
 
@@ -117,6 +96,12 @@
 
 support
     ^ support
+!
+
+textView
+    ^ support textView
+
+    "Created: / 11-02-2015 / 23:50:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !CompletionContext methodsFor:'initialization'!
--- a/SmallSense__CompletionEngine.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__CompletionEngine.st	Thu Feb 12 00:30:40 2015 +0000
@@ -21,7 +21,7 @@
 "{ NameSpace: SmallSense }"
 
 Object subclass:#CompletionEngine
-	instanceVariableNames:'codeView result context'
+	instanceVariableNames:'textView result context'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SmallSense-Core'
@@ -110,11 +110,12 @@
 
     context := aCompletionContext.
     result := CompletionResult new.
-    codeView := context codeView.
+    textView := context textView.
     result context: context.
     ^ self complete.
 
     "Created: / 21-01-2014 / 23:07:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:52:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !CompletionEngine methodsFor:'completion-individual'!
--- a/SmallSense__CompletionEngineTests.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__CompletionEngineTests.st	Thu Feb 12 00:30:40 2015 +0000
@@ -23,7 +23,7 @@
 "{ NameSpace: SmallSense }"
 
 AbstractTestCase subclass:#CompletionEngineTests
-	instanceVariableNames:'engine context result'
+	instanceVariableNames:'engine context result codeView'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SmallSense-Tests'
@@ -81,9 +81,9 @@
 !CompletionEngineTests methodsFor:'running'!
 
 setUp
-    | service support codeView |
+    | service support  |
+
     engine := self completionEngineClass new.
-
     codeView := Tools::CodeView2 new.
     service := EditService new.
     service registerIn: codeView.  
@@ -94,6 +94,7 @@
     context environment: self environment.
 
     "Created: / 22-05-2014 / 16:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 12-02-2015 / 00:08:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 tearDown
@@ -108,7 +109,7 @@
      | list textView |
 
     list := aString asStringCollection.
-    textView := context codeView textView.
+    textView := codeView textView.
     textView list: list.
     1 to: list size do:[:i |  
         | line cursorCol |
@@ -124,6 +125,7 @@
     ^ result := engine complete: context
 
     "Created: / 22-05-2014 / 16:56:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:10:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !CompletionEngineTests class methodsFor:'documentation'!
--- a/SmallSense__EditSupport.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__EditSupport.st	Thu Feb 12 00:30:40 2015 +0000
@@ -21,7 +21,7 @@
 "{ NameSpace: SmallSense }"
 
 Object subclass:#EditSupport
-	instanceVariableNames:'service codeView textView backspaceIsUndo completionController
+	instanceVariableNames:'textView backspaceIsUndo completionController
 		completionEnvironment snippets ignoreKeystrokes
 		ignoreKeystrokesPosition'
 	classVariableNames:''
@@ -75,19 +75,11 @@
 
 !EditSupport methodsFor:'accessing'!
 
-codeView
-    ^ codeView
-
-    "Created: / 21-01-2014 / 23:13:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-02-2014 / 23:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 environment
-    "raise an error: this method should be implemented (TODO)"
-
-    ^ service environment
+    ^ completionEnvironment ? Smalltalk
 
     "Created: / 15-05-2014 / 16:44:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:58:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 language
@@ -96,10 +88,6 @@
     "Created: / 24-07-2013 / 23:44:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-service
-    ^ service
-!
-
 textView
     ^ textView
 
@@ -360,24 +348,30 @@
 
     UserPreferences current smallSenseCompletionEnabled ifTrue:[
         self completionEngineClass notNil ifTrue:[
-            controller := self completionControllerClass for: service textView.
+            controller := self completionControllerClass for: textView.
             controller support: self.
-            service textView completionSupport: controller.
+            textView completionSupport: controller.
         ].
     ].
 
     "Created: / 18-05-2014 / 12:40:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:44:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-initializeForService:aSmallSenseService
-    service := aSmallSenseService.
-    codeView := aSmallSenseService codeView.
-    textView := aSmallSenseService textView.
+initializeForService:anEditService
+    completionEnvironment := anEditService environment.
+    self initializeForTextView: anEditService textView.
+
+    "Created: / 27-09-2013 / 13:19:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:16:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+initializeForTextView: anEditTextView
+    textView := anEditTextView.
     backspaceIsUndo := false.
     self initializeCompletion.
 
-    "Created: / 27-09-2013 / 13:19:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-02-2014 / 23:28:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Created: / 12-02-2015 / 00:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !EditSupport methodsFor:'private'!
@@ -385,15 +379,15 @@
 indentAtCursorLine
     | line |
 
-    line := service textView listAt: service textView cursorLine.
+    line := textView listAt: textView cursorLine.
     ^ line isNil ifTrue:[
-        (service textView cursorCol - 1) max: 0.
+        (textView cursorCol - 1) max: 0.
     ] ifFalse:[
         (line indexOfNonSeparator - 1) max: 0.
     ]
 
     "Created: / 25-07-2013 / 00:13:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-10-2013 / 18:04:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:44:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 wordBeforeCursor
@@ -449,7 +443,7 @@
     | line scanner token tokenLastEndPosition |
 
     scannerClass isNil ifTrue:[ ^ #() ].
-    line := (service textView listAt: service textView cursorLine).
+    line := textView listAt: textView cursorLine.
     line isNil ifTrue:[ ^ #() ].
     scanner := scannerClass for: line string.
     tokenLastEndPosition := 0.
@@ -472,7 +466,7 @@
     ].
 
     "Created: / 22-10-2013 / 00:31:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 22-10-2013 / 12:01:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:43:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 scanLineAtCursor
@@ -482,9 +476,10 @@
      by four subsequent items in the array: token type, token value, start position, end position.
      Thus, returned array size is always multiple of 4."
 
-    ^ self scanLineAt: service codeView textView cursorLine using: self scannerClass
+    ^ self scanLineAt: textView cursorLine using: self scannerClass
 
     "Created: / 22-10-2013 / 00:34:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:44:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !EditSupport class methodsFor:'documentation'!
--- a/SmallSense__JavaCompletionEngine.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__JavaCompletionEngine.st	Thu Feb 12 00:30:40 2015 +0000
@@ -162,10 +162,10 @@
     
     | position source rslt problemReporter parser tree searcher resolver  |
 
-    position := context codeView characterPositionOfCursor.
+    position := textView characterPositionOfCursor.
 
     source := JAVA stx libjava tools Source new.
-    source setContents: codeView list asStringWithoutEmphasis.
+    source setContents: textView list asStringWithoutEmphasis.
 "/    parser := JAVA stx libjava tools parser Parser new.
     rslt := JAVA org eclipse jdt internal compiler CompilationResult
                 new: source _: 1 _: 1 _: 1000.  
@@ -209,6 +209,6 @@
     ^ result
 
     "Created: / 02-10-2013 / 13:55:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 13-08-2014 / 21:08:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:13:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
--- a/SmallSense__JavaEditSupport.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__JavaEditSupport.st	Thu Feb 12 00:30:40 2015 +0000
@@ -100,7 +100,7 @@
     lastToken0 = 'Error' ifTrue:[
         ^ false
     ].
-    (tokens last > service textView cursorCol) ifTrue:[
+    (tokens last > textView cursorCol) ifTrue:[
         ^ false
     ].
     
@@ -121,10 +121,10 @@
         (tokens size > 4 and:[ (tokens at:tokens size - 7) == $} ]) ifTrue:[
             | cursorLine  cursorCol |
 
-            cursorLine := service textView cursorLine.
-            cursorCol := service textView cursorCol.
+            cursorLine := textView cursorLine.
+            cursorCol := textView cursorCol.
             self electricInsertBlockOpenedBy:' (  ) {' closedBy:'}'.
-            service textView cursorLine:cursorLine col:cursorCol + 3.
+            textView cursorLine:cursorLine col:cursorCol + 3.
             ^ true.
         ].
     ].
@@ -144,10 +144,10 @@
         (tokens size = 4) ifTrue:[
             | cursorLine  cursorCol |
 
-            cursorLine := service textView cursorLine.
-            cursorCol := service textView cursorCol.
+            cursorLine := textView cursorLine.
+            cursorCol := textView cursorCol.
             self electricInsertBlockOpenedBy:' (  ) {' closedBy:'}'.
-            service textView cursorLine:cursorLine col:cursorCol + 3.
+            textView cursorLine:cursorLine col:cursorCol + 3.
             ^ true.
         ].
     ].
@@ -158,16 +158,17 @@
         (tokens size = 4) ifTrue:[
             | cursorLine  cursorCol |
 
-            cursorLine := service textView cursorLine.
-            cursorCol := service textView cursorCol.
+            cursorLine := textView cursorLine.
+            cursorCol := textView cursorCol.
             self electricInsertBlockOpenedBy:' ( ; ; ) {' closedBy:'}'.
-            service textView cursorLine:cursorLine col:cursorCol + 3.
+            textView cursorLine:cursorLine col:cursorCol + 3.
             ^ true.
         ].
     ].
     ^ false
 
     "Created: / 22-10-2013 / 01:53:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:00:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaEditSupport methodsFor:'event handling'!
@@ -219,11 +220,11 @@
 keyPressOpenCurly
     | line tokens i |
 
-    line := service codeView listAt: service codeView cursorLine.
+    line := textView listAt: textView cursorLine.
     line notEmptyOrNil ifTrue:[
         i := line size.
         [ i > 0 and:[(line at: i) isSeparator] ] whileTrue:[ i := i - 1 ].
-        (i ~~ 0 and:[service codeView cursorCol < i]) ifTrue:[
+        (i ~~ 0 and:[textView cursorCol < i]) ifTrue:[
             ^ false.        ].
     ] ifFalse:[
         self electricInsertBlockOpenedBy:'{' closedBy:'}'. 
@@ -234,7 +235,7 @@
     tokens notEmptyOrNil ifTrue:[
         | column |
 
-        column := service textView cursorCol.
+        column := textView cursorCol.
         (tokens at: tokens size - 3) = 'Error' ifTrue:[ ^ false ].
         1 to: tokens size - 3 by: 4 do:[:i |
             (column between: (tokens at: i + 2) and: (tokens at: i + 3)) ifTrue:[
@@ -250,7 +251,7 @@
     ^ true
 
     "Created: / 04-08-2013 / 01:54:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-10-2013 / 18:03:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:01:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 keyPressReturn
@@ -301,9 +302,10 @@
 
 initializeForService: anEditService    
     super initializeForService: anEditService.
-    service textView  autoIndent:true.
+    textView autoIndent:true.
 
     "Created: / 27-09-2013 / 13:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (format): / 12-02-2015 / 00:01:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaEditSupport methodsFor:'private'!
@@ -311,12 +313,12 @@
 tokenAtCursorLine
     | scanner token |
 
-    scanner := (Smalltalk at:#JavaScanner) for: (service textView listAt: service textView cursorLine) string.
+    scanner := (Smalltalk at:#JavaScanner) for: (textView listAt: textView cursorLine) string.
 
     [ 
         [ 
             token := scanner nextToken.
-            (token ~~ #EOF and:[ scanner tokenEndPosition + 1 < service textView cursorCol ])
+            (token ~~ #EOF and:[ scanner tokenEndPosition + 1 < textView cursorCol ])
         ] whileTrue.
     ] on: Error do:[
         token := nil.
@@ -324,13 +326,13 @@
     ^ token
 
     "Created: / 04-08-2013 / 02:00:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-08-2013 / 03:10:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:02:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 tokensAtCursorLine
     | scanner token |
 
-    scanner := (Smalltalk at:#JavaScanner) for: (service textView listAt: service textView cursorLine) string.
+    scanner := (Smalltalk at:#JavaScanner) for: (textView listAt: textView cursorLine) string.
     ^ OrderedCollection streamContents:[:tokens |
         [ token := scanner nextToken.token ~~ #EOF ] whileTrue:[
             tokens nextPut: token.
@@ -338,6 +340,7 @@
     ].
 
     "Created: / 04-08-2013 / 01:57:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:02:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaEditSupport class methodsFor:'documentation'!
--- a/SmallSense__PO.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__PO.st	Thu Feb 12 00:30:40 2015 +0000
@@ -286,7 +286,7 @@
     | po stringToComplete stringAlreadyWritten stringToInsert textView |
 
     po := self.
-    textView := context codeView.
+    textView := context textView.
     stringToComplete := po stringToCompleteForLanguage: context language.
     stringAlreadyWritten := self stringAlreadyWritten.
     stringToInsert := stringToComplete copyFrom: (stringAlreadyWritten size + 1).
@@ -309,7 +309,7 @@
     ].
 
     "Created: / 17-10-2013 / 01:08:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 16-02-2014 / 00:02:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:53:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !PO methodsFor:'displaying'!
--- a/SmallSense__SmalltalkCompletionEngine.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__SmalltalkCompletionEngine.st	Thu Feb 12 00:30:40 2015 +0000
@@ -392,17 +392,17 @@
 
     | class |
 
-    codeView := context codeView.
-    class := codeView isCodeView2
-                ifTrue: [ codeView klass ]
-                ifFalse: [ codeView editedClass ].
+    textView := context textView.
+    class := textView isCodeView2
+                ifTrue: [ textView klass ]
+                ifFalse: [ textView editedClass ].
     class isNil ifTrue:[
         class := UndefinedObject.
     ].
-    ^ self complete: codeView codeAspect source: codeView contents string class: class line: codeView cursorLine column: codeView cursorCol
+    ^ self complete: textView codeAspect source: textView contents string class: class line: textView cursorLine column: textView cursorCol
 
     "Created: / 02-10-2013 / 13:32:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 22-05-2014 / 17:00:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:53:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 complete: mode source: source class: class line: lineNrArg column: colNrArg
@@ -417,7 +417,7 @@
 
         lineNr := 1.
         colNr := colNrArg.
-        line := codeView list at: lineNrArg ifAbsent:[ nil ].
+        line := textView list at: lineNrArg ifAbsent:[ nil ].
         line isEmptyOrNil ifTrue:[ ^ nil ].
         inferencer := SmalltalkInferencer forExpression: line.
     ].
--- a/SmallSense__SmalltalkCompletionEngineTests.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__SmalltalkCompletionEngineTests.st	Thu Feb 12 00:30:40 2015 +0000
@@ -66,8 +66,8 @@
 
 test_classes_01a
 
-    context codeView classHolder value: self class.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: self class.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ SmalltalkCompletionEngineTe┃'.
 
@@ -75,12 +75,13 @@
     self assert: (result select:[:each | each isSmallSenseClassPO and:[each klass == SmalltalkCompletionEngineTests]]) size == 1.
 
     "Created: / 24-07-2014 / 15:12:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:08:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_classes_01b
 
-    context codeView classHolder value: self class.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: self class.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ OrderedColl┃'.
 
@@ -88,12 +89,13 @@
     self assert: (result select:[:each | each isSmallSenseClassPO and:[each klass == OrderedCollection]]) size == 1.
 
     "Created: / 24-07-2014 / 15:12:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:10:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_classes_01c
 
-    context codeView classHolder value: self class.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: self class.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ OperatingSyst┃'.
 
@@ -101,12 +103,13 @@
     self assert: (result select:[:each | each isSmallSenseVariablePO and:[each name = 'OperatingSystem' ]]) size == 1.
 
     "Created: / 24-07-2014 / 15:14:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:10:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_classes_02a
 
-    context codeView classHolder value: self class.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: self class.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ Phase┃'.
 
@@ -114,12 +117,13 @@
     self assert: (result select:[:each | each isSmallSenseClassPO and:[each klass = SmalltalkInferencer::Phase1 ]]) size == 1.
 
     "Created: / 24-07-2014 / 17:50:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:10:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_classes_02b
 
-    context codeView classHolder value: self class.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: self class.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ SmalltalkInfe┃'.
 
@@ -127,12 +131,13 @@
     self assert: (result select:[:each | each isSmallSenseClassPO and:[each klass = SmalltalkInferencer::Phase1 ]]) size == 1.
 
     "Created: / 24-07-2014 / 17:50:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:10:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_classes_03
 
-    context codeView classHolder value: self class.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: self class.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ ClassL┃'.
 
@@ -140,12 +145,13 @@
     self assert: (result select:[:each | each isSmallSenseClassPO and:[each klass = Tools::ClassList ]]) size == 1.
 
     "Created: / 24-07-2014 / 17:53:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:10:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_classes_04
 
-    context codeView classHolder value: SmalltalkInferencer.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: SmalltalkInferencer.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ Pha┃'.
 
@@ -154,12 +160,13 @@
     self assert: (result select:[:each | each isSmallSenseClassPO and:[each klass = SmalltalkInferencer::Phase2 ]]) size == 1.
 
     "Created: / 24-07-2014 / 19:10:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:11:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 test_classes_05
 
-    context codeView classHolder value: SmalltalkInferencer.
-    context codeView codeAspect: #method. 
+    codeView classHolder value: SmalltalkInferencer.
+    codeView codeAspect: #method. 
     self complete:'foo
     ^ Scree┃'.
 
@@ -167,5 +174,6 @@
     self assert: (result select:[:each | each isSmallSenseVariablePO and:[each name = 'Screen' ]]) size == 1.
 
     "Created: / 24-07-2014 / 19:54:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:11:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
--- a/SmallSense__SmalltalkEditSupport.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/SmallSense__SmalltalkEditSupport.st	Thu Feb 12 00:30:40 2015 +0000
@@ -185,11 +185,11 @@
     lastToken0 = 'Error' ifTrue:[
         ^ false
     ].
-    (tokens last > service textView cursorCol) ifTrue:[
+    (tokens last > textView cursorCol) ifTrue:[
         ^ false
     ].
     ((lastToken0 == #Identifier)
-        and:[ (service textView cursorCol - 1) == tokens last ])
+        and:[ (textView cursorCol - 1) == tokens last ])
             ifTrue:[
                 lastValue0 := tokens at:tokens size - 2.
                 tokens size > 4 ifTrue:[
@@ -225,7 +225,7 @@
     ^ false.
 
     "Created: / 22-10-2013 / 03:05:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 22-10-2013 / 12:00:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:02:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 electricInsertSnippetAfterSpace
@@ -239,7 +239,7 @@
     lastToken0 = 'Error' ifTrue:[
         ^ false
     ].
-    (tokens last > service textView cursorCol) ifTrue:[
+    (tokens last > textView cursorCol) ifTrue:[
         ^ false
     ].
     lastToken0 == #Keyword ifTrue:[
@@ -270,7 +270,7 @@
     ^ false.
 
     "Created: / 22-10-2013 / 03:00:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 23-05-2014 / 11:28:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:02:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !SmalltalkEditSupport methodsFor:'event handling'!
@@ -557,10 +557,10 @@
 
 initializeForService: anEditService
     super initializeForService: anEditService.
-    service textView autoIndent:true.
+    anEditService textView autoIndent:true.
 
     "Created: / 27-09-2013 / 13:22:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 03-10-2013 / 17:44:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 11-02-2015 / 23:59:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !SmalltalkEditSupport methodsFor:'private'!
@@ -568,7 +568,7 @@
 tokensAtCursorLine
     | line scanner token |
 
-    line := (service textView listAt: service textView cursorLine) string.
+    line := (textView listAt: textView cursorLine) string.
     line := line copyTo: textView cursorCol - 1.
     line isEmpty ifTrue:[ ^ #() ].
     scanner := Scanner for: line.
@@ -579,7 +579,7 @@
     ].
 
     "Created: / 25-07-2013 / 00:07:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 22-01-2014 / 21:41:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-02-2015 / 00:02:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !SmalltalkEditSupport class methodsFor:'documentation'!
--- a/abbrev.stc	Wed Feb 11 22:38:49 2015 +0000
+++ b/abbrev.stc	Thu Feb 12 00:30:40 2015 +0000
@@ -1,6 +1,7 @@
 # automagically generated by the project definition
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
+SmallSense::AbstractTestCase SmallSense__AbstractTestCase stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::CodeHighlightingService SmallSense__CodeHighlightingService stx:goodies/smallsense 'SmallSense-Core-Services' 0
 SmallSense::CodeNavigationService SmallSense__CodeNavigationService stx:goodies/smallsense 'SmallSense-Core-Services' 0
 SmallSense::CompletionContext SmallSense__CompletionContext stx:goodies/smallsense 'SmallSense-Core' 0
@@ -12,6 +13,7 @@
 SmallSense::EditService SmallSense__EditService stx:goodies/smallsense 'SmallSense-Core-Services' 0
 SmallSense::EditSupport SmallSense__EditSupport stx:goodies/smallsense 'SmallSense-Core-Services' 0
 SmallSense::Info SmallSense__Info stx:goodies/smallsense 'SmallSense-Smalltalk-Types-Info' 0
+SmallSense::JavaCompletionEngineEnvironmentResource SmallSense__JavaCompletionEngineEnvironmentResource stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::Manager SmallSense__Manager stx:goodies/smallsense 'SmallSense-Smalltalk-Types-Info' 0
 SmallSense::PO SmallSense__PO stx:goodies/smallsense 'SmallSense-Core-Interface-PO' 0
 SmallSense::ParseTreeIndex SmallSense__ParseTreeIndex stx:goodies/smallsense 'SmallSense-Core-Index' 0
@@ -28,6 +30,7 @@
 SmallSense::SmalltalkSyntaxHighlighter SmallSense__SmalltalkSyntaxHighlighter stx:goodies/smallsense 'SmallSense-Smalltalk' 3
 SmallSense::SmalltalkUnacceptedMethodEnvironment SmallSense__SmalltalkUnacceptedMethodEnvironment stx:goodies/smallsense 'SmallSense-Smalltalk-Lint' 0
 SmallSense::TokenPatternMatcher SmallSense__TokenPatternMatcher stx:goodies/smallsense 'SmallSense-Utils-Matcher' 0
+SmallSense::TokenPatternMatcherTests SmallSense__TokenPatternMatcherTests stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::TokenPatternParser SmallSense__TokenPatternParser stx:goodies/smallsense 'SmallSense-Utils-Matcher' 0
 SmallSense::TokenPatternToken SmallSense__TokenPatternToken stx:goodies/smallsense 'SmallSense-Utils-Matcher' 0
 SmallSense::TokenPatternTokenSet SmallSense__TokenPatternTokenSet stx:goodies/smallsense 'SmallSense-Utils-Matcher' 0
@@ -39,7 +42,9 @@
 SmallSense::ClassInfo SmallSense__ClassInfo stx:goodies/smallsense 'SmallSense-Smalltalk-Types-Info' 0
 SmallSense::ClassPO SmallSense__ClassPO stx:goodies/smallsense 'SmallSense-Core-Interface-PO' 0
 SmallSense::ClassType SmallSense__ClassType stx:goodies/smallsense 'SmallSense-Smalltalk-Types' 0
+SmallSense::CompletionEngineTests SmallSense__CompletionEngineTests stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::ConstantPO SmallSense__ConstantPO stx:goodies/smallsense 'SmallSense-Core-Interface-PO' 0
+SmallSense::EditSupportTests SmallSense__EditSupportTests stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::GenericEditSupport SmallSense__GenericEditSupport stx:goodies/smallsense 'SmallSense-Core-Services' 0
 SmallSense::JavaEditSupport SmallSense__JavaEditSupport stx:goodies/smallsense 'SmallSense-Java' 0
 SmallSense::JavaImportPO SmallSense__JavaImportPO stx:goodies/smallsense 'SmallSense-Java-Interface-PO' 0
@@ -56,25 +61,20 @@
 SmallSense::VariableBindingPO SmallSense__VariableBindingPO stx:goodies/smallsense 'SmallSense-Java-Interface-PO' 0
 SmallSense::VariablePO SmallSense__VariablePO stx:goodies/smallsense 'SmallSense-Core-Interface-PO' 0
 SmallSense::AbstractJavaCompletionEngineSimple SmallSense__AbstractJavaCompletionEngineSimple stx:goodies/smallsense 'SmallSense-Java' 2
+SmallSense::AbstractJavaCompletionEngineTests SmallSense__AbstractJavaCompletionEngineTests stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::GroovyEditSupport SmallSense__GroovyEditSupport stx:goodies/smallsense 'SmallSense-Groovy' 0
 SmallSense::JavaCompletionEngine SmallSense__JavaCompletionEngine stx:goodies/smallsense 'SmallSense-Java' 0
 SmallSense::JavaConstructorPO SmallSense__JavaConstructorPO stx:goodies/smallsense 'SmallSense-Java-Interface-PO' 0
+SmallSense::JavaEditSupportTests SmallSense__JavaEditSupportTests stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::MethodKeywordRestPO SmallSense__MethodKeywordRestPO stx:goodies/smallsense 'SmallSense-Core-Interface-PO' 0
-SmallSense::JavaCompletionEngineSimple SmallSense__JavaCompletionEngineSimple stx:goodies/smallsense 'SmallSense-Java' 2
-SmallSense::GroovyCompletionEngineSimple SmallSense__GroovyCompletionEngineSimple stx:goodies/smallsense 'SmallSense-Groovy' 2
-SmallSense::AbstractJavaCompletionEngineTests SmallSense__AbstractJavaCompletionEngineTests stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::AbstractTestCase SmallSense__AbstractTestCase stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::BaseTestClass SmallSense__BaseTestClass stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
-SmallSense::CompletionEngineTests SmallSense__CompletionEngineTests stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::EditSupportTests SmallSense__EditSupportTests stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::FinderTests SmallSense__FinderTests stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
-SmallSense::GroovyCompletionEngineSimpleTests SmallSense__GroovyCompletionEngineSimpleTests stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::JavaCompletionEngineEnvironmentResource SmallSense__JavaCompletionEngineEnvironmentResource stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::JavaCompletionEngineTests SmallSense__JavaCompletionEngineTests stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::JavaEditSupportTests SmallSense__JavaEditSupportTests stx:goodies/smallsense 'SmallSense-Tests' 1
-SmallSense::RecognizerTests SmallSense__RecognizerTests stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
 SmallSense::SmalltalkCompletionEngineTests SmallSense__SmalltalkCompletionEngineTests stx:goodies/smallsense 'SmallSense-Tests' 1
 SmallSense::SmalltalkEditSupportTests SmallSense__SmalltalkEditSupportTests stx:goodies/smallsense 'SmallSense-Tests' 1
+SmallSense::GroovyCompletionEngineSimpleTests SmallSense__GroovyCompletionEngineSimpleTests stx:goodies/smallsense 'SmallSense-Tests' 1
+SmallSense::JavaCompletionEngineSimple SmallSense__JavaCompletionEngineSimple stx:goodies/smallsense 'SmallSense-Java' 2
+SmallSense::JavaCompletionEngineTests SmallSense__JavaCompletionEngineTests stx:goodies/smallsense 'SmallSense-Tests' 1
+SmallSense::GroovyCompletionEngineSimple SmallSense__GroovyCompletionEngineSimple stx:goodies/smallsense 'SmallSense-Groovy' 2
+SmallSense::BaseTestClass SmallSense__BaseTestClass stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
+SmallSense::FinderTests SmallSense__FinderTests stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
+SmallSense::RecognizerTests SmallSense__RecognizerTests stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
 SmallSense::SmalltalkParserTests SmallSense__SmalltalkParserTests stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
 SmallSense::TestCase SmallSense__TestCase stx:goodies/smallsense 'SmallSense-Tests-Obsolete' 1
-SmallSense::TokenPatternMatcherTests SmallSense__TokenPatternMatcherTests stx:goodies/smallsense 'SmallSense-Tests' 1
--- a/bc.mak	Wed Feb 11 22:38:49 2015 +0000
+++ b/bc.mak	Thu Feb 12 00:30:40 2015 +0000
@@ -35,7 +35,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\helpers -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\regex -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libhtml -I$(INCLUDE_TOP)\stx\libjava -I$(INCLUDE_TOP)\stx\libjava\tools -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\helpers -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\regex -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libhtml -I$(INCLUDE_TOP)\stx\libjava -I$(INCLUDE_TOP)\stx\libjava\tools -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -62,6 +62,7 @@
 	pushd ..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\refactoryBrowser\browser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\refactoryBrowser\lint & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
@@ -144,7 +145,7 @@
 $(OUTDIR)SmallSense__MethodKeywordRestPO.$(O) SmallSense__MethodKeywordRestPO.$(H): SmallSense__MethodKeywordRestPO.st $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__MethodPO.$(H) $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__JavaCompletionEngineSimple.$(O) SmallSense__JavaCompletionEngineSimple.$(H): SmallSense__JavaCompletionEngineSimple.st $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__AbstractJavaCompletionEngine.$(H) $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__AbstractJavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSense__GroovyCompletionEngineSimple.$(O) SmallSense__GroovyCompletionEngineSimple.$(H): SmallSense__GroovyCompletionEngineSimple.st $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__AbstractJavaCompletionEngine.$(H) $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__AbstractJavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)\stx\goodies\smallsense\SmallSense__JavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBBasicLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBBlockLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBContainsSmalltalkXEOLCommentRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBTransformationRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBBlockNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBMethodNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBStatementNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBValueNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libcomp\AssignmentNode.$(H) $(INCLUDE_TOP)\stx\libcomp\BlockNode.$(H) $(INCLUDE_TOP)\stx\libcomp\MessageNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseErrorNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimaryNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimitiveNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ReturnNode.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(INCLUDE_TOP)\stx\libcomp\StatementNode.$(H) $(INCLUDE_TOP)\stx\libcomp\VariableNode.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentFrame.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentView.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__LintService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NavigationState.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextViewCompletionSupport.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBBasicLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBBlockLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBContainsSmalltalkXEOLCommentRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBTransformationRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBBlockNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBMethodNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBStatementNode.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBValueNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libcomp\AssignmentNode.$(H) $(INCLUDE_TOP)\stx\libcomp\BlockNode.$(H) $(INCLUDE_TOP)\stx\libcomp\MessageNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseErrorNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimaryNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimitiveNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ReturnNode.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(INCLUDE_TOP)\stx\libcomp\StatementNode.$(H) $(INCLUDE_TOP)\stx\libcomp\VariableNode.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentFrame.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentView.$(H) $(INCLUDE_TOP)\stx\libtool\InspectorView.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__LintService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NavigationState.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextViewCompletionSupport.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/extensions.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/extensions.st	Thu Feb 12 00:30:40 2015 +0000
@@ -81,6 +81,26 @@
     "Created: / 16-02-2012 / 14:18:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!InspectorView methodsFor:'initialization & release'!
+
+preRealize
+    "/ This method is an ugly hack to hook-in a a SmallSense completer.
+    "/ Things fall apart if somebody later defined preRealize on
+    "/ InspectorView...
+    UserPreferences current smallSenseCompletionEnabled ifTrue:[ 
+        | completion support |
+
+        support := SmallSense::EditSupport forLanguage: object class programmingLanguage.
+        support initializeForTextView: workspace.  
+        completion := SmallSense::CompletionController for: workspace. 
+        completion support: support.
+        workspace completionSupport: completion.  
+    ].
+    super preRealize
+
+    "Modified: / 12-02-2015 / 00:20:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !MessageNode methodsFor:'enumeration'!
 
 childNamesAndValuesDo:aBlock
--- a/smallsense.rc	Wed Feb 11 22:38:49 2015 +0000
+++ b/smallsense.rc	Thu Feb 12 00:30:40 2015 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Jan Vrany 2013-2014\0"
       VALUE "ProductName", "SmallSense\0"
       VALUE "ProductVersion", "6.2.5.0\0"
-      VALUE "ProductDate", "Mon, 12 Jan 2015 09:42:27 GMT\0"
+      VALUE "ProductDate", "Thu, 12 Feb 2015 00:22:59 GMT\0"
     END
 
   END
--- a/stx_goodies_smallsense.st	Wed Feb 11 22:38:49 2015 +0000
+++ b/stx_goodies_smallsense.st	Thu Feb 12 00:30:40 2015 +0000
@@ -99,7 +99,8 @@
         #'stx:goodies/refactoryBrowser/lint'    "RBBasicLintRule - extended"
         #'stx:goodies/refactoryBrowser/parser'    "RBBlockNode - extended"
         #'stx:goodies/regex'    "Regex::RxCharSetParser - superclass of SmallSense::TokenPatternParser::TokenSpecParser"
-        #'stx:libbasic'    "Autoload - superclass of SmallSense::AbstractJavaCompletionEngineTests"
+        #'stx:goodies/sunit'    "TestAsserter - superclass of SmallSense::AbstractJavaCompletionEngineTests"
+        #'stx:libbasic'    "Autoload - superclass of SmallSense::BaseTestClass"
         #'stx:libcomp'    "AbstractSyntaxHighlighter - superclass of SmallSense::SmalltalkParser"
         #'stx:libhtml'    "HTMLDocumentFrame - extended"
         #'stx:libtool'    "AbstractSettingsApplication - superclass of SmallSense::SettingsAppl"
@@ -145,6 +146,7 @@
 
     ^ #(
         "<className> or (<className> attributes...) in load order"
+        (#'SmallSense::AbstractTestCase' autoload)
         #'SmallSense::CodeHighlightingService'
         #'SmallSense::CodeNavigationService'
         #'SmallSense::CompletionContext'
@@ -156,6 +158,7 @@
         #'SmallSense::EditService'
         #'SmallSense::EditSupport'
         #'SmallSense::Info'
+        (#'SmallSense::JavaCompletionEngineEnvironmentResource' autoload)
         #'SmallSense::Manager'
         #'SmallSense::PO'
         #'SmallSense::ParseTreeIndex'
@@ -172,6 +175,7 @@
         #'SmallSense::SmalltalkSyntaxHighlighter'
         #'SmallSense::SmalltalkUnacceptedMethodEnvironment'
         #'SmallSense::TokenPatternMatcher'
+        (#'SmallSense::TokenPatternMatcherTests' autoload)
         #'SmallSense::TokenPatternParser'
         #'SmallSense::TokenPatternToken'
         #'SmallSense::TokenPatternTokenSet'
@@ -183,7 +187,9 @@
         #'SmallSense::ClassInfo'
         #'SmallSense::ClassPO'
         #'SmallSense::ClassType'
+        (#'SmallSense::CompletionEngineTests' autoload)
         #'SmallSense::ConstantPO'
+        (#'SmallSense::EditSupportTests' autoload)
         #'SmallSense::GenericEditSupport'
         #'SmallSense::JavaEditSupport'
         #'SmallSense::JavaImportPO'
@@ -200,28 +206,23 @@
         #'SmallSense::VariableBindingPO'
         #'SmallSense::VariablePO'
         #'SmallSense::AbstractJavaCompletionEngineSimple'
+        (#'SmallSense::AbstractJavaCompletionEngineTests' autoload)
         #'SmallSense::GroovyEditSupport'
         #'SmallSense::JavaCompletionEngine'
         #'SmallSense::JavaConstructorPO'
+        (#'SmallSense::JavaEditSupportTests' autoload)
         #'SmallSense::MethodKeywordRestPO'
-        #'SmallSense::JavaCompletionEngineSimple'
-        #'SmallSense::GroovyCompletionEngineSimple'
-        (#'SmallSense::AbstractJavaCompletionEngineTests' autoload)
-        (#'SmallSense::AbstractTestCase' autoload)
-        (#'SmallSense::BaseTestClass' autoload)
-        (#'SmallSense::CompletionEngineTests' autoload)
-        (#'SmallSense::EditSupportTests' autoload)
-        (#'SmallSense::FinderTests' autoload)
-        (#'SmallSense::GroovyCompletionEngineSimpleTests' autoload)
-        (#'SmallSense::JavaCompletionEngineEnvironmentResource' autoload)
-        (#'SmallSense::JavaCompletionEngineTests' autoload)
-        (#'SmallSense::JavaEditSupportTests' autoload)
-        (#'SmallSense::RecognizerTests' autoload)
         (#'SmallSense::SmalltalkCompletionEngineTests' autoload)
         (#'SmallSense::SmalltalkEditSupportTests' autoload)
+        (#'SmallSense::GroovyCompletionEngineSimpleTests' autoload)
+        #'SmallSense::JavaCompletionEngineSimple'
+        (#'SmallSense::JavaCompletionEngineTests' autoload)
+        #'SmallSense::GroovyCompletionEngineSimple'
+        (#'SmallSense::BaseTestClass' autoload)
+        (#'SmallSense::FinderTests' autoload)
+        (#'SmallSense::RecognizerTests' autoload)
         (#'SmallSense::SmalltalkParserTests' autoload)
         (#'SmallSense::TestCase' autoload)
-        (#'SmallSense::TokenPatternMatcherTests' autoload)
     )
 !
 
@@ -289,6 +290,7 @@
         'Tools::CodeCompletionService class' new
         #'Tools::LintService' buttonPress:x:y:in:
         #'Tools::LintService' showInfoWindowForLine:
+        InspectorView preRealize
     )
 ! !