diff --git a/src/main/java/plugins/tprovoost/scripteditor/completion/IcyCompletionProvider.java b/src/main/java/plugins/tprovoost/scripteditor/completion/IcyCompletionProvider.java index 2f774fc8c37493eb31da4895e3b18711644df456..696de8a8dc3a0641cbd7b5baf01d144afe4f5323 100644 --- a/src/main/java/plugins/tprovoost/scripteditor/completion/IcyCompletionProvider.java +++ b/src/main/java/plugins/tprovoost/scripteditor/completion/IcyCompletionProvider.java @@ -37,6 +37,7 @@ import org.fife.ui.autocomplete.VariableCompletion; import icy.gui.frame.progress.ProgressFrame; import icy.plugin.PluginLoader; import icy.util.ClassUtil; +import icy.util.StringUtil; import plugins.tprovoost.scripteditor.completion.types.BasicJavaClassCompletion; import plugins.tprovoost.scripteditor.completion.types.JavaFunctionCompletion; import plugins.tprovoost.scripteditor.completion.types.NewInstanceCompletion; @@ -1233,6 +1234,9 @@ public class IcyCompletionProvider extends DefaultCompletionProvider public void installDefaultCompletions(String language) { + // no laguage defined ? --> exit + if (StringUtil.isEmpty(language)) return; + InputStream in = getClass().getClassLoader().getResourceAsStream( "plugins/tprovoost/scripteditor/resources/lang/" + language.toLowerCase() + ".xml"); try diff --git a/src/main/java/plugins/tprovoost/scripteditor/gui/ScriptingPanel.java b/src/main/java/plugins/tprovoost/scripteditor/gui/ScriptingPanel.java index 1e6368e10f9aa626ef3d4242e84605c25d911024..78e155372cc818d52f45a8aed2e1063d4e335f43 100644 --- a/src/main/java/plugins/tprovoost/scripteditor/gui/ScriptingPanel.java +++ b/src/main/java/plugins/tprovoost/scripteditor/gui/ScriptingPanel.java @@ -53,6 +53,7 @@ import icy.plugin.PluginRepositoryLoader; import icy.system.FileDrop; import icy.system.FileDrop.FileDropListener; import icy.system.thread.ThreadUtil; +import icy.util.StringUtil; import japa.parser.ast.body.ConstructorDeclaration; import japa.parser.ast.body.MethodDeclaration; import plugins.tprovoost.scripteditor.completion.IcyAutoCompletion; @@ -605,11 +606,11 @@ public class ScriptingPanel extends JPanel implements ScriptListener final Preferences preferences = Preferences.getPreferences(); cleanup(); - + // the provider provides the results when hitting Ctrl + Space. if (provider == null) { - if (language.contentEquals("Python")) + if (StringUtil.equals(language, "Python")) { provider = new IcyCompletionProviderPython(); } @@ -632,7 +633,7 @@ public class ScriptingPanel extends JPanel implements ScriptListener provider.clear(); // set the syntax - if (language.contentEquals("JavaScript")) + if (StringUtil.equals(language, "JavaScript")) { // setSyntax(SyntaxConstants.SYNTAX_STYLE_JAVA); setSyntax(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT); @@ -647,7 +648,7 @@ public class ScriptingPanel extends JPanel implements ScriptListener } }); } - else if (language.contentEquals("Python")) + else if (StringUtil.equals(language, "Python")) { setSyntax(SyntaxConstants.SYNTAX_STYLE_PYTHON); ac = new PythonAutoCompletion(provider); @@ -735,7 +736,7 @@ public class ScriptingPanel extends JPanel implements ScriptListener { // add the scripting handler, which handles the compilation // and the parsing of the code for advanced features. - if (language.contentEquals("JavaScript")) + if (StringUtil.equals(language, "JavaScript")) { // if // (System.getProperty("java.version").startsWith("1.6.")) { @@ -746,7 +747,7 @@ public class ScriptingPanel extends JPanel implements ScriptListener // pane.getGutter(), true); // } } - else if (language.contentEquals("Python")) + else if (StringUtil.equals(language, "Python")) { scriptHandler = new PythonScriptingHandler(provider, textArea, pane.getGutter(), true); } @@ -754,6 +755,7 @@ public class ScriptingPanel extends JPanel implements ScriptListener { scriptHandler = null; } + if (scriptHandler != null) { if (!integrated && consoleOutput != null)