X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.ui%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fui%2Feditor%2Fcompletion%2FSCLTextEditorEnvironment.java;fp=bundles%2Forg.simantics.scl.ui%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fui%2Feditor%2Fcompletion%2FSCLTextEditorEnvironment.java;h=92133fd5a1b240a5bcc29dca765d6630bb78f7c2;hp=ffe709f45b768a9ff6c3cd5172b783fd349b5fa9;hb=38cd6e562efe2e5a8752924ebc5213e68b352f09;hpb=67918d39fd9a67b659dcb118412fe0313a8fc0e8 diff --git a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor/completion/SCLTextEditorEnvironment.java b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor/completion/SCLTextEditorEnvironment.java index ffe709f45..92133fd5a 100644 --- a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor/completion/SCLTextEditorEnvironment.java +++ b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor/completion/SCLTextEditorEnvironment.java @@ -45,12 +45,17 @@ public class SCLTextEditorEnvironment { public void updateEnvironment(IDocument document) { String contents = document.get(); + // Strip triple quoted strings from the contents since they may contain lines that look exactly like normal imports / includes + contents = contents.replaceAll("(?s)\"\"\".*?\"\"\"", "\"\""); + // Strip multiline comments since they may contain lines that look exactly like normal imports / includes + contents = contents.replaceAll("(?s)/\\*.*?\\*/", ""); + String[] lines = contents.split("\\R+"); //$NON-NLS-1$ List imports = new ArrayList<>(); imports.add(new ImportDeclaration("StandardLibrary", "")); //$NON-NLS-1$ //$NON-NLS-2$ for (String line : lines) { line = line.trim(); - if (line.startsWith("import") || line.startsWith("include")) { //$NON-NLS-1$ //$NON-NLS-2$ + if (line.startsWith("import ") || line.startsWith("include ")) { //$NON-NLS-1$ //$NON-NLS-2$ SCLParserImpl parser = new SCLParserImpl(new StringReader(line)); try { ImportDeclaration importDecl = (ImportDeclaration)parser.parseImport();