private void receiveHighlights(HighlightParams highlights) { Collection<CompletableFuture<HighlightParams>>requestors = ImmutableList.of(); synchronized (this) { String uri = highlights.getDoc().getUri(); if (uri!=null) { requestors = ImmutableList.copyOf(this.highlights.get(uri)); //Carefull!! Must make a copy above. Because the returned collection is cleared when we call removeAll below. this.highlights.removeAll(uri); //futures can only be completed once, so no point holding any longer } } for (CompletableFuture<HighlightParams> future : requestors) { future.complete(highlights); } }
public void write(final JsonWriter out, final VersionedTextDocumentIdentifier value) throws IOException { if (value == null) { out.nullValue(); return; } out.beginObject(); out.name("version"); writeVersion(out, value.getVersion()); out.name("uri"); writeUri(out, value.getUri()); out.endObject(); }
public void write(final JsonWriter out, final VersionedTextDocumentIdentifier value) throws IOException { if (value == null) { out.nullValue(); return; } out.beginObject(); out.name("version"); writeVersion(out, value.getVersion()); out.name("uri"); writeUri(out, value.getUri()); out.endObject(); }
VersionedTextDocumentIdentifier clone( VersionedTextDocumentIdentifier versionedTextDocumentIdentifier) { if (versionedTextDocumentIdentifier == null) { return null; } Integer version = versionedTextDocumentIdentifier.getVersion(); String uri = versionedTextDocumentIdentifier.getUri(); VersionedTextDocumentIdentifier cloned = new VersionedTextDocumentIdentifier(); cloned.setUri(uri); cloned.setVersion(version); return cloned; }
@Override public void didChange(DidChangeTextDocumentParams params) { Path changedPath = new LSDocument(params.getTextDocument().getUri()).getPath(); if (changedPath != null) { String content = params.getContentChanges().get(0).getText(); Optional<Lock> lock = Optional.empty(); try { Path compilationPath = getUntitledFilePath(changedPath.toString()).orElse(changedPath); lock = documentManager.updateFile(compilationPath, content); LanguageClient client = this.ballerinaLanguageServer.getClient(); this.diagPushDebouncer.call(() -> { diagnosticsHelper.compileAndSendDiagnostics(client, lsCompiler, changedPath, compilationPath); }); } catch (WorkspaceDocumentException e) { logger.error("Error while updating change in file:" + changedPath.toString(), e); } finally { lock.ifPresent(Lock::unlock); } } }
@Override public final void didChange(DidChangeTextDocumentParams params) { URI uri = Uris.resolveToRoot(getWorkspacePath(), params.getTextDocument().getUri()); if (params.getContentChanges() == null || params.getContentChanges().isEmpty()) { throw new IllegalArgumentException( String.format("Calling didChange with no changes on uri '%s'", uri.toString())); } getState().getCompilerWrapper().handleFileChanged(uri, Lists.newArrayList(params.getContentChanges())); getState().publishDiagnostics(getState().getCompilerWrapper().compile(ImmutableSet.of(uri))); }
public VersionedTextDocumentIdentifierDto(org.eclipse.lsp4j.VersionedTextDocumentIdentifier o) { if (o.getVersion() == null) { setVersion((java.lang.Integer)null); } else { java.lang.Integer versionVal = (java.lang.Integer)makeDto(o.getVersion());; setVersion((java.lang.Integer)versionVal); } if (o.getUri() == null) { setUri((java.lang.String)null); } else { java.lang.String uriVal = (java.lang.String)makeDto(o.getUri());; setUri((java.lang.String)uriVal); } }
@Override @Pure public String toString() { ToStringBuilder b = new ToStringBuilder(this); b.add("version", this.version); b.add("uri", getUri()); return b.toString(); }
@Override @Pure public String toString() { ToStringBuilder b = new ToStringBuilder(this); b.add("version", this.version); b.add("uri", getUri()); return b.toString(); }
private void didChange(DidChangeTextDocumentParams didChangeTextDocumentParams) { String wsPath = didChangeTextDocumentParams.getTextDocument().getUri(); findServer .byPath(wsPath) .forEach( server -> { URI uri = languageServerPathTransformer.toFsURI(server.getId(), wsPath); DidChangeTextDocumentParams clonedDidChangeTextDocumentParams = lsParamsCloner.clone(didChangeTextDocumentParams); clonedDidChangeTextDocumentParams.getTextDocument().setUri(uri.toString()); server.getTextDocumentService().didChange(clonedDidChangeTextDocumentParams); }); }
@Override public final void didChange(DidChangeTextDocumentParams params) { async.execute(() -> { try { VersionedTextDocumentIdentifier docId = params.getTextDocument(); String url = docId.getUri(); // Log.debug("didChange: "+url); if (url!=null) { TextDocument doc = getDocument(url); List<TextDocumentContentChangeEvent> changes = params.getContentChanges(); doc.apply(params); didChangeContent(doc, changes); } } catch (BadLocationException e) { log.error("", e); } }); }
@Override public void apiDesignDidChange(ApiDesignDidChangeParams params) { String fileUri = params.getDocumentIdentifier().getUri(); Path sourceFilePath = new LSDocument(fileUri).getPath(); Optional<Lock> lock = documentManager.lockFile(sourceFilePath);
VersionedTextDocumentIdentifier request = new VersionedTextDocumentIdentifier(requestedVersion); request.setUri(docId.getUri()); log.debug("Reconcile requested {} - {}", request.getUri(), request.getVersion()); if (!queuedReconcileRequests.add(request)) { log.debug("Reconcile skipped {} - {}", request.getUri(), request.getVersion()); return; log.debug("Reconcile starting {} - {}", request.getUri(), request.getVersion()); TextDocument doc = documents.getDocument(docId.getUri()).copy(); if (requestedVersion!=doc.getVersion()) { log.debug("Reconcile aborted {} - {}", request.getUri(), request.getVersion());
@Override public CompletableFuture<BallerinaASTDidChangeResponse> astDidChange(BallerinaASTDidChange notification) { BallerinaASTDidChangeResponse reply = new BallerinaASTDidChangeResponse(); String fileUri = notification.getTextDocumentIdentifier().getUri(); Path formattingFilePath = new LSDocument(fileUri).getPath(); Path compilationPath = getUntitledFilePath(formattingFilePath.toString()).orElse(formattingFilePath);
if (edit.isLeft()) { TextDocumentEdit docEdit = edit.getLeft(); String uri = docEdit.getTextDocument().getUri(); TextDocumentInfo docInfo = documents.get(uri);
ExtendedTextDocumentEdit edit = new ExtendedTextDocumentEdit(); edit.setTextDocument(documentEdit.getTextDocument()); edit.getTextDocument().setUri(removePrefixUri(edit.getTextDocument().getUri())); edit.setEdits( convertToExtendedEdit( documentEdit.getEdits(), removeUriScheme(documentEdit.getTextDocument().getUri()))); edits.add(edit);
client.showMessage(new MessageParams(MessageType.Info, message)); if (workspace.getExperimentalClientCapabilities().get(SHOW_TEXT_DOCUMENT.getValue())) { Location location = new Location(identifier.getUri(), focus); client.showTextDocument(location);
@Override public void didChange(final DidChangeTextDocumentParams params) { final Function0<BuildManager.Buildable> _function = () -> { final Function1<TextDocumentContentChangeEvent, TextEdit> _function_1 = (TextDocumentContentChangeEvent event) -> { Range _range = event.getRange(); String _text = event.getText(); return new TextEdit(_range, _text); }; return this.workspaceManager.didChange(this._uriExtensions.toUri(params.getTextDocument().getUri()), params.getTextDocument().getVersion(), ListExtensions.<TextDocumentContentChangeEvent, TextEdit>map(params.getContentChanges(), _function_1)); }; final Function2<CancelIndicator, BuildManager.Buildable, List<IResourceDescription.Delta>> _function_1 = (CancelIndicator cancelIndicator, BuildManager.Buildable buildable) -> { return buildable.build(cancelIndicator); }; this.requestManager.<BuildManager.Buildable, List<IResourceDescription.Delta>>runWrite(_function, _function_1); }
public void handleChanged(DidChangeTextDocumentParams params) { String uri = params.getTextDocument().getUri(); ICompilationUnit unit = JDTUtils.resolveCompilationUnit(uri);