X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.ui%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fui%2Feditor2%2FOpenDeclaration.java;h=421328c164222346da2c9eb073f222afe841c601;hb=refs%2Fchanges%2F15%2F1415%2F1;hp=378840397759e1fbdbdc3714b2c3c930c01fa32b;hpb=6f11a60dee43d620d500c0cf5af34a1d91c80a8b;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/OpenDeclaration.java b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/OpenDeclaration.java index 378840397..421328c16 100644 --- a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/OpenDeclaration.java +++ b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/OpenDeclaration.java @@ -9,15 +9,18 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.PlatformUI; import org.simantics.scl.compiler.elaboration.modules.SCLValue; -import org.simantics.scl.compiler.errors.Locations; import org.simantics.scl.compiler.module.InvalidModulePathException; import org.simantics.scl.compiler.module.ModuleUtils; import org.simantics.scl.compiler.source.ModuleSource; import org.simantics.scl.osgi.SCLOsgi; import org.simantics.scl.ui.editor.completion.SCLTextEditorEnvironment; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class OpenDeclaration extends AbstractHandler { + private static final Logger LOGGER = LoggerFactory.getLogger(OpenDeclaration.class); + private static boolean isIdentifierPart(char c) { return Character.isJavaIdentifierPart(c) || c=='.'; } @@ -93,10 +96,10 @@ public class OpenDeclaration extends AbstractHandler { String moduleName = ModuleUtils.resolveAbsolutePath(input.getModuleName(), lineAtCaret.substring(p1+1, p2)); ModuleSource source = SCLOsgi.SOURCE_REPOSITORY.getModuleSource(moduleName, null); if (source != null) { - OpenSCLModule.openModule(moduleName); + OpenSCLModule.scheduleOpenModule(moduleName); } } catch (InvalidModulePathException e) { - // Nothing to do + LOGGER.error("Could not open declaration {} {}", input.getModuleName(), lineAtCaret, e); } } else { @@ -107,9 +110,9 @@ public class OpenDeclaration extends AbstractHandler { SCLTextEditorEnvironment editorEnvironment = moduleEditor.getSCLTextEditorEnvironment(); editorEnvironment.updateEnvironment(moduleEditor.getDocument()); SCLValue value = editorEnvironment.getValue(identifierAtCaret); - System.out.println("identifierAtCaret = " + identifierAtCaret + " [" + Locations.beginOf(value.definitionLocation) + ", " + Locations.endOf(value.definitionLocation) + "]"); + //System.out.println("identifierAtCaret = " + identifierAtCaret + " [" + Locations.beginOf(value.definitionLocation) + ", " + Locations.endOf(value.definitionLocation) + "]"); if(value != null) - OpenSCLDefinition.openDefinition(value); + OpenSCLDefinition.scheduleOpenDefinition(value.getName().module, value.definitionLocation); } return null; }