Oops. addec forgotten SmallSenseJavaEditSupport.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sun, 04 Aug 2013 02:29:30 +0100
changeset 51 a37e5df13fab
parent 50 8655feecd4db
child 52 3ca8f7181ed5
Oops. addec forgotten SmallSenseJavaEditSupport.
Make.proto
Make.spec
SmallSenseJavaEditSupport.st
abbrev.stc
bc.mak
extensions.st
jv_smallsense.st
libInit.cc
smallsense.rc
--- a/Make.proto	Sun Aug 04 02:27:45 2013 +0100
+++ b/Make.proto	Sun Aug 04 02:29:30 2013 +0100
@@ -192,6 +192,7 @@
 $(OUTDIR)SmallSenseFinder.$(O) SmallSenseFinder.$(H): SmallSenseFinder.st $(INCLUDE_TOP)/jv/smallsense/SmallSenseParseNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseGenericEditSupport.$(O) SmallSenseGenericEditSupport.$(H): SmallSenseGenericEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSenseEditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseInferencer.$(O) SmallSenseInferencer.$(H): SmallSenseInferencer.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSenseParseNodeVisitor.$(H) $(STCHDR)
+$(OUTDIR)SmallSenseJavaEditSupport.$(O) SmallSenseJavaEditSupport.$(H): SmallSenseJavaEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSenseEditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseMethodInfo.$(O) SmallSenseMethodInfo.$(H): SmallSenseMethodInfo.st $(INCLUDE_TOP)/jv/smallsense/SmallSenseInfo.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseMethodPO.$(O) SmallSenseMethodPO.$(H): SmallSenseMethodPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSensePO.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseSmalltalkEditSupport.$(O) SmallSenseSmalltalkEditSupport.$(H): SmallSenseSmalltalkEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSenseEditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -200,7 +201,7 @@
 $(OUTDIR)SmallSenseUnknownType.$(O) SmallSenseUnknownType.$(H): SmallSenseUnknownType.st $(INCLUDE_TOP)/jv/smallsense/SmallSenseType.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseVariablePO.$(O) SmallSenseVariablePO.$(H): SmallSenseVariablePO.st $(INCLUDE_TOP)/jv/smallsense/SmallSensePO.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseInstvarInterfaceExtractor.$(O) SmallSenseInstvarInterfaceExtractor.$(H): SmallSenseInstvarInterfaceExtractor.st $(INCLUDE_TOP)/jv/smallsense/SmallSenseAbstractInstvarInterfaceExtractor.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSenseParser.$(H) $(INCLUDE_TOP)/stx/libcomp/SyntaxHighlighter.$(H) $(INCLUDE_TOP)/stx/libcomp/AbstractSyntaxHighlighter.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libcomp/AssignmentNode.$(H) $(INCLUDE_TOP)/stx/libcomp/MessageNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseErrorNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimaryNode.$(H) $(INCLUDE_TOP)/stx/libcomp/StatementNode.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libcomp/VariableNode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBTransformationRule.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentView.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentFrame.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/__NoProject__/SmallSenseJavaEditSupport.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSenseEditSupport.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libcomp/AssignmentNode.$(H) $(INCLUDE_TOP)/stx/libcomp/MessageNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseErrorNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimaryNode.$(H) $(INCLUDE_TOP)/stx/libcomp/StatementNode.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libcomp/VariableNode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBTransformationRule.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentView.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentFrame.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/Make.spec	Sun Aug 04 02:27:45 2013 +0100
+++ b/Make.spec	Sun Aug 04 02:29:30 2013 +0100
@@ -83,6 +83,7 @@
 	SmallSenseFinder \
 	SmallSenseGenericEditSupport \
 	SmallSenseInferencer \
+	SmallSenseJavaEditSupport \
 	SmallSenseMethodInfo \
 	SmallSenseMethodPO \
 	SmallSenseSmalltalkEditSupport \
@@ -129,6 +130,7 @@
     $(OUTDIR_SLASH)SmallSenseFinder.$(O) \
     $(OUTDIR_SLASH)SmallSenseGenericEditSupport.$(O) \
     $(OUTDIR_SLASH)SmallSenseInferencer.$(O) \
