Added support for electric eol-comments.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 16 Sep 2013 18:13:00 +0100
changeset 84 1d05306a49f8
parent 83 e02330ae1fe4
child 85 d6a3fdbd87db
Added support for electric eol-comments.
SmallSense__SmalltalkEditSupport.st
abbrev.stc
smallsense.rc
--- a/SmallSense__SmalltalkEditSupport.st	Mon Sep 16 16:57:32 2013 +0100
+++ b/SmallSense__SmalltalkEditSupport.st	Mon Sep 16 18:13:00 2013 +0100
@@ -160,12 +160,23 @@
 keyPressReturn
     | line tokens i t |
 
-    ('[|' includes: lastTypedKey1) ifFalse:[ ^ false ].
     line := textView listAt: textView cursorLine.
     line isNil ifTrue:[ ^ false ].
     line := line string.
     line size > textView cursorCol ifTrue: [ ^ false ].
-    (line indexOfAny:'[|') == 0 ifTrue:[ ^ false ].
+    (line indexOfAny:'[|/') == 0 ifTrue:[ ^ false ].
+
+    "/ Insert "/ at the beggining of the line if current line starts with "/
+    i := line indexOfNonSeparator.
+    (i ~~ 0 and:[ i < line size and:[(line at:i) == $" and:[(line at:i + 1) == $/]]]) ifTrue:[
+        "/ OK, current line contains eol-comment
+        textView undoableDo:[
+            textView insertStringAtCursor: (Character cr asString , '"/ ')
+        ].
+        ^ true   
+    ].
+
+    ('[|' includes: lastTypedKey1) ifFalse:[ ^ false ].
     i := line size.
     [ (line at: i) isSeparator and:[i > 0] ] whileTrue:[ i := i - 1 ].
     i == 0 ifTrue:[ ^ false ].
@@ -202,7 +213,7 @@
     ^ false.
 
     "Created: / 25-07-2013 / 00:02:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 16-09-2013 / 15:47:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-09-2013 / 18:08:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 keyPressReturnToken
--- a/abbrev.stc	Mon Sep 16 16:57:32 2013 +0100
+++ b/abbrev.stc	Mon Sep 16 18:13:00 2013 +0100
@@ -14,7 +14,6 @@
 SmallSense::ParseNodeVisitor SmallSense__ParseNodeVisitor jv:smallsense 'SmallSense-Core' 0
 SmallSense::ParseTreeIndex SmallSense__ParseTreeIndex jv:smallsense 'SmallSense-Core-Index' 0
 SmallSense::ParseTreeIndexEntry SmallSense__ParseTreeIndexEntry jv:smallsense 'SmallSense-Core-Index' 0
-SmallSense::ParserTests SmallSense__ParserTests jv:smallsense 'SmallSense-Tests' 1
 SmallSense::Position SmallSense__Position jv:smallsense 'SmallSense-Core' 0
 SmallSense::Recognizer SmallSense__Recognizer jv:smallsense 'SmallSense-Core' 0
 SmallSense::RecognizerTests SmallSense__RecognizerTests jv:smallsense 'SmallSense-Tests' 1
@@ -43,6 +42,7 @@
 SmallSense::MethodPO SmallSense__MethodPO jv:smallsense 'SmallSense-Core-Interface-PO' 0
 SmallSense::SmalltalkEditSupport SmallSense__SmalltalkEditSupport jv:smallsense 'SmallSense-Smalltalk' 0
 SmallSense::SmalltalkInferencer SmallSense__SmalltalkInferencer jv:smallsense 'SmallSense-Smalltalk-Types-Inference' 0
+SmallSense::SmalltalkParserTests SmallSense__SmalltalkParserTests jv:smallsense 'SmallSense-Tests' 1
 SmallSense::SnippetPO SmallSense__SnippetPO jv:smallsense 'SmallSense-Core-Interface-PO' 0
 SmallSense::UnionType SmallSense__UnionType jv:smallsense 'SmallSense-Smalltalk-Types' 0
 SmallSense::UnknownType SmallSense__UnknownType jv:smallsense 'SmallSense-Smalltalk-Types' 1
--- a/smallsense.rc	Mon Sep 16 16:57:32 2013 +0100
+++ b/smallsense.rc	Mon Sep 16 18:13:00 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", "Mon, 16 Sep 2013 11:14:07 GMT\0"
+      VALUE "ProductDate", "Mon, 16 Sep 2013 17:11:06 GMT\0"
     END
 
   END