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;
}