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 @Pure public boolean equals(final Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SemanticHighlightingParams other = (SemanticHighlightingParams) obj; if (this.textDocument == null) { if (other.textDocument != null) return false; } else if (!this.textDocument.equals(other.textDocument)) return false; if (this.lines == null) { if (other.lines != null) return false; } else if (!this.lines.equals(other.lines)) return false; return true; }
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 TextDocumentEdit convertToTextDocumentEdit(int version) { String uri = JDTUtils.toURI(compilationUnit); VersionedTextDocumentIdentifier identifier = new VersionedTextDocumentIdentifier(version); identifier.setUri(uri); return new TextDocumentEdit(identifier, this.convert()); }
public VersionedTextDocumentIdentifier read(final JsonReader in) throws IOException { JsonToken nextToken = in.peek(); if (nextToken == JsonToken.NULL) { return null; } VersionedTextDocumentIdentifier result = new VersionedTextDocumentIdentifier(); in.beginObject(); while (in.hasNext()) { String name = in.nextName(); switch (name) { case "version": result.setVersion(readVersion(in)); break; case "uri": result.setUri(readUri(in)); break; default: in.skipValue(); } } in.endObject(); return result; }
VersionedTextDocumentIdentifier identifier = new VersionedTextDocumentIdentifier(); identifier.setUri(testFile.toPath().toUri().toString()); TextDocumentEdit textDocumentEdit = new TextDocumentEdit(identifier, content); WorkspaceEdit workspaceEdit = new WorkspaceEdit(); 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);
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); } }
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); }); }
public List<Position> install(ICompilationUnit unit) throws JavaModelException, BadPositionCategoryException { if (enabled.get()) { List<HighlightedPositionCore> positions = calculateHighlightedPositions(unit, false); String uri = JDTUtils.getFileURI(unit.getResource()); this.cache.put(uri, positions); if (!positions.isEmpty()) { IDocument document = JsonRpcHelpers.toDocument(unit.getBuffer()); List<SemanticHighlightingInformation> infos = toInfos(document, positions); VersionedTextDocumentIdentifier textDocument = new VersionedTextDocumentIdentifier(uri, 1); notifyClient(textDocument, infos); } return ImmutableList.copyOf(positions); } return emptyList(); }
VersionedTextDocumentIdentifier textDocumentIdentifier = new VersionedTextDocumentIdentifier(); textDocumentIdentifier.setUri(uri); TextDocumentEdit textDocumentEdit = new TextDocumentEdit(textDocumentIdentifier, Collections.singletonList(textEdit));
protected VersionedTextDocumentIdentifier toVersionedTextDocumentIdentifier(final ILanguageServerAccess.Context context) { VersionedTextDocumentIdentifier _versionedTextDocumentIdentifier = new VersionedTextDocumentIdentifier(); final Procedure1<VersionedTextDocumentIdentifier> _function = (VersionedTextDocumentIdentifier it) -> { it.setUri(this._uriExtensions.toUriString(context.getResource().getURI())); it.setVersion(context.getDocument().getVersion()); }; return ObjectExtensions.<VersionedTextDocumentIdentifier>operator_doubleArrow(_versionedTextDocumentIdentifier, _function); }
@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); } } }
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(); }
TextDocumentEdit _textDocumentEdit = new TextDocumentEdit(); final Procedure1<TextDocumentEdit> _function_6 = (TextDocumentEdit it_2) -> { VersionedTextDocumentIdentifier _versionedTextDocumentIdentifier = new VersionedTextDocumentIdentifier("file:/baz.txt", Integer.valueOf(17)); it_2.setTextDocument(_versionedTextDocumentIdentifier); TextEdit _textEdit = new TextEdit();
SimpleTextDocumentService documents = getTextDocumentService(); int requestedVersion = documents.getDocument(docId.getUri()).getVersion(); 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());
@Test public void testDidChange_noChanges() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage( String.format("Calling didChange with no changes on uri '%s'", filePath.toUri())); VersionedTextDocumentIdentifier ident = new VersionedTextDocumentIdentifier(0); ident.setUri(filePath.toAbsolutePath().toString()); service.didChange(new DidChangeTextDocumentParams(ident, ImmutableList.of())); }
public VersionedTextDocumentIdentifier read(final JsonReader in) throws IOException { JsonToken nextToken = in.peek(); if (nextToken == JsonToken.NULL) { return null; } VersionedTextDocumentIdentifier result = new VersionedTextDocumentIdentifier(); in.beginObject(); while (in.hasNext()) { String name = in.nextName(); switch (name) { case "version": result.setVersion(readVersion(in)); break; case "uri": result.setUri(readUri(in)); break; default: in.skipValue(); } } in.endObject(); return result; }
@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 boolean equals(final Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SemanticHighlightingParams other = (SemanticHighlightingParams) obj; if (this.textDocument == null) { if (other.textDocument != null) return false; } else if (!this.textDocument.equals(other.textDocument)) return false; if (this.lines == null) { if (other.lines != null) return false; } else if (!this.lines.equals(other.lines)) return false; return true; }