-package org.simantics.scl.ui.editor;\r
-\r
-import org.eclipse.jface.text.DocumentCommand;\r
-import org.eclipse.jface.text.IAutoEditStrategy;\r
-import org.eclipse.jface.text.IDocument;\r
-\r
-public class MatchingBracketsEditStrategy implements IAutoEditStrategy {\r
-\r
- char justAddedClosingBracket = (char)0;\r
- \r
- public void customizeDocumentCommand(IDocument d, DocumentCommand c) {\r
- if (c.length == 0 && c.text != null) {\r
- if(c.text.equals("(")) {\r
- c.text = "()";\r
- justAddedClosingBracket = ')';\r
- }\r
- else if(c.text.equals("[")) {\r
- c.text = "[]";\r
- justAddedClosingBracket = ']';\r
- }\r
- else {\r
- if(c.text.length() == 1 && c.text.charAt(0) == justAddedClosingBracket) {\r
- c.text = "";\r
- c.shiftsCaret = false;\r
- c.caretOffset = c.offset+1;\r
- }\r
- justAddedClosingBracket = (char)0;\r
- return;\r
- }\r
- \r
- // Puts caret between brackets\r
- c.caretOffset = c.offset+1;\r
- c.shiftsCaret = false; \r
- } \r
- else\r
- justAddedClosingBracket = (char)0;\r
- }\r
- \r
-}\r
+package org.simantics.scl.ui.editor;
+
+import org.eclipse.jface.text.DocumentCommand;
+import org.eclipse.jface.text.IAutoEditStrategy;
+import org.eclipse.jface.text.IDocument;
+
+public class MatchingBracketsEditStrategy implements IAutoEditStrategy {
+
+ char justAddedClosingBracket = (char)0;
+
+ public void customizeDocumentCommand(IDocument d, DocumentCommand c) {
+ if (c.length == 0 && c.text != null) {
+ if(c.text.equals("(")) {
+ c.text = "()";
+ justAddedClosingBracket = ')';
+ }
+ else if(c.text.equals("[")) {
+ c.text = "[]";
+ justAddedClosingBracket = ']';
+ }
+ else {
+ if(c.text.length() == 1 && c.text.charAt(0) == justAddedClosingBracket) {
+ c.text = "";
+ c.shiftsCaret = false;
+ c.caretOffset = c.offset+1;
+ }
+ justAddedClosingBracket = (char)0;
+ return;
+ }
+
+ // Puts caret between brackets
+ c.caretOffset = c.offset+1;
+ c.shiftsCaret = false;
+ }
+ else
+ justAddedClosingBracket = (char)0;
+ }
+
+}