public TextDocumentIdentifier getId() { TextDocumentIdentifier id = new TextDocumentIdentifier(); id.setUri(getUri()); return id; }
TextDocumentIdentifier clone(TextDocumentIdentifier textDocumentIdentifier) { if (textDocumentIdentifier == null) { return null; } String uri = textDocumentIdentifier.getUri(); TextDocumentIdentifier cloned = new TextDocumentIdentifier(); cloned.setUri(uri); return cloned; }
@Override public CompletableFuture<List<? extends Location>> start(ExtendedLanguageServer element) { TextDocumentPositionParams clonedTextDocumentPositionParams = lsParamsCloner.clone(textDocumentPositionParams); if (wsPath.startsWith(ROOT)) { URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedTextDocumentPositionParams.getTextDocument().setUri(uri.toString()); } else { clonedTextDocumentPositionParams.getTextDocument().setUri(wsPath); } return element.getTextDocumentService().definition(clonedTextDocumentPositionParams); }
private List<TextEditDto> formatting(DocumentFormattingParams documentFormattingParams) { try { String wsPath = documentFormattingParams.getTextDocument().getUri(); Optional<ExtendedLanguageServer> serverOptional = findServer .byPath(wsPath) .stream() .filter(s -> truish(s.getCapabilities().getDocumentFormattingProvider())) .findFirst(); if (serverOptional.isPresent()) { String lsId = serverOptional.get().getId(); URI uri = languageServerPathTransformer.toFsURI(lsId, wsPath); documentFormattingParams.getTextDocument().setUri(uri.toString()); return serverOptional .get() .getTextDocumentService() .formatting(documentFormattingParams) .get(5000, TimeUnit.MILLISECONDS) .stream() .map(TextEditDto::new) .collect(Collectors.toList()); } else { return emptyList(); } } catch (InterruptedException | ExecutionException | TimeoutException e) { throw new JsonRpcException(-27000, e.getMessage()); } }
private List<TextEditDto> rangeFormatting( DocumentRangeFormattingParams documentRangeFormattingParams) { try { String wsPath = documentRangeFormattingParams.getTextDocument().getUri(); Optional<ExtendedLanguageServer> serverOptional = findServer .byPath(wsPath) .stream() .filter(s -> truish(s.getCapabilities().getDocumentRangeFormattingProvider())) .findFirst(); if (serverOptional.isPresent()) { String lsId = serverOptional.get().getId(); URI uri = languageServerPathTransformer.toFsURI(lsId, wsPath); documentRangeFormattingParams.getTextDocument().setUri(uri.toString()); return serverOptional .get() .getTextDocumentService() .rangeFormatting(documentRangeFormattingParams) .get() .stream() .map(TextEditDto::new) .collect(Collectors.toList()); } else { return emptyList(); } } catch (InterruptedException | ExecutionException e) { throw new JsonRpcException(-27000, e.getMessage()); } }
private List<TextEditDto> onTypeFormatting( DocumentOnTypeFormattingParams documentOnTypeFormattingParams) { try { String wsPath = documentOnTypeFormattingParams.getTextDocument().getUri(); Optional<ExtendedLanguageServer> serverOptional = findServer .byPath(wsPath) .stream() .filter(it -> it.getCapabilities().getDocumentOnTypeFormattingProvider() != null) .findFirst(); if (serverOptional.isPresent()) { String lsId = serverOptional.get().getId(); URI uri = languageServerPathTransformer.toFsURI(lsId, wsPath); documentOnTypeFormattingParams.getTextDocument().setUri(uri.toString()); return serverOptional .get() .getTextDocumentService() .onTypeFormatting(documentOnTypeFormattingParams) .get() .stream() .map(TextEditDto::new) .collect(Collectors.toList()); } else { return emptyList(); } } catch (InterruptedException | ExecutionException e) { throw new JsonRpcException(-27000, e.getMessage()); } }
@Override public CompletableFuture<List<Either<SymbolInformation, DocumentSymbol>>> start( ExtendedLanguageServer element) { DocumentSymbolParams clonedDocumentSymbolParams = lsParamsCloner.clone(documentSymbolParams); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedDocumentSymbolParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().documentSymbol(clonedDocumentSymbolParams); }
@Override public CompletableFuture<SignatureHelp> start(ExtendedLanguageServer element) { TextDocumentPositionParams clonedPositionParams = lsParamsCloner.clone(positionParams); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedPositionParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().signatureHelp(clonedPositionParams); }
@Override public CompletableFuture<List<Either<Command, CodeAction>>> start( ExtendedLanguageServer element) { CodeActionParams clonedParams = lsParamsCloner.clone(params); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().codeAction(clonedParams); }
@Override public CompletableFuture<Either<List<CompletionItem>, CompletionList>> start( ExtendedLanguageServer element) { CompletionParams clonedCompletionParams = lsParamsCloner.clone(completionParams); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedCompletionParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().completion(clonedCompletionParams); }
@Override public CompletableFuture<List<? extends Location>> start(ExtendedLanguageServer element) { ReferenceParams clonedReferenceParams = lsParamsCloner.clone(referenceParams); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedReferenceParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().references(clonedReferenceParams); }
@Override public CompletableFuture<Hover> start(ExtendedLanguageServer element) { TextDocumentPositionParams clonedPositionParams = lsParamsCloner.clone(positionParams); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedPositionParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().hover(clonedPositionParams); }
@Override public CompletableFuture<WorkspaceEdit> start(ExtendedLanguageServer element) { RenameParams clonedRenameParams = lsParamsCloner.clone(renameParams); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedRenameParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().rename(clonedRenameParams); }
private void didSave(DidSaveTextDocumentParams didSaveTextDocumentParams) { String wsPath = didSaveTextDocumentParams.getTextDocument().getUri(); findServer .byPath(wsPath) .forEach( server -> { URI uri = languageServerPathTransformer.toFsURI(server.getId(), wsPath); DidSaveTextDocumentParams clonedDidSaveTextDocumentParams = lsParamsCloner.clone(didSaveTextDocumentParams); clonedDidSaveTextDocumentParams.getTextDocument().setUri(uri.toString()); server.getTextDocumentService().didSave(clonedDidSaveTextDocumentParams); }); }
private void didClose(DidCloseTextDocumentParams didCloseTextDocumentParams) { String wsPath = didCloseTextDocumentParams.getTextDocument().getUri(); findServer .byPath(wsPath) .forEach( server -> { URI uri = languageServerPathTransformer.toFsURI(server.getId(), wsPath); DidCloseTextDocumentParams clonedDidCloseTextDocumentParams = lsParamsCloner.clone(didCloseTextDocumentParams); clonedDidCloseTextDocumentParams.getTextDocument().setUri(uri.toString()); server.getTextDocumentService().didClose(clonedDidCloseTextDocumentParams); }); }
TextDocumentIdentifier textDocumentIdentifier = dtoFactory.createDto(TextDocumentIdentifier.class); textDocumentIdentifier.setUri(refactorInfo.getResources()[0].getLocation().toString()); renameParams.setTextDocument(textDocumentIdentifier); } else if (RefactoredItemType.PACKAGE.equals(refactorInfo.getRefactoredItemType())) { TextDocumentIdentifier textDocumentIdentifier = dtoFactory.createDto(TextDocumentIdentifier.class); textDocumentIdentifier.setUri(refactorInfo.getResources()[0].getLocation().toString()); renameParams.setTextDocument(textDocumentIdentifier);
TextDocumentIdentifier _textDocumentIdentifier = new TextDocumentIdentifier(); final Procedure1<TextDocumentIdentifier> _function_2 = (TextDocumentIdentifier it_2) -> { it_2.setUri("file:///tmp/foo"); }; TextDocumentIdentifier _doubleArrow = ObjectExtensions.<TextDocumentIdentifier>operator_doubleArrow(_textDocumentIdentifier, _function_2);