]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor/SCLSourceViewerConfigurationNew.java
Merge "List the unsatisfied dependencies in CanvasContext"
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / editor / SCLSourceViewerConfigurationNew.java
index 981d16b18c66cbee35fce4b9be3c116e6aa6125c..4cf521e6543133c984fa0c8912cf82a0c5a36108 100644 (file)
@@ -1,43 +1,27 @@
 package org.simantics.scl.ui.editor;\r
 \r
 import org.eclipse.jface.preference.IPreferenceStore;\r
-import org.eclipse.jface.resource.FontDescriptor;\r
 import org.eclipse.jface.resource.ResourceManager;\r
 import org.eclipse.jface.text.DefaultInformationControl;\r
+import org.eclipse.jface.text.DefaultTextHover;\r
 import org.eclipse.jface.text.IDocument;\r
 import org.eclipse.jface.text.IInformationControl;\r
 import org.eclipse.jface.text.IInformationControlCreator;\r
 import org.eclipse.jface.text.ITextHover;\r
-import org.eclipse.jface.text.TextAttribute;\r
 import org.eclipse.jface.text.contentassist.ContentAssistant;\r
 import org.eclipse.jface.text.contentassist.IContentAssistant;\r
 import org.eclipse.jface.text.presentation.IPresentationReconciler;\r
-import org.eclipse.jface.text.presentation.PresentationReconciler;\r
-import org.eclipse.jface.text.rules.DefaultDamagerRepairer;\r
-import org.eclipse.jface.text.rules.EndOfLineRule;\r
-import org.eclipse.jface.text.rules.IRule;\r
-import org.eclipse.jface.text.rules.ITokenScanner;\r
-import org.eclipse.jface.text.rules.IWordDetector;\r
-import org.eclipse.jface.text.rules.MultiLineRule;\r
-import org.eclipse.jface.text.rules.PatternRule;\r
-import org.eclipse.jface.text.rules.RuleBasedScanner;\r
-import org.eclipse.jface.text.rules.Token;\r
-import org.eclipse.jface.text.rules.WordRule;\r
 import org.eclipse.jface.text.source.DefaultAnnotationHover;\r
 import org.eclipse.jface.text.source.IAnnotationHover;\r
 import org.eclipse.jface.text.source.ISourceViewer;\r
 import org.eclipse.jface.text.source.SourceViewerConfiguration;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.graphics.Font;\r
-import org.eclipse.swt.graphics.RGB;\r
 import org.eclipse.swt.widgets.Shell;\r
 import org.eclipse.ui.editors.text.EditorsUI;\r
 import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;\r
 import org.simantics.scl.ui.Activator;\r
 import org.simantics.scl.ui.editor.completion.SCLCompletionAssistProcessor;\r
-import org.simantics.scl.ui.editor.completion.SCLEditorTextHover;\r
 import org.simantics.scl.ui.editor.completion.SCLTextEditorEnvironment;\r
-import org.simantics.scl.ui.info.SCLInfo;\r
+import org.simantics.scl.ui.editor2.SCLPresentationReconciler;\r
 \r
 public class SCLSourceViewerConfigurationNew extends SourceViewerConfiguration {\r
 \r
@@ -86,83 +70,13 @@ public class SCLSourceViewerConfigurationNew extends SourceViewerConfiguration {
        }\r
     \r
     public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {\r
-        PresentationReconciler reconciler = new PresentationReconciler();\r
-        \r
-        DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getSclTokenScanner());\r
-        \r
-        reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);\r
-        reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);\r
-        \r
-        return reconciler;\r
-    }\r
-    \r
-    private static final FontDescriptor FONT_NORMAL = FontDescriptor.createFrom("Consolas", 10, SWT.NORMAL);\r
-    private static final FontDescriptor FONT_BOLD = FontDescriptor.createFrom("Consolas", 10, SWT.BOLD);\r
-    \r
-    ITokenScanner getSclTokenScanner() {\r
-        RuleBasedScanner scanner = new RuleBasedScanner();\r
-        \r
-        Font font = resourceManager.createFont(FONT_NORMAL);\r
-        Font boldFont = resourceManager.createFont(FONT_BOLD);\r
-        \r
-        Token defaultToken = new Token(\r
-                new TextAttribute(\r
-                        resourceManager.createColor(new RGB(0, 0, 0)),\r
-                        null,\r
-                        0,\r
-                        font\r
-                ));\r
-        Token string = new Token(new TextAttribute(\r
-                resourceManager.createColor(new RGB(42, 0, 255)),\r
-                null,\r
-                0,\r
-                font\r
-                ));\r
-        Token reserved = new Token(\r
-                new TextAttribute(\r
-                        resourceManager.createColor(new RGB(127, 0, 85)),\r
-                        null,\r
-                        SWT.BOLD,\r
-                        boldFont\r
-                ));\r
-        Token comment = new Token(new TextAttribute(\r
-                resourceManager.createColor(new RGB(63, 127, 95)),\r
-                null,\r
-                0,\r
-                font\r
-                ));\r
-\r
-        WordRule reservedWord = new WordRule(new IWordDetector() {          \r
-            @Override\r
-            public boolean isWordStart(char c) {\r
-                return Character.isJavaIdentifierStart(c);\r
-            }\r
-            \r
-            @Override\r
-            public boolean isWordPart(char c) {\r
-                return Character.isJavaIdentifierPart(c) || c=='.';\r
-            }\r
-        });\r
-\r
-        for(String word : SCLInfo.RESERVED_WORDS)\r
-            reservedWord.addWord(word, reserved);\r
-        \r
-        IRule[] rules = new IRule[] {\r
-            //new MultiLineRule("\"\"\"", "\"\"\"", string),\r
-            new PatternRule("\"", "\"", string, '\\', true),\r
-            new MultiLineRule("/*", "*/", comment),\r
-            new EndOfLineRule("//", comment),\r
-            reservedWord\r
-        };\r
-        scanner.setRules(rules);\r
-        scanner.setDefaultReturnToken(defaultToken);\r
-        \r
-        return scanner;\r
+        return new SCLPresentationReconciler(resourceManager);\r
     }\r
     \r
     @Override\r
     public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {\r
-        return new SCLEditorTextHover(sourceViewer, sclTextEditorEnvironment);\r
+        //return new SCLEditorTextHover(sourceViewer, sclTextEditorEnvironment);\r
+        return new DefaultTextHover(sourceViewer);\r
     }\r
     \r
     @Override\r