org.eclipse.lsp4j.CodeActionOptions Java Examples
The following examples show how to use
org.eclipse.lsp4j.CodeActionOptions.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CamelLanguageServer.java From camel-language-server with Apache License 2.0 | 5 votes |
private ServerCapabilities createServerCapabilities() { ServerCapabilities capabilities = new ServerCapabilities(); capabilities.setTextDocumentSync(TextDocumentSyncKind.Full); capabilities.setCompletionProvider(new CompletionOptions(Boolean.TRUE, Arrays.asList(".","?","&", "\"", "="))); capabilities.setHoverProvider(Boolean.TRUE); capabilities.setDocumentSymbolProvider(Boolean.TRUE); capabilities.setReferencesProvider(Boolean.TRUE); capabilities.setDefinitionProvider(Boolean.TRUE); capabilities.setCodeActionProvider(new CodeActionOptions(Arrays.asList(CodeActionKind.QuickFix))); return capabilities; }
Example #2
Source File: JDTLanguageServer.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private CodeActionOptions getCodeActionOptions() { String[] kinds = { CodeActionKind.QuickFix, CodeActionKind.Refactor, CodeActionKind.RefactorExtract, CodeActionKind.RefactorInline, CodeActionKind.RefactorRewrite, CodeActionKind.Source, CodeActionKind.SourceOrganizeImports }; List<String> codeActionKinds = new ArrayList<>(); for (String kind : kinds) { if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(kind)) { codeActionKinds.add(kind); } } CodeActionOptions options = new CodeActionOptions(codeActionKinds); return options; }
Example #3
Source File: ServerCapabilities.java From lsp4j with Eclipse Public License 2.0 | 5 votes |
public void setCodeActionProvider(final CodeActionOptions codeActionProvider) { if (codeActionProvider == null) { this.codeActionProvider = null; return; } this.codeActionProvider = Either.forRight(codeActionProvider); }
Example #4
Source File: XLanguageServerImpl.java From n4js with Eclipse Public License 1.0 | 4 votes |
/** * Configure the server capabilities for this instance. * * @param params * the initialization parameters * @return the server capabilities */ protected ServerCapabilities createServerCapabilities(InitializeParams params) { ServerCapabilities serverCapabilities = new ServerCapabilities(); serverCapabilities.setHoverProvider(true); serverCapabilities.setDefinitionProvider(true); serverCapabilities.setReferencesProvider(true); serverCapabilities.setDocumentSymbolProvider(true); serverCapabilities.setWorkspaceSymbolProvider(true); Set<? extends IResourceServiceProvider> allLanguages = getAllLanguages(); if (allLanguages.stream().anyMatch((serviceProvider) -> serviceProvider.get(ICodeLensService.class) != null)) { CodeLensOptions codeLensOptions = new CodeLensOptions(); codeLensOptions.setResolveProvider(allLanguages.stream() .anyMatch((serviceProvider) -> serviceProvider.get(ICodeLensResolver.class) != null)); serverCapabilities.setCodeLensProvider(codeLensOptions); } boolean supportsCodeActions = allLanguages.stream() .anyMatch((serviceProvider) -> serviceProvider.get(ICodeActionService.class) != null || serviceProvider.get(ICodeActionService2.class) != null); if (supportsCodeActions) { Optional<List<String>> supportedKinds = getSupportedCodeActionKinds(); if (supportedKinds.isPresent()) { serverCapabilities.setCodeActionProvider(new CodeActionOptions(supportedKinds.get())); } else { serverCapabilities.setCodeActionProvider(true); } } else { serverCapabilities.setCodeActionProvider(false); } serverCapabilities.setSignatureHelpProvider(new SignatureHelpOptions(ImmutableList.of("(", ","))); serverCapabilities.setTextDocumentSync(TextDocumentSyncKind.Incremental); CompletionOptions completionOptions = new CompletionOptions(); completionOptions.setResolveProvider(false); completionOptions.setTriggerCharacters(ImmutableList.of(".")); serverCapabilities.setCompletionProvider(completionOptions); serverCapabilities.setDocumentFormattingProvider(true); serverCapabilities.setDocumentRangeFormattingProvider(true); serverCapabilities.setDocumentHighlightProvider(true); ClientCapabilities clientCapabilities = null; if (params != null) { clientCapabilities = params.getCapabilities(); } TextDocumentClientCapabilities textDocument = null; if (clientCapabilities != null) { textDocument = clientCapabilities.getTextDocument(); } RenameCapabilities rename = null; if (textDocument != null) { rename = textDocument.getRename(); } Boolean prepareSupport = null; if (rename != null) { prepareSupport = rename.getPrepareSupport(); } boolean clientPrepareSupport = Objects.equal(Boolean.TRUE, prepareSupport); if (clientPrepareSupport && allLanguages.stream() .anyMatch(serviceProvider -> serviceProvider.get(IRenameService2.class) != null)) { RenameOptions renameOptions = new RenameOptions(); renameOptions.setPrepareProvider(true); serverCapabilities.setRenameProvider(Either.<Boolean, RenameOptions> forRight(renameOptions)); } else { serverCapabilities.setRenameProvider(Either.forLeft(allLanguages.stream() .anyMatch((serviceProvider) -> serviceProvider.get(IRenameService.class) != null || serviceProvider.get(IRenameService2.class) != null))); } WorkspaceClientCapabilities workspace = null; if (clientCapabilities != null) { workspace = clientCapabilities.getWorkspace(); } ExecuteCommandCapabilities executeCommand = null; if (workspace != null) { executeCommand = workspace.getExecuteCommand(); } if (executeCommand != null) { commandRegistry.initialize(allLanguages, clientCapabilities, client); ExecuteCommandOptions executeCommandOptions = new ExecuteCommandOptions(); executeCommandOptions.setCommands(commandRegistry.getCommands()); serverCapabilities.setExecuteCommandProvider(executeCommandOptions); } semanticHighlightingRegistry.initialize(allLanguages, clientCapabilities, client); serverCapabilities.setSemanticHighlighting(new SemanticHighlightingServerCapabilities( semanticHighlightingRegistry.getAllScopes())); for (IResourceServiceProvider language : allLanguages) { ICapabilitiesContributor capabilitiesContributor = language.get(ICapabilitiesContributor.class); if (capabilitiesContributor != null) { capabilitiesContributor.contribute(serverCapabilities, params); } } return serverCapabilities; }
Example #5
Source File: LanguageClientImpl.java From netbeans with Apache License 2.0 | 4 votes |
public void setBindings(LSPBindings bindings) { this.bindings = bindings; ServerCapabilities serverCapabilities = bindings.getInitResult().getCapabilities(); Either<Boolean, CodeActionOptions> codeActions = serverCapabilities.getCodeActionProvider(); allowCodeActions = codeActions != null && (!codeActions.isLeft() || codeActions.getLeft()); }
Example #6
Source File: ServerCapabilities.java From lsp4j with Eclipse Public License 2.0 | 2 votes |
/** * The server provides code actions. The `CodeActionOptions` return type is only * valid if the client signals code action literal support via the property * `textDocument.codeAction.codeActionLiteralSupport`. */ @Pure public Either<Boolean, CodeActionOptions> getCodeActionProvider() { return this.codeActionProvider; }
Example #7
Source File: ServerCapabilities.java From lsp4j with Eclipse Public License 2.0 | 2 votes |
/** * The server provides code actions. The `CodeActionOptions` return type is only * valid if the client signals code action literal support via the property * `textDocument.codeAction.codeActionLiteralSupport`. */ public void setCodeActionProvider(final Either<Boolean, CodeActionOptions> codeActionProvider) { this.codeActionProvider = codeActionProvider; }