From c6aadc834e564b037ab721e296dea868954a963a Mon Sep 17 00:00:00 2001 From: Sven Efftinge Date: Wed, 1 Jun 2016 10:51:15 +0200 Subject: [PATCH] [lsp] made start of languageserver implicit after connect() --- .../org/eclipse/xtext/ide/server/ServerLauncher.xtend | 1 - .../xtext/ide/tests/server/ServerLauncherTest.xtend | 11 ++++++++--- .../testlanguage/TestLanguageRuntimeModule.xtend | 6 ++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend index 794d9423a..1348446b0 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/ServerLauncher.xtend @@ -80,7 +80,6 @@ class ServerLauncher { p2.printStackTrace(System.err) ] messageAcceptor.connect(stdin, stdout) - messageAcceptor.start System.err.println("started.") messageAcceptor.join while (!hasExitNotification.get) { diff --git a/tests/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/ServerLauncherTest.xtend b/tests/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/ServerLauncherTest.xtend index 3ec89a492..2294de6af 100644 --- a/tests/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/ServerLauncherTest.xtend +++ b/tests/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/ServerLauncherTest.xtend @@ -25,7 +25,8 @@ class ServerLauncherTest { @Before def void setUp() { - this.process = new ProcessBuilder("java","-cp",System.getProperty("java.class.path"), "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044", ServerLauncher.name + this.process = new ProcessBuilder("java","-cp",System.getProperty("java.class.path") + , ServerLauncher.name // ,"debug" ).redirectInput(Redirect.PIPE).redirectOutput(Redirect.PIPE).start } @@ -35,13 +36,17 @@ class ServerLauncherTest { process?.destroy } - @Test(timeout = 5000) + @Test(timeout = 3000) def void testServerLaunch() { val client = new JsonBasedLanguageServer() + client.protocol.addErrorListener[p1, p2| + System.err.println(p1) + p2?.printStackTrace + ] client.connect(process.inputStream, process.outputStream) val msg = client.initialize(new InitializeParamsImpl() => [ rootPath = "." - ]) + ]).get Assert.assertTrue(msg != null) } diff --git a/tests/org.eclipse.xtext.ide.tests/testlang-src/org/eclipse/xtext/ide/tests/testlanguage/TestLanguageRuntimeModule.xtend b/tests/org.eclipse.xtext.ide.tests/testlang-src/org/eclipse/xtext/ide/tests/testlanguage/TestLanguageRuntimeModule.xtend index f7ba0d4a3..dfa7f1ea0 100644 --- a/tests/org.eclipse.xtext.ide.tests/testlang-src/org/eclipse/xtext/ide/tests/testlanguage/TestLanguageRuntimeModule.xtend +++ b/tests/org.eclipse.xtext.ide.tests/testlang-src/org/eclipse/xtext/ide/tests/testlanguage/TestLanguageRuntimeModule.xtend @@ -16,6 +16,8 @@ import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer import org.eclipse.xtext.ide.tests.testlanguage.ide.contentassist.antlr.TestLanguageParser import org.eclipse.xtext.ide.tests.testlanguage.ide.contentassist.antlr.internal.InternalTestLanguageLexer +import org.eclipse.xtext.ide.editor.syntaxcoloring.IEditorHighlightingConfigurationProvider +import org.eclipse.xtext.ide.tests.testlanguage.highlighting.TestLanguageHighlightingProvider /** * Use this class to register components to be used at runtime / without the Equinox extension registry. @@ -33,5 +35,9 @@ class TestLanguageRuntimeModule extends AbstractTestLanguageRuntimeModule { def Class bindIContentAssistParser() { TestLanguageParser } + + def Class bindIEditorHighlightingConfigurationProvider() { + TestLanguageHighlightingProvider + } }