11package org .javacs ;
22
3+ import java .util .function .Consumer ;
4+ import java .util .logging .Logger ;
35import org .eclipse .lsp4j .*;
46import org .eclipse .lsp4j .services .LanguageClient ;
57
911
1012class LanguageServerFixture {
1113
14+ public static Path DEFAULT_WORKSPACE_ROOT = Paths .get ("src/test/test-project/workspace" ).toAbsolutePath ();
15+
1216 static {
1317 Main .setRootFormat ();
1418 }
1519
1620 static JavaLanguageServer getJavaLanguageServer () {
17- return getJavaLanguageServer (new LanguageClient () {
21+ return getJavaLanguageServer (DEFAULT_WORKSPACE_ROOT , diagnostic -> LOG .info (diagnostic .getMessage ()));
22+ }
23+
24+ static JavaLanguageServer getJavaLanguageServer (Path workspaceRoot , Consumer <Diagnostic > onError ) {
25+ return getJavaLanguageServer (workspaceRoot , new LanguageClient () {
1826 @ Override
1927 public void telemetryEvent (Object o ) {
2028
2129 }
2230
2331 @ Override
2432 public void publishDiagnostics (PublishDiagnosticsParams publishDiagnosticsParams ) {
25-
33+ publishDiagnosticsParams . getDiagnostics (). forEach ( onError );
2634 }
2735
2836 @ Override
@@ -42,10 +50,8 @@ public void logMessage(MessageParams messageParams) {
4250 });
4351 }
4452
45- static JavaLanguageServer getJavaLanguageServer (LanguageClient client ) {
46- Path workspaceRoot = Paths .get ("src/test/test-project/workspace" ).toAbsolutePath ();
53+ private static JavaLanguageServer getJavaLanguageServer (Path workspaceRoot , LanguageClient client ) {
4754 JavaLanguageServer server = new JavaLanguageServer ();
48-
4955 InitializeParams init = new InitializeParams ();
5056
5157 init .setRootPath (workspaceRoot .toString ());
@@ -57,4 +63,6 @@ static JavaLanguageServer getJavaLanguageServer(LanguageClient client) {
5763
5864 return server ;
5965 }
66+
67+ private static final Logger LOG = Logger .getLogger ("main" );
6068}
0 commit comments