Java 类org.eclipse.lsp4j.InitializeResult 实例源码
项目:camel-language-server
文件:CamelLanguageServer.java
@Override
public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
sendLogMessageNotification(MessageType.Info, "Initializing capabilities of the server...");
Integer processId = params.getProcessId();
if(processId != null) {
setParentProcessId(processId.longValue());
} else {
sendLogMessageNotification(MessageType.Info, "Missing Parent process ID!!");
setParentProcessId(0);
}
InitializeResult result = new InitializeResult();
ServerCapabilities capabilities = new ServerCapabilities();
capabilities.setTextDocumentSync(TextDocumentSyncKind.Full);
capabilities.setCompletionProvider(new CompletionOptions(Boolean.TRUE, Arrays.asList(".","?","&", "\"", "=")));
capabilities.setHoverProvider(Boolean.TRUE);
result.setCapabilities(capabilities);
return CompletableFuture.completedFuture(result);
}
项目:camel-language-server
文件:AbstractCamelLanguageServerTest.java
protected CamelLanguageServer initializeLanguageServer(String text)
throws URISyntaxException, InterruptedException, ExecutionException {
InitializeParams params = new InitializeParams();
params.setProcessId(new Random().nextInt());
params.setRootUri(getTestResource("/workspace/").toURI().toString());
CamelLanguageServer camelLanguageServer = new CamelLanguageServer();
camelLanguageServer.connect(new DummyLanguageClient());
CompletableFuture<InitializeResult> initialize = camelLanguageServer.initialize(params);
assertThat(initialize).isCompleted();
assertThat(initialize.get().getCapabilities().getCompletionProvider().getResolveProvider()).isTrue();
camelLanguageServer.getTextDocumentService().didOpen(new DidOpenTextDocumentParams(createTestTextDocument(text)));
return camelLanguageServer;
}
项目:eclipse.jdt.ls
文件:InitHandlerTest.java
@Test
public void testRegisterDelayedCapability() throws Exception {
ClientPreferences mockCapabilies = mock(ClientPreferences.class);
when(preferenceManager.getClientPreferences()).thenReturn(mockCapabilies);
when(mockCapabilies.isDocumentSymbolDynamicRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isWorkspaceSymbolDynamicRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isDocumentSymbolDynamicRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isCodeActionDynamicRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isDefinitionDynamicRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isHoverDynamicRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isReferencesDynamicRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isDocumentHighlightDynamicRegistered()).thenReturn(Boolean.TRUE);
InitializeResult result = initialize(true);
assertNull(result.getCapabilities().getDocumentSymbolProvider());
DidChangeConfigurationParams params = new DidChangeConfigurationParams();
server.didChangeConfiguration(params);
verify(client, times(7)).registerCapability(any());
}
项目:eclipse.jdt.ls
文件:InitHandlerTest.java
private InitializeResult initialize(boolean dynamicRegistration) throws InterruptedException, ExecutionException {
InitializeParams params = new InitializeParams();
ClientCapabilities capabilities = new ClientCapabilities();
WorkspaceClientCapabilities workspaceCapabilities = new WorkspaceClientCapabilities();
workspaceCapabilities.setDidChangeConfiguration(new DidChangeConfigurationCapabilities(dynamicRegistration));
ExecuteCommandCapabilities executeCommand = new ExecuteCommandCapabilities(dynamicRegistration);
workspaceCapabilities.setExecuteCommand(executeCommand);
capabilities.setWorkspace(workspaceCapabilities);
TextDocumentClientCapabilities textDocument = new TextDocumentClientCapabilities();
SynchronizationCapabilities synchronizationCapabilities = new SynchronizationCapabilities();
synchronizationCapabilities.setWillSave(Boolean.TRUE);
synchronizationCapabilities.setWillSaveWaitUntil(Boolean.TRUE);
capabilities.setTextDocument(textDocument);
params.setCapabilities(capabilities);
CompletableFuture<InitializeResult> result = server.initialize(params);
return result.get();
}
项目:xtext-core
文件:AbstractLanguageServerTest.java
protected InitializeResult initialize() {
return this.initialize(null);
}
项目:xtext-core
文件:AbstractLanguageServerTest.java
protected InitializeResult initialize(final Procedure1<? super InitializeParams> initializer) {
try {
InitializeParams _initializeParams = new InitializeParams();
final Procedure1<InitializeParams> _function = (InitializeParams it) -> {
it.setProcessId(Integer.valueOf(1));
it.setRootUri(this._uriExtensions.toUriString(this.root.toURI().normalize()));
};
final InitializeParams params = ObjectExtensions.<InitializeParams>operator_doubleArrow(_initializeParams, _function);
if (initializer!=null) {
initializer.apply(params);
}
return this.languageServer.initialize(params).get();
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
项目:che
文件:ShowMessageRequestTest.java
@Test
public void testName() throws Exception {
CompletableFuture<MessageActionItem> future = new CompletableFuture<>();
when(transmitter.sendShowMessageRequest(any())).thenReturn(future);
ServerInitializerImpl initializer = new ServerInitializerImpl();
CheLanguageClient client = new CheLanguageClient(eventService, transmitter, "id");
CompletableFuture<Pair<LanguageServer, InitializeResult>> initialize =
initializer.initialize(launcher, client, "/tmp");
Pair<LanguageServer, InitializeResult> resultPair = initialize.get();
server = resultPair.first;
ArgumentCaptor<ShowMessageRequestParams> captor =
ArgumentCaptor.forClass(ShowMessageRequestParams.class);
verify(transmitter, timeout(1500)).sendShowMessageRequest(captor.capture());
ShowMessageRequestParams value = captor.getValue();
assertNotNull(value);
assertEquals(value.getType(), MessageType.Error);
assertEquals(value.getMessage(), "Error Message!!!!");
}
项目:che
文件:ServerInitializerImplTest.java
@Test
public void initializerShouldNotifyObservers() throws Exception {
when(languageDescription.getLanguageId()).thenReturn("languageId");
when(server.initialize(any(InitializeParams.class))).thenReturn(completableFuture);
when(launcher.launch(anyString(), any())).thenReturn(server);
when(launcher.getDescription()).thenReturn(serverDescription);
when(serverDescription.getId()).thenReturn("launcherId");
doNothing().when(initializer).registerCallbacks(any(), any());
initializer.addObserver(observer);
Pair<LanguageServer, InitializeResult> initResult =
initializer.initialize(launcher, null, "/path").get();
assertEquals(server, initResult.first);
verify(observer, timeout(2000))
.onServerInitialized(eq(launcher), eq(server), any(ServerCapabilities.class), eq("/path"));
}
项目:SOMns-vscode
文件:SomLanguageServer.java
@Override
public CompletableFuture<InitializeResult> initialize(final InitializeParams params) {
InitializeResult result = new InitializeResult();
ServerCapabilities cap = new ServerCapabilities();
cap.setTextDocumentSync(TextDocumentSyncKind.Full);
cap.setDocumentSymbolProvider(true);
cap.setWorkspaceSymbolProvider(true);
cap.setDefinitionProvider(true);
cap.setCodeLensProvider(new CodeLensOptions(true));
cap.setExecuteCommandProvider(
new ExecuteCommandOptions(Lists.newArrayList(SomMinitest.COMMAND)));
CompletionOptions completion = new CompletionOptions();
List<String> autoComplTrigger = new ArrayList<>();
autoComplTrigger.add("#"); // Smalltalk symbols
autoComplTrigger.add(":"); // end of keywords, to complete arguments
autoComplTrigger.add("="); // right-hand side of assignments
completion.setTriggerCharacters(autoComplTrigger);
completion.setResolveProvider(false); // TODO: look into that
cap.setCompletionProvider(completion);
result.setCapabilities(cap);
loadWorkspace(params);
return CompletableFuture.completedFuture(result);
}
项目:eclipse.jdt.ls
文件:InitHandlerTest.java
@Test
public void testExecuteCommandProvider() throws Exception {
ClientPreferences mockCapabilies = mock(ClientPreferences.class);
when(mockCapabilies.isExecuteCommandDynamicRegistrationSupported()).thenReturn(Boolean.FALSE);
when(preferenceManager.getClientPreferences()).thenReturn(mockCapabilies);
InitializeResult result = initialize(false);
List<String> commands = result.getCapabilities().getExecuteCommandProvider().getCommands();
assertFalse(commands.isEmpty());
}
项目:eclipse.jdt.ls
文件:InitHandlerTest.java
@Test
public void testExecuteCommandProviderDynamicRegistration() throws Exception {
ClientPreferences mockCapabilies = mock(ClientPreferences.class);
when(mockCapabilies.isExecuteCommandDynamicRegistrationSupported()).thenReturn(Boolean.TRUE);
when(preferenceManager.getClientPreferences()).thenReturn(mockCapabilies);
InitializeResult result = initialize(true);
assertNull(result.getCapabilities().getExecuteCommandProvider());
}
项目:eclipse.jdt.ls
文件:InitHandlerTest.java
@Test
public void testWillSaveAndWillSaveWaitUntilCapabilities() throws Exception {
ClientPreferences mockCapabilies = mock(ClientPreferences.class);
when(mockCapabilies.isExecuteCommandDynamicRegistrationSupported()).thenReturn(Boolean.TRUE);
when(preferenceManager.getClientPreferences()).thenReturn(mockCapabilies);
when(mockCapabilies.isWillSaveRegistered()).thenReturn(Boolean.TRUE);
when(mockCapabilies.isWillSaveWaitUntilRegistered()).thenReturn(Boolean.TRUE);
InitializeResult result = initialize(true);
Either<TextDocumentSyncKind, TextDocumentSyncOptions> o = result.getCapabilities().getTextDocumentSync();
assertTrue(o.isRight());
assertTrue(o.getRight().getWillSave());
assertTrue(o.getRight().getWillSaveWaitUntil());
}
项目:che
文件:InitializedLanguageServer.java
public InitializedLanguageServer(
String id,
LanguageServer server,
InitializeResult initializeResult,
LanguageServerLauncher launcher) {
this.id = id;
this.server = server;
this.initializeResult = initializeResult;
this.launcher = launcher;
}
项目:eclipse.jdt.ls
文件:JDTLanguageServer.java
@Override
public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
logInfo(">> initialize");
InitHandler handler = new InitHandler(pm, preferenceManager, client);
return CompletableFuture.completedFuture(handler.initialize(params));
}
项目:lsp4j
文件:MockLanguageServer.java
@Override
public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
throw new UnsupportedOperationException();
}
项目:lsp4j
文件:NullResponseTest.java
@Override
public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
throw new UnsupportedOperationException();
}
项目:che
文件:InitializedLanguageServer.java
public InitializeResult getInitializeResult() {
return initializeResult;
}
项目:che
文件:LanguageServerRegistryImplTest.java
@BeforeMethod
public void setUp() throws Exception {
this.serverCapabilities = new ServerCapabilities();
serverDescription =
new LanguageServerDescription(
"foo", Collections.singletonList("id"), Collections.emptyList());
initializeResult = new InitializeResult(serverCapabilities);
completableFuture = completedFuture(initializeResult);
when(languageServerLauncher.isAbleToLaunch()).thenReturn(true);
when(languageServerLauncher.getDescription()).thenReturn(serverDescription);
when(languageServerLauncher.isLocal()).thenReturn(true);
when(languageDescription.getLanguageId()).thenReturn("id");
when(languageDescription.getFileExtensions()).thenReturn(Collections.singletonList("txt"));
when(languageDescription.getMimeType()).thenReturn("plain/text");
when(languageServer.getTextDocumentService()).thenReturn(mock(TextDocumentService.class));
when(languageServer.initialize(any(InitializeParams.class))).thenReturn(completableFuture);
when(languageRecognizer.recognizeByPath(anyString())).thenReturn(languageDescription);
when(languageRecognizer.recognizeById(anyString())).thenReturn(languageDescription);
when(pmp.get()).thenReturn(pm);
when(clientFactory.create(anyString())).thenReturn(languageClient);
when(httpJsonRequestFactory.fromUrl(any(String.class))).thenReturn(httpJsonRequest);
when(httpJsonRequest.useGetMethod()).thenReturn(httpJsonRequest);
when(httpJsonRequest.request()).thenReturn(httpJsonResponse);
when(httpJsonResponse.asDto(any())).thenReturn(workspace);
registry =
spy(
new LanguageServerRegistryImpl(
"",
"",
httpJsonRequestFactory,
new HashSet<>(),
Collections.singleton(languageServerLauncher),
Collections.singleton(languageDescription),
pmp,
initializer,
null,
clientFactory,
languageRecognizer) {
@Override
protected String extractProjectPath(String filePath) throws LanguageServerException {
return PROJECT_PATH;
}
});
when(initializer.initialize(
any(LanguageServerLauncher.class), any(LanguageClient.class), anyString()))
.thenAnswer(invocation -> completedFuture(Pair.of(languageServer, initializeResult)));
}
项目:che
文件:ServerInitializerImplTest.java
@BeforeMethod
public void setUp() throws Exception {
initializer = spy(new ServerInitializerImpl());
completableFuture =
CompletableFuture.completedFuture(new InitializeResult(new ServerCapabilities()));
}
项目:che
文件:MavenLanguageServer.java
@Override
public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
ServerCapabilities capabilities = new ServerCapabilities();
capabilities.setTextDocumentSync(TextDocumentSyncKind.Incremental);
return CompletableFuture.completedFuture(new InitializeResult(capabilities));
}
项目:lsp4j
文件:LanguageServer.java
/**
* The initialize request is sent as the first request from the client to
* the server.
*
* If the server receives request or notification before the initialize request it should act as follows:
* - for a request the respond should be errored with code: -32001. The message can be picked by the server.
* - notifications should be dropped, except for the exit notification. This will allow the exit a server without an initialize request.
*
* Until the server has responded to the initialize request with an InitializeResult
* the client must not sent any additional requests or notifications to the server.
*
* During the initialize request the server is allowed to sent the notifications window/showMessage,
* window/logMessage and telemetry/event as well as the window/showMessageRequest request to the client.
*/
@JsonRequest
CompletableFuture<InitializeResult> initialize(InitializeParams params);
项目:lsp4j
文件:JsonSerializeTest.java
@Test
public void testInit() {
RequestMessage _requestMessage = new RequestMessage();
final Procedure1<RequestMessage> _function = (RequestMessage it) -> {
it.setJsonrpc("2.0");
it.setId("1");
it.setMethod(MessageMethods.DOC_COMPLETION);
InitializeResult _initializeResult = new InitializeResult();
final Procedure1<InitializeResult> _function_1 = (InitializeResult it_1) -> {
ServerCapabilities _serverCapabilities = new ServerCapabilities();
it_1.setCapabilities(_serverCapabilities);
};
InitializeResult _doubleArrow = ObjectExtensions.<InitializeResult>operator_doubleArrow(_initializeResult, _function_1);
it.setParams(_doubleArrow);
};
final RequestMessage message = ObjectExtensions.<RequestMessage>operator_doubleArrow(_requestMessage, _function);
StringConcatenation _builder = new StringConcatenation();
_builder.append("{");
_builder.newLine();
_builder.append(" ");
_builder.append("\"jsonrpc\": \"2.0\",");
_builder.newLine();
_builder.append(" ");
_builder.append("\"id\": \"1\",");
_builder.newLine();
_builder.append(" ");
_builder.append("\"method\": \"textDocument/completion\",");
_builder.newLine();
_builder.append(" ");
_builder.append("\"params\": {");
_builder.newLine();
_builder.append(" ");
_builder.append("\"capabilities\": {}");
_builder.newLine();
_builder.append(" ");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
this.assertSerialize(message, _builder);
}
项目:SOMns-vscode
文件:LanguageServer.java
/**
* The initialize request is sent as the first request from the client to
* the server.
*
* If the server receives request or notification before the initialize request it should act as follows:
* - for a request the respond should be errored with code: -32001. The message can be picked by the server.
* - notifications should be dropped, except for the exit notification. This will allow the exit a server without an initialize request.
*
* Until the server has responded to the initialize request with an InitializeResult
* the client must not sent any additional requests or notifications to the server.
*
* During the initialize request the server is allowed to sent the notifications window/showMessage,
* window/logMessage and telemetry/event as well as the window/showMessageRequest request to the client.
*/
@JsonRequest
CompletableFuture<InitializeResult> initialize(InitializeParams params);
项目:che
文件:ServerInitializer.java
/**
* Initialize new {@link LanguageServer} with given project path.
*
* @return
*/
CompletableFuture<Pair<LanguageServer, InitializeResult>> initialize(
LanguageServerLauncher launcher, LanguageClient client, String projectPath)
throws LanguageServerException;