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

项目:camel-language-server    文件:CamelLanguageServer.java   
@Override
public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
    sendLogMessageNotification(MessageType.Info, "Initializing capabilities of the server...");
    Integer processId = params.getProcessId();
    if(processId != null) {
        setParentProcessId(processId.longValue());
    } else {
        sendLogMessageNotification(MessageType.Info, "Missing Parent process ID!!");
        setParentProcessId(0);
    }

    InitializeResult result = new InitializeResult();

    ServerCapabilities capabilities = new ServerCapabilities();
    capabilities.setTextDocumentSync(TextDocumentSyncKind.Full);
    capabilities.setCompletionProvider(new CompletionOptions(Boolean.TRUE, Arrays.asList(".","?","&", "\"", "=")));
    capabilities.setHoverProvider(Boolean.TRUE);

    result.setCapabilities(capabilities);
    return CompletableFuture.completedFuture(result);
}
项目:che    文件:TextDocumentSynchronizeFactory.java   
public TextDocumentSynchronize getSynchronize(TextDocumentSyncKind kind) {
  if (kind == null) {
    // use NONE syncronizer if server doesn't require any
    return NONE;
  }
  switch (kind) {
    case None:
      return NONE;
    case Full:
      return fullTextDocumentSynchronize;
    case Incremental:
      return incrementalTextDocumentSynchronize;
    default:
      throw new RuntimeException("Unsupported synchronization kind: " + kind);
  }
}
项目:che    文件:LanguageServerReconcileStrategy.java   
@Inject
public LanguageServerReconcileStrategy(
    TextDocumentSynchronizeFactory synchronizeFactory,
    @Assisted ServerCapabilities serverCapabilities) {

  Either<TextDocumentSyncKind, TextDocumentSyncOptions> sync =
      serverCapabilities.getTextDocumentSync();
  TextDocumentSyncKind documentSync;
  if (sync.isLeft()) {
    documentSync = sync.getLeft();
  } else {
    documentSync = sync.getRight().getChange();
  }

  synchronize = synchronizeFactory.getSynchronize(documentSync);
}
项目:SOMns-vscode    文件:SomLanguageServer.java   
@Override
public CompletableFuture<InitializeResult> initialize(final InitializeParams params) {
  InitializeResult result = new InitializeResult();
  ServerCapabilities cap = new ServerCapabilities();

  cap.setTextDocumentSync(TextDocumentSyncKind.Full);
  cap.setDocumentSymbolProvider(true);
  cap.setWorkspaceSymbolProvider(true);
  cap.setDefinitionProvider(true);
  cap.setCodeLensProvider(new CodeLensOptions(true));
  cap.setExecuteCommandProvider(
      new ExecuteCommandOptions(Lists.newArrayList(SomMinitest.COMMAND)));

  CompletionOptions completion = new CompletionOptions();
  List<String> autoComplTrigger = new ArrayList<>();
  autoComplTrigger.add("#"); // Smalltalk symbols
  autoComplTrigger.add(":"); // end of keywords, to complete arguments
  autoComplTrigger.add("="); // right-hand side of assignments
  completion.setTriggerCharacters(autoComplTrigger);
  completion.setResolveProvider(false); // TODO: look into that

  cap.setCompletionProvider(completion);
  result.setCapabilities(cap);

  loadWorkspace(params);

  return CompletableFuture.completedFuture(result);
}
项目:eclipse.jdt.ls    文件:InitHandlerTest.java   
@Test
public void testWillSaveAndWillSaveWaitUntilCapabilities() throws Exception {
    ClientPreferences mockCapabilies = mock(ClientPreferences.class);
    when(mockCapabilies.isExecuteCommandDynamicRegistrationSupported()).thenReturn(Boolean.TRUE);
    when(preferenceManager.getClientPreferences()).thenReturn(mockCapabilies);
    when(mockCapabilies.isWillSaveRegistered()).thenReturn(Boolean.TRUE);
    when(mockCapabilies.isWillSaveWaitUntilRegistered()).thenReturn(Boolean.TRUE);
    InitializeResult result = initialize(true);
    Either<TextDocumentSyncKind, TextDocumentSyncOptions> o = result.getCapabilities().getTextDocumentSync();
    assertTrue(o.isRight());
    assertTrue(o.getRight().getWillSave());
    assertTrue(o.getRight().getWillSaveWaitUntil());
}
项目:SOMns-vscode    文件:TextDocumentChangeRegistrationOptions.java   
public TextDocumentChangeRegistrationOptions(@NonNull final TextDocumentSyncKind syncKind) {
  this.syncKind = syncKind;
}
项目:SOMns-vscode    文件:TextDocumentChangeRegistrationOptions.java   
/**
 * How documents are synced to the server. See TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
@Pure
@NonNull
public TextDocumentSyncKind getSyncKind() {
  return this.syncKind;
}
项目:SOMns-vscode    文件:TextDocumentSyncOptions.java   
/**
 * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
@Pure
public TextDocumentSyncKind getChange() {
  return this.change;
}
项目:SOMns-vscode    文件:ServerCapabilities.java   
/**
 * Defines how text documents are synced. Is either a detailed structure defining each notification or
 * for backwards compatibility the TextDocumentSyncKind number.
 */
