public void write(final JsonWriter out, final InitializeParams value) throws IOException { if (value == null) { out.nullValue(); return; } out.beginObject(); out.name("processId"); writeProcessId(out, value.getProcessId()); out.name("rootPath"); writeRootPath(out, value.getRootPath()); out.name("rootUri"); writeRootUri(out, value.getRootUri()); out.name("initializationOptions"); writeInitializationOptions(out, value.getInitializationOptions()); out.name("capabilities"); writeCapabilities(out, value.getCapabilities()); out.name("clientName"); writeClientName(out, value.getClientName()); out.name("trace"); writeTrace(out, value.getTrace()); out.name("workspaceFolders"); writeWorkspaceFolders(out, value.getWorkspaceFolders()); out.endObject(); }
InitializeParams get(String id) throws LanguageServerException { InitializeParams initializeParams = new InitializeParams(); LOG.debug("Initialize params constructing: started"); initializeParams.setProcessId(processId); LOG.debug("Process id: {}", processId); rootPath = Paths.get(rootUri).toAbsolutePath().toString(); initializeParams.setRootPath(rootPath); LOG.debug("Root path: {}", rootPath); rootUri = this.rootUri.toString(); initializeParams.setRootUri(rootUri); LOG.debug("Root URI: {}", rootUri); initializeParams.setCapabilities(capabilities); LOG.debug("Client capabilities: {}", capabilities); initializeParams.setClientName(clientName); LOG.debug("Client name: {}", clientName);
private InitializeParams getInitializeParams() { InitializeParams params = new InitializeParams(); params.setProcessId(0); params.setClientName("natacha"); params.setRootUri(workspaceRoot.getRoot().toPath().toUri().toString()); return params; }
InitializeParams result = new InitializeParams(); in.beginObject(); while (in.hasNext()) { switch (name) { case "processId": result.setProcessId(readProcessId(in)); break; case "rootPath": result.setRootPath(readRootPath(in)); break; case "rootUri": result.setRootUri(readRootUri(in)); break; case "initializationOptions": result.setInitializationOptions(readInitializationOptions(in)); break; case "capabilities": result.setCapabilities(readCapabilities(in)); break; case "clientName": result.setClientName(readClientName(in)); break; case "trace": result.setTrace(readTrace(in)); break; case "workspaceFolders": result.setWorkspaceFolders(readWorkspaceFolders(in)); break;
it.setId("1"); it.setMethod(MessageMethods.INITIALIZE); InitializeParams _initializeParams = new InitializeParams(); final Procedure1<InitializeParams> _function_1 = (InitializeParams it_1) -> { it_1.setRootUri("file:///tmp/foo"); ClientCapabilities _clientCapabilities = new ClientCapabilities(); final Procedure1<ClientCapabilities> _function_2 = (ClientCapabilities it_2) -> { }; ClientCapabilities _doubleArrow = ObjectExtensions.<ClientCapabilities>operator_doubleArrow(_clientCapabilities, _function_2); it_1.setCapabilities(_doubleArrow); }; InitializeParams _doubleArrow = ObjectExtensions.<InitializeParams>operator_doubleArrow(_initializeParams, _function_1);
Map<?, ?> initializationOptions = this.getInitializationOptions(param); Map<String, Object> extendedClientCapabilities = getInitializationOption(initializationOptions, "extendedClientCapabilities", Map.class); if (param.getCapabilities() == null) { preferenceManager.updateClientPrefences(new ClientCapabilities(), extendedClientCapabilities); } else { preferenceManager.updateClientPrefences(param.getCapabilities(), extendedClientCapabilities); String rootPath = param.getRootUri(); if (rootPath == null) { rootPath = param.getRootPath(); if (rootPath != null) { logInfo("In LSP 3.0, InitializeParams.rootPath is deprecated in favour of InitializeParams.rootUri!"); Integer processId = param.getProcessId(); if (processId != null) { JavaLanguageServerPlugin.getLanguageServer().setParentProcessId(processId.longValue());
@Test public void testInitialize_rootPathRootUri() throws Exception { InitializeParams rootPathParams = new InitializeParams(); rootPathParams.setRootPath(folder.getRoot().toPath().toString()); InitializeParams rootUriParams = new InitializeParams(); rootUriParams.setRootUri(folder.getRoot().toURI().toString()); GroovyLanguageServer pathServer = new GroovyLanguageServer(Mockito.mock(LanguageServerState.class), Mockito.mock(TextDocumentService.class), Mockito.mock(WorkspaceService.class)); pathServer.initialize(rootPathParams); GroovyLanguageServer uriServer = new GroovyLanguageServer(Mockito.mock(LanguageServerState.class), Mockito.mock(TextDocumentService.class), Mockito.mock(WorkspaceService.class)); uriServer.initialize(rootUriParams); assertThat(pathServer.getWorkspaceRoot()).isEqualTo(uriServer.getWorkspaceRoot()); }
it.setId("1"); it.setMethod(MessageMethods.INITIALIZE); InitializeParams _initializeParams = new InitializeParams(); final Procedure1<InitializeParams> _function_1 = (InitializeParams it_1) -> { it_1.setRootUri("file:///tmp/foo"); }; InitializeParams _doubleArrow = ObjectExtensions.<InitializeParams>operator_doubleArrow(_initializeParams, _function_1);
@Override public CompletableFuture<InitializeResult> initialize(InitializeParams params) { log.info("Initializing"); clientCapabilities.complete(params.getCapabilities()); String rootUri = params.getRootUri(); if (rootUri==null) { log.debug("workspaceRoot NOT SET"); this.hasCompletionSnippetSupport = safeGet(false, () -> params.getCapabilities().getTextDocument().getCompletion().getCompletionItem().getSnippetSupport()); this.hasExecuteCommandSupport = safeGet(false, () -> params.getCapabilities().getWorkspace().getExecuteCommand()!=null); this.hasFileWatcherRegistrationSupport = safeGet(false, () -> params.getCapabilities().getWorkspace().getDidChangeWatchedFiles().getDynamicRegistration()); log.debug("workspaceRoots = "+getWorkspaceService().getWorkspaceRoots()); log.debug("hasCompletionSnippetSupport = "+hasCompletionSnippetSupport);
@Override public CompletableFuture<InitializeResult> initialize(InitializeParams params) { logger.debug("Initializing Groovy Language Server"); workspaceRoot = Paths.get(Optional.ofNullable(params.getRootUri()) .map(URI::create) .map(URI::normalize) .orElseGet(() -> Optional.ofNullable(params.getRootPath()) .map(Paths::get) .map(Path::toAbsolutePath)
/** * {@code true} if the {@code TextDocumentClientCapabilities} explicitly declares the hierarchical document symbol support * at LS initialization time. Otherwise, false. */ protected boolean isHierarchicalDocumentSymbolSupport() { Boolean _elvis = null; ClientCapabilities _capabilities = this.params.getCapabilities(); TextDocumentClientCapabilities _textDocument = null; if (_capabilities!=null) { _textDocument=_capabilities.getTextDocument(); } DocumentSymbolCapabilities _documentSymbol = null; if (_textDocument!=null) { _documentSymbol=_textDocument.getDocumentSymbol(); } Boolean _hierarchicalDocumentSymbolSupport = null; if (_documentSymbol!=null) { _hierarchicalDocumentSymbolSupport=_documentSymbol.getHierarchicalDocumentSymbolSupport(); } if (_hierarchicalDocumentSymbolSupport != null) { _elvis = _hierarchicalDocumentSymbolSupport; } else { _elvis = Boolean.valueOf(false); } return (boolean) _elvis; }
protected URI getBaseDir(final InitializeParams params) { String _rootUri = params.getRootUri(); boolean _tripleNotEquals = (_rootUri != null); if (_tripleNotEquals) { return this._uriExtensions.toUri(params.getRootUri()); } return this.deprecatedToBaseDir(params); }
@Deprecated private URI deprecatedToBaseDir(final InitializeParams params) { String _rootPath = params.getRootPath(); boolean _tripleNotEquals = (_rootPath != null); if (_tripleNotEquals) { return this._uriExtensions.toUri(this._uriExtensions.toUriString(URI.createFileURI(params.getRootPath()))); } return null; }
private Map<?, ?> getInitializationOptions(InitializeParams params) { Map<?, ?> initOptions = JSONUtility.toModel(params.getInitializationOptions(), Map.class); return initOptions == null ? Collections.emptyMap() : initOptions; }
@Test public void testInitialize_noRootPathOrRootUri() throws Exception { InitializeParams params = new InitializeParams(); assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> server.initialize(params)); }
InitializeParams result = new InitializeParams(); in.beginObject(); while (in.hasNext()) { switch (name) { case "processId": result.setProcessId(readProcessId(in)); break; case "rootPath": result.setRootPath(readRootPath(in)); break; case "rootUri": result.setRootUri(readRootUri(in)); break; case "initializationOptions": result.setInitializationOptions(readInitializationOptions(in)); break; case "capabilities": result.setCapabilities(readCapabilities(in)); break; case "clientName": result.setClientName(readClientName(in)); break; case "trace": result.setTrace(readTrace(in)); break; case "workspaceFolders": result.setWorkspaceFolders(readWorkspaceFolders(in)); break;
it.setId("1"); it.setMethod(MessageMethods.INITIALIZE); InitializeParams _initializeParams = new InitializeParams(); final Procedure1<InitializeParams> _function_1 = (InitializeParams it_1) -> { it_1.setRootUri("file:///tmp/foo"); ClientCapabilities _clientCapabilities = new ClientCapabilities(); final Procedure1<ClientCapabilities> _function_2 = (ClientCapabilities it_2) -> { }; ClientCapabilities _doubleArrow = ObjectExtensions.<ClientCapabilities>operator_doubleArrow(_clientCapabilities, _function_2); it_1.setCapabilities(_doubleArrow); }; InitializeParams _doubleArrow = ObjectExtensions.<InitializeParams>operator_doubleArrow(_initializeParams, _function_1);
it.setId("1"); it.setMethod(MessageMethods.INITIALIZE); InitializeParams _initializeParams = new InitializeParams(); final Procedure1<InitializeParams> _function_1 = (InitializeParams it_1) -> { it_1.setRootUri("file:///tmp/foo"); }; InitializeParams _doubleArrow = ObjectExtensions.<InitializeParams>operator_doubleArrow(_initializeParams, _function_1);
res.getCapabilities().setWorkspaceSymbolProvider(true); TextDocumentClientCapabilities textDocCapabilities = params.getCapabilities().getTextDocument(); ((BallerinaTextDocumentService) this.textService).setClientCapabilities(textDocCapabilities); (LinkedTreeMap<String, Boolean>) params.getCapabilities().getExperimental();
private List<WorkspaceFolder> getWorkspaceFolders(InitializeParams params) { List<WorkspaceFolder> initialFolders = new ArrayList<>(); Object initOptions = params.getInitializationOptions(); if (initOptions != null && initOptions instanceof JsonObject) { JsonObject initializationOptions = (JsonObject) initOptions; JsonElement folders = initializationOptions.get("workspaceFolders"); if (folders != null && folders instanceof JsonArray) { JsonArray workspaceFolders = (JsonArray) folders; for (JsonElement object : workspaceFolders) { String folderUri = object.getAsString(); String folderName = null; int folderNameStart = folderUri.lastIndexOf("/"); if (folderNameStart > 0) { folderName = folderUri.substring(folderUri.lastIndexOf("/") + 1); } WorkspaceFolder folder = new WorkspaceFolder(); folder.setName(folderName); folder.setUri(folderUri); initialFolders.add(folder); } } } return initialFolders; }