Java 类org.eclipse.lsp4j.DidChangeTextDocumentParams 实例源码

项目:camel-language-server    文件:CamelTextDocumentServiceTest.java   
@Test
public void testChangeEventUpdatesStoredText() throws Exception {
    CamelLanguageServer camelLanguageServer = initializeLanguageServer("<to uri=\"\" xmlns=\"http://camel.apache.org/schema/blueprint\"></to>\n");

    DidChangeTextDocumentParams changeEvent = new DidChangeTextDocumentParams();
    VersionedTextDocumentIdentifier textDocument = new VersionedTextDocumentIdentifier();
    textDocument.setUri(DUMMY_URI);
    changeEvent.setTextDocument(textDocument);
    TextDocumentContentChangeEvent contentChange = new TextDocumentContentChangeEvent("<to xmlns=\"http://camel.apache.org/schema/blueprint\" uri=\"\"></to>\n");
    changeEvent.setContentChanges(Collections.singletonList(contentChange));
    camelLanguageServer.getTextDocumentService().didChange(changeEvent);

    //check old position doesn't provide completion
    CompletableFuture<Either<List<CompletionItem>, CompletionList>> completionsAtOldPosition = getCompletionFor(camelLanguageServer, new Position(0, 11));
    assertThat(completionsAtOldPosition.get().getLeft()).isEmpty();

    //check new position provides completion
    CompletableFuture<Either<List<CompletionItem>, CompletionList>> completionsAtNewPosition = getCompletionFor(camelLanguageServer, new Position(0, 58));
    assertThat(completionsAtNewPosition.get().getLeft()).isNotEmpty();

}
项目:eclipse.jdt.ls    文件:DocumentLifeCycleHandlerTest.java   
private void changeDocument(ICompilationUnit cu, String content, int version, Range range, int length) throws JavaModelException {
    DidChangeTextDocumentParams changeParms = new DidChangeTextDocumentParams();
    VersionedTextDocumentIdentifier textDocument = new VersionedTextDocumentIdentifier();
    textDocument.setUri(JDTUtils.toURI(cu));
    textDocument.setVersion(version);
    changeParms.setTextDocument(textDocument);
    TextDocumentContentChangeEvent event = new TextDocumentContentChangeEvent();
    if (range != null) {
        event.setRange(range);
        event.setRangeLength(length);
    }
    event.setText(content);
    List<TextDocumentContentChangeEvent> contentChanges = new ArrayList<>();
    contentChanges.add(event);
    changeParms.setContentChanges(contentChanges);
    lifeCycleHandler.didChange(changeParms);
}
项目:che    文件:TextDocumentService.java   
private void didChange(DidChangeTextDocumentParams didChangeTextDocumentParams) {
  try {
    String uri = prefixURI(didChangeTextDocumentParams.getTextDocument().getUri());
    didChangeTextDocumentParams.getTextDocument().setUri(uri);
    didChangeTextDocumentParams.setUri(prefixURI(didChangeTextDocumentParams.getUri()));
    languageServerRegistry
        .getApplicableLanguageServers(uri)
        .stream()
        .flatMap(Collection::stream)
        .map(InitializedLanguageServer::getServer)
        .forEach(
            server -> {
              server.getTextDocumentService().didChange(didChangeTextDocumentParams);
            });
  } catch (LanguageServerException e) {
    LOG.error("Error trying to process textDocument/didChange", e);
  }
}
项目:che    文件:FullTextDocumentSynchronize.java   
@Override
public void syncTextDocument(
    Document document, TextPosition start, TextPosition end, String insertedText, int version) {

  DidChangeTextDocumentParams changeDTO = dtoFactory.createDto(DidChangeTextDocumentParams.class);
  String uri = document.getFile().getLocation().toString();
  changeDTO.setUri(uri);
  VersionedTextDocumentIdentifier versionedDocId =
      dtoFactory.createDto(VersionedTextDocumentIdentifier.class);
  versionedDocId.setUri(uri);
  versionedDocId.setVersion(version);
  changeDTO.setTextDocument(versionedDocId);
  TextDocumentContentChangeEvent actualChange =
      dtoFactory.createDto(TextDocumentContentChangeEvent.class);

  actualChange.setText(document.getContents());
  changeDTO.setContentChanges(Collections.singletonList(actualChange));
  textDocumentService.didChange(changeDTO);
}
项目:camel-language-server    文件:CamelTextDocumentService.java   
@Override
public void didChange(DidChangeTextDocumentParams params) {
    LOGGER.info("didChange: " + params.getTextDocument());
    List<TextDocumentContentChangeEvent> contentChanges = params.getContentChanges();
    TextDocumentItem textDocumentItem = openedDocuments.get(params.getTextDocument().getUri());
    if (!contentChanges.isEmpty()) {
        textDocumentItem.setText(contentChanges.get(0).getText());
    }
}
项目:eclipse.jdt.ls    文件:DocumentLifeCycleHandler.java   
public void didChange(DidChangeTextDocumentParams params) {
    try {
        ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
            @Override
            public void run(IProgressMonitor monitor) throws CoreException {
                handleChanged(params);
            }
        }, new NullProgressMonitor());
    } catch (CoreException e) {
        JavaLanguageServerPlugin.logException("Handle document change ", e);
    }
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
private void changeDocument(ICompilationUnit unit, String content, int version) throws JavaModelException {
    DidChangeTextDocumentParams changeParms = new DidChangeTextDocumentParams();
    VersionedTextDocumentIdentifier textDocument = new VersionedTextDocumentIdentifier();
    textDocument.setUri(JDTUtils.toURI(unit));
    textDocument.setVersion(version);
    changeParms.setTextDocument(textDocument);
    TextDocumentContentChangeEvent event = new TextDocumentContentChangeEvent();
    event.setText(content);
    List<TextDocumentContentChangeEvent> contentChanges = new ArrayList<>();
    contentChanges.add(event);
    changeParms.setContentChanges(contentChanges);
    lifeCycleHandler.didChange(changeParms);
}
项目:che    文件:IncrementalTextDocumentSynchronize.java   
@Override
public void syncTextDocument(
    Document document,
    TextPosition startPosition,
    TextPosition endPosition,
    String insertedText,
    int version) {
  DidChangeTextDocumentParams changeDTO = dtoFactory.createDto(DidChangeTextDocumentParams.class);
  String uri = document.getFile().getLocation().toString();
  changeDTO.setUri(uri);
  VersionedTextDocumentIdentifier versionedDocId =
      dtoFactory.createDto(VersionedTextDocumentIdentifier.class);
  versionedDocId.setUri(uri);
  versionedDocId.setVersion(version);
  changeDTO.setTextDocument(versionedDocId);

  Range range = dtoFactory.createDto(Range.class);
  Position start = dtoFactory.createDto(Position.class);
  start.setLine(startPosition.getLine());
  start.setCharacter(startPosition.getCharacter());
  Position end = dtoFactory.createDto(Position.class);
  end.setLine(endPosition.getLine());
  end.setCharacter(endPosition.getCharacter());
  range.setStart(start);
  range.setEnd(end);

  TextDocumentContentChangeEvent actualChange =
      dtoFactory.createDto(TextDocumentContentChangeEvent.class);
  actualChange.setRange(range);
  actualChange.setText(insertedText);

  changeDTO.setContentChanges(Collections.singletonList(actualChange));
  textDocumentService.didChange(changeDTO);
}
项目:SOMns-vscode    文件:SomLanguageServer.java   
@Override
public void didChange(final DidChangeTextDocumentParams params) {
  validateTextDocument(params.getTextDocument().getUri(),
      params.getContentChanges());
}
项目:eclipse.jdt.ls    文件:JDTLanguageServer.java   
@Override
public void didChange(DidChangeTextDocumentParams params) {
    logInfo(">> document/didChange");
    documentLifeCycleHandler.didChange(params);
}
项目:lsp4j    文件:MockLanguageServer.java   
@Override
public void didChange(DidChangeTextDocumentParams params) {
    throw new UnsupportedOperationException();
}
项目:che    文件:MavenTextDocumentService.java   
@Override
public void didChange(DidChangeTextDocumentParams params) {}
项目:che    文件:TextDocumentService.java   
@PostConstruct
public void configureMethods() {
  dtoToDtoList(
      "definition", TextDocumentPositionParams.class, LocationDto.class, this::definition);
  dtoToDtoList("codeAction", CodeActionParams.class, CommandDto.class, this::codeAction);
  dtoToDtoList(
      "documentSymbol",
      DocumentSymbolParams.class,
      SymbolInformationDto.class,
      this::documentSymbol);
  dtoToDtoList("formatting", DocumentFormattingParams.class, TextEditDto.class, this::formatting);
  dtoToDtoList(
      "rangeFormatting",
      DocumentRangeFormattingParams.class,
      TextEditDto.class,
      this::rangeFormatting);
  dtoToDtoList("references", ReferenceParams.class, LocationDto.class, this::references);
  dtoToDtoList(
      "onTypeFormatting",
      DocumentOnTypeFormattingParams.class,
      TextEditDto.class,
      this::onTypeFormatting);

  dtoToDto(
      "completionItem/resolve",
      ExtendedCompletionItem.class,
      ExtendedCompletionItemDto.class,
      this::completionItemResolve);
  dtoToDto(
      "documentHighlight",
      TextDocumentPositionParams.class,
      DocumentHighlight.class,
      this::documentHighlight);
  dtoToDto(
      "completion",
      TextDocumentPositionParams.class,
      ExtendedCompletionListDto.class,
      this::completion);
  dtoToDto("hover", TextDocumentPositionParams.class, HoverDto.class, this::hover);
  dtoToDto(
      "signatureHelp",
      TextDocumentPositionParams.class,
      SignatureHelpDto.class,
      this::signatureHelp);

  dtoToDto("rename", RenameParams.class, RenameResultDto.class, this::rename);

  dtoToNothing("didChange", DidChangeTextDocumentParams.class, this::didChange);
  dtoToNothing("didClose", DidCloseTextDocumentParams.class, this::didClose);
  dtoToNothing("didOpen", DidOpenTextDocumentParams.class, this::didOpen);
  dtoToNothing("didSave", DidSaveTextDocumentParams.class, this::didSave);
}
项目:SOMns-vscode    文件:TextDocumentService.java   
/**
 * The document change notification is sent from the client to the server to
 * signal changes to a text document.
 * 
 * Registration Options: TextDocumentChangeRegistrationOptions
 */
@JsonNotification
void didChange(DidChangeTextDocumentParams params);
项目:lsp4j    文件:TextDocumentService.java   
/**
 * The document change notification is sent from the client to the server to
 * signal changes to a text document.
 * 
 * Registration Options: TextDocumentChangeRegistrationOptions
 */
@JsonNotification
void didChange(DidChangeTextDocumentParams params);
项目:che    文件:TextDocumentServiceClient.java   
/**
 * GWT client implementation of {@link TextDocumentService#didChange(DidChangeTextDocumentParams)}
 *
 * @param params
 * @return
 */
public void didChange(DidChangeTextDocumentParams params) {
  transmitDtoAndReceiveNothing(params, "textDocument/didChange");
}