@Pure
public Either<TextDocumentSyncKind, TextDocumentSyncOptions> getTextDocumentSync() {
  return this.textDocumentSync;
}
项目:SOMns-vscode    文件:ServerCapabilities.java   
public void setTextDocumentSync(final TextDocumentSyncKind textDocumentSync) {
  this.textDocumentSync = Either.forLeft(textDocumentSync);
}
项目:lsp4j    文件:TextDocumentChangeRegistrationOptions.java   
public TextDocumentChangeRegistrationOptions(@NonNull final TextDocumentSyncKind syncKind) {
  this.syncKind = syncKind;
}
项目:lsp4j    文件:TextDocumentChangeRegistrationOptions.java   
/**
 * How documents are synced to the server. See TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
@Pure
@NonNull
public TextDocumentSyncKind getSyncKind() {
  return this.syncKind;
}
项目:lsp4j    文件:TextDocumentSyncOptions.java   
/**
 * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
@Pure
public TextDocumentSyncKind getChange() {
  return this.change;
}
项目:lsp4j    文件:ServerCapabilities.java   
/**
 * Defines how text documents are synced. Is either a detailed structure defining each notification or
 * for backwards compatibility the TextDocumentSyncKind number.
 */
@Pure
public Either<TextDocumentSyncKind, TextDocumentSyncOptions> getTextDocumentSync() {
  return this.textDocumentSync;
}
项目:lsp4j    文件:ServerCapabilities.java   
public void setTextDocumentSync(final TextDocumentSyncKind textDocumentSync) {
  this.textDocumentSync = Either.forLeft(textDocumentSync);
}
项目:che    文件:ServerCapabilitiesOverlay.java   
public Either<TextDocumentSyncKind, TextDocumentSyncOptions> getTextDocumentSync() {
  return mergeTextDocumentSync(left.getTextDocumentSync(), right.getTextDocumentSync());
}
项目:che    文件:ServerCapabilitiesOverlay.java   
private Either<TextDocumentSyncKind, TextDocumentSyncOptions> mergeTextDocumentSync(
    Either<TextDocumentSyncKind, TextDocumentSyncOptions> left,
    Either<TextDocumentSyncKind, TextDocumentSyncOptions> right) {
  if (left == null) {
    return right;
  }
  if (right == null) {
    return left;
  }
  if (left.equals(right)) {
    return left;
  }

  if (left.isLeft() && left.getLeft() == TextDocumentSyncKind.Full) {
    return left;
  }

  if (left.isLeft() && left.getLeft() == TextDocumentSyncKind.Incremental) {
    if (right.isLeft() && right.getLeft() == TextDocumentSyncKind.Full) {
      return right;
    } else {
      return left;
    }
  }

  if (left.isRight() && right.isRight()) {
    TextDocumentSyncOptions leftRight = left.getRight();
    TextDocumentSyncOptions rightRight = right.getRight();
    if (leftRight.getChange() == TextDocumentSyncKind.Full) {
      return left;
    }

    if (leftRight.getChange() == TextDocumentSyncKind.Incremental) {
      if (rightRight.getChange() == TextDocumentSyncKind.Full) {
        return right;
      } else {
        return left;
      }
    }
  }

  if (left.isLeft() && right.isRight()) {
    return right;
  }

  if (left.isRight() && right.isLeft()) {
    return left;
  }
  return right;
}
项目:che    文件:MavenLanguageServer.java   
@Override
public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
  ServerCapabilities capabilities = new ServerCapabilities();
  capabilities.setTextDocumentSync(TextDocumentSyncKind.Incremental);
  return CompletableFuture.completedFuture(new InitializeResult(capabilities));
}
项目:SOMns-vscode    文件:TextDocumentSyncOptions.java   
/**
 * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
public void setChange(final TextDocumentSyncKind change) {
  this.change = change;
}
项目:SOMns-vscode    文件:TextDocumentChangeRegistrationOptions.java   
/**
 * How documents are synced to the server. See TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
public void setSyncKind(@NonNull final TextDocumentSyncKind syncKind) {
  this.syncKind = syncKind;
}
项目:SOMns-vscode    文件:ServerCapabilities.java   
/**
 * Defines how text documents are synced. Is either a detailed structure defining each notification or
 * for backwards compatibility the TextDocumentSyncKind number.
 */
public void setTextDocumentSync(final Either<TextDocumentSyncKind, TextDocumentSyncOptions> textDocumentSync) {
  this.textDocumentSync = textDocumentSync;
}
项目:lsp4j    文件:TextDocumentChangeRegistrationOptions.java   
/**
 * How documents are synced to the server. See TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
public void setSyncKind(@NonNull final TextDocumentSyncKind syncKind) {
  this.syncKind = syncKind;
}
项目:lsp4j    文件:TextDocumentSyncOptions.java   
/**
 * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
 * and TextDocumentSyncKind.Incremental.
 */
public void setChange(final TextDocumentSyncKind change) {
  this.change = change;
}
项目:lsp4j    文件:ServerCapabilities.java   
/**
 * Defines how text documents are synced. Is either a detailed structure defining each notification or
 * for backwards compatibility the TextDocumentSyncKind number.
 */
public void setTextDocumentSync(final Either<TextDocumentSyncKind, TextDocumentSyncOptions> textDocumentSync) {
  this.textDocumentSync = textDocumentSync;
}