+    $(OUTDIR_SLASH)SmallSenseJavaEditSupport.$(O) \
     $(OUTDIR_SLASH)SmallSenseMethodInfo.$(O) \
     $(OUTDIR_SLASH)SmallSenseMethodPO.$(O) \
     $(OUTDIR_SLASH)SmallSenseSmalltalkEditSupport.$(O) \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SmallSenseJavaEditSupport.st	Sun Aug 04 02:29:30 2013 +0100
@@ -0,0 +1,99 @@
+"{ Package: 'jv:smallsense' }"
+
+SmallSenseEditSupport subclass:#SmallSenseJavaEditSupport
+	instanceVariableNames:'lastTypedKey0 lastTypedKey1 lastTypedKey2 lastTypedKey3'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'SmallSense-Services'
+!
+
+!SmallSenseJavaEditSupport methodsFor:'accessing'!
+
+language
+    "superclass SmallSenseEditSupport says that I am responsible to implement this method"
+
+    ^ (Smalltalk at:#JavaLanguage) instance.
+
+    "Modified: / 04-08-2013 / 02:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmallSenseJavaEditSupport methodsFor:'event handling'!
+
+keyPress: key x:x y:y in: view
+
+    "Handles an event in given view (a subview of codeView).
+     If the method returns true, the event will not be processed
+     by the view."
+
+    view ~~ textView ifTrue:[ ^ false ].
+
+    lastTypedKey3 := lastTypedKey2.
+    lastTypedKey2 := lastTypedKey1.
+    lastTypedKey1 := lastTypedKey0.
+    lastTypedKey0 := key.
+
+    key == ${ ifTrue:[
+        ^ self keyPressOpenCurly
+    ].
+
+    ^ false.
+
+    "Created: / 07-03-2010 / 09:36:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-08-2013 / 01:54:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keyPressOpenCurly
+    | line token i |
+
+    line := service codeView listAt: service codeView cursorLine.
+    line notEmptyOrNil ifTrue:[
+        i := line size.
+        [ (line at: i) isSeparator and:[i > 0] ] whileTrue:[ i := i - 1 ].
+        (i ~~ 0 and:[service codeView cursorCol < i]) ifTrue:[
+            ^ false.
+        ].
+    ] ifFalse:[
+        self insertElectricBlockOpenedBy: '{' closedBy: '}'. 
+        ^ true
+    ].
+
+    token := self tokenAtCursorLine.
+    (token isNil or:[token == #String]) ifTrue:[ ^ false ].
+
+    self insertElectricBlockOpenedBy: '{' closedBy: '}'. 
+    ^ true
+
+    "Created: / 04-08-2013 / 01:54:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SmallSenseJavaEditSupport methodsFor:'private'!
+
+tokenAtCursorLine
+    | scanner token |
+
+    scanner := (Smalltalk at:#JavaScanner) for: (service textView listAt: service textView cursorLine) string.
+
+    [ 
+        token := scanner nextToken.
+        (token ~~ #EOF and:[ scanner tokenEndPosition + 1 < service textView cursorCol ]) whileTrue.
+    ] on: Error do:[
+        token := nil.
+    ].
+    ^ token
+
+    "Created: / 04-08-2013 / 02:00:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+tokensAtCursorLine
+    | scanner token |
+
+    scanner := (Smalltalk at:#JavaScanner) for: (service textView listAt: service textView cursorLine) string.
+    ^ OrderedCollection streamContents:[:tokens |
+        [ token := scanner nextToken.token ~~ #EOF ] whileTrue:[
+            tokens nextPut: token.
+        ].
+    ].
+
+    "Created: / 04-08-2013 / 01:57:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/abbrev.stc	Sun Aug 04 02:27:45 2013 +0100
+++ b/abbrev.stc	Sun Aug 04 02:29:30 2013 +0100
@@ -1,7 +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.
-SmallSenseBaseTestClass SmallSenseBaseTestClass jv:smallsense 'SmallSense-Tests' 0
+SmallSenseBaseTestClass SmallSenseBaseTestClass jv:smallsense 'SmallSense-Tests' 1
 SmallSenseChecker SmallSenseChecker jv:smallsense 'SmallSense-Lint' 0
 SmallSenseCompletionWindow SmallSenseCompletionWindow jv:smallsense 'SmallSense-Interface' 1
 SmallSenseCriticsWindow SmallSenseCriticsWindow jv:smallsense 'SmallSense-Interface' 1
@@ -39,6 +39,7 @@
 SmallSenseFinder SmallSenseFinder jv:smallsense 'SmallSense-Core' 0
 SmallSenseGenericEditSupport SmallSenseGenericEditSupport jv:smallsense 'SmallSense-Services' 0
 SmallSenseInferencer SmallSenseInferencer jv:smallsense 'SmallSense-Inference' 0
+SmallSenseJavaEditSupport SmallSenseJavaEditSupport jv:smallsense 'SmallSense-Services' 0
 SmallSenseMethodInfo SmallSenseMethodInfo jv:smallsense 'SmallSense-Model' 0
 SmallSenseMethodPO SmallSenseMethodPO jv:smallsense 'SmallSense-Interface-PO' 0
 SmallSenseSmalltalkEditSupport SmallSenseSmalltalkEditSupport jv:smallsense 'SmallSense-Services' 0
--- a/bc.mak	Sun Aug 04 02:27:45 2013 +0100
+++ b/bc.mak	Sun Aug 04 02:29:30 2013 +0100
@@ -116,6 +116,7 @@
 $(OUTDIR)SmallSenseFinder.$(O) SmallSenseFinder.$(H): SmallSenseFinder.st $(INCLUDE_TOP)\jv\smallsense\SmallSenseParseNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseGenericEditSupport.$(O) SmallSenseGenericEditSupport.$(H): SmallSenseGenericEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSenseEditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseInferencer.$(O) SmallSenseInferencer.$(H): SmallSenseInferencer.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSenseParseNodeVisitor.$(H) $(STCHDR)
+$(OUTDIR)SmallSenseJavaEditSupport.$(O) SmallSenseJavaEditSupport.$(H): SmallSenseJavaEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSenseEditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseMethodInfo.$(O) SmallSenseMethodInfo.$(H): SmallSenseMethodInfo.st $(INCLUDE_TOP)\jv\smallsense\SmallSenseInfo.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseMethodPO.$(O) SmallSenseMethodPO.$(H): SmallSenseMethodPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSensePO.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseSmalltalkEditSupport.$(O) SmallSenseSmalltalkEditSupport.$(H): SmallSenseSmalltalkEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSenseEditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -124,7 +125,7 @@
 $(OUTDIR)SmallSenseUnknownType.$(O) SmallSenseUnknownType.$(H): SmallSenseUnknownType.st $(INCLUDE_TOP)\jv\smallsense\SmallSenseType.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseVariablePO.$(O) SmallSenseVariablePO.$(H): SmallSenseVariablePO.st $(INCLUDE_TOP)\jv\smallsense\SmallSensePO.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)SmallSenseInstvarInterfaceExtractor.$(O) SmallSenseInstvarInterfaceExtractor.$(H): SmallSenseInstvarInterfaceExtractor.st $(INCLUDE_TOP)\jv\smallsense\SmallSenseAbstractInstvarInterfaceExtractor.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSenseParser.$(H) $(INCLUDE_TOP)\stx\libcomp\SyntaxHighlighter.$(H) $(INCLUDE_TOP)\stx\libcomp\AbstractSyntaxHighlighter.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libcomp\AssignmentNode.$(H) $(INCLUDE_TOP)\stx\libcomp\MessageNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseErrorNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimaryNode.$(H) $(INCLUDE_TOP)\stx\libcomp\StatementNode.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libcomp\VariableNode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBTransformationRule.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentView.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentFrame.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\__NoProject__\SmallSenseJavaEditSupport.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSenseEditSupport.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libcomp\AssignmentNode.$(H) $(INCLUDE_TOP)\stx\libcomp\MessageNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseErrorNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimaryNode.$(H) $(INCLUDE_TOP)\stx\libcomp\StatementNode.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libcomp\VariableNode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBTransformationRule.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentView.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentFrame.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
--- a/extensions.st	Sun Aug 04 02:27:45 2013 +0100
+++ b/extensions.st	Sun Aug 04 02:29:30 2013 +0100
@@ -157,57 +157,6 @@
     "Created: / 01-02-2012 / 12:11:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-!SmallSenseJavaEditSupport methodsFor:'event handling'!
-
-keyPress: key x:x y:y in: view
-
-    "Handles an event in given view (a subview of codeView).
-     If the method returns true, the event will not be processed
-     by the view."
-
-    view ~~ textView ifTrue:[ ^ false ].
-
-    lastTypedKey3 := lastTypedKey2.
-    lastTypedKey2 := lastTypedKey1.
-    lastTypedKey1 := lastTypedKey0.
-    lastTypedKey0 := key.
-
-    key == ${ ifTrue:[
-        ^ self keyPressOpenCurly
-    ].
-
-    ^ false.
-
-    "Created: / 07-03-2010 / 09:36:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 04-08-2013 / 01:54:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!SmallSenseJavaEditSupport methodsFor:'event handling'!
-
-keyPressOpenCurly
-    | line token i |
-
-    line := service codeView listAt: service codeView cursorLine.
-    line notEmptyOrNil ifTrue:[
-        i := line size.
-        [ (line at: i) isSeparator and:[i > 0] ] whileTrue:[ i := i - 1 ].
-        (i ~~ 0 and:[service codeView cursorCol < i]) ifTrue:[
-            ^ false.
-        ].
-    ] ifFalse:[
-        self insertElectricBlockOpenedBy: '{' closedBy: '}'. 
-        ^ true
-    ].
-
-    token := self tokenAtCursorLine.
-    (token isNil or:[token == #String]) ifTrue:[ ^ false ].
-
-    self insertElectricBlockOpenedBy: '{' closedBy: '}'. 
-    ^ true
-
-    "Created: / 04-08-2013 / 01:54:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !StatementNode methodsFor:'enumeration'!
 
 childNamesAndValuesDo:aBlock
--- a/jv_smallsense.st	Sun Aug 04 02:27:45 2013 +0100
+++ b/jv_smallsense.st	Sun Aug 04 02:29:30 2013 +0100
@@ -140,6 +140,7 @@
         SmallSenseFinder
         SmallSenseGenericEditSupport
         SmallSenseInferencer
+        SmallSenseJavaEditSupport
         SmallSenseMethodInfo
         SmallSenseMethodPO
         SmallSenseSmalltalkEditSupport
@@ -181,8 +182,6 @@
         UserPreferences smallSenseBackgroundTypingEnabled:
         HTMLDocumentView doQuickFix:
         'Tools::CodeHighlightingService class' new
-        SmallSenseJavaEditSupport keyPress:x:y:in:
-        SmallSenseJavaEditSupport keyPressOpenCurly
     )
 ! !
 
--- a/libInit.cc	Sun Aug 04 02:27:45 2013 +0100
+++ b/libInit.cc	Sun Aug 04 02:29:30 2013 +0100
@@ -60,6 +60,7 @@
 _SmallSenseFinder_Init(pass,__pRT__,snd);
 _SmallSenseGenericEditSupport_Init(pass,__pRT__,snd);
 _SmallSenseInferencer_Init(pass,__pRT__,snd);
+_SmallSenseJavaEditSupport_Init(pass,__pRT__,snd);
 _SmallSenseMethodInfo_Init(pass,__pRT__,snd);
 _SmallSenseMethodPO_Init(pass,__pRT__,snd);
 _SmallSenseSmalltalkEditSupport_Init(pass,__pRT__,snd);
--- a/smallsense.rc	Sun Aug 04 02:27:45 2013 +0100
+++ b/smallsense.rc	Sun Aug 04 02:29:30 2013 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Sun, 04 Aug 2013 01:19:25 GMT\0"
+      VALUE "ProductDate", "Sun, 04 Aug 2013 01:28:53 GMT\0"
     END
 
   END