From 728d205d9d2551a356a022b6b083bcdcf081f3bf Mon Sep 17 00:00:00 2001 From: Jean Pierre Date: Thu, 5 Aug 2021 20:46:32 -0500 Subject: feat(lsp): implement refactoring code actions (#11555) Closes: denoland/vscode_deno#433 --- cli/lsp/capabilities.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'cli/lsp/capabilities.rs') diff --git a/cli/lsp/capabilities.rs b/cli/lsp/capabilities.rs index 89400d108..a664c296d 100644 --- a/cli/lsp/capabilities.rs +++ b/cli/lsp/capabilities.rs @@ -30,6 +30,7 @@ use lspower::lsp::WorkDoneProgressOptions; use lspower::lsp::WorkspaceFoldersServerCapabilities; use lspower::lsp::WorkspaceServerCapabilities; +use super::refactor::ALL_KNOWN_REFACTOR_ACTION_KINDS; use super::semantic_tokens::get_legend; fn code_action_capabilities( @@ -41,8 +42,16 @@ fn code_action_capabilities( .and_then(|it| it.code_action.as_ref()) .and_then(|it| it.code_action_literal_support.as_ref()) .map_or(CodeActionProviderCapability::Simple(true), |_| { + let mut code_action_kinds = + vec![CodeActionKind::QUICKFIX, CodeActionKind::REFACTOR]; + code_action_kinds.extend( + ALL_KNOWN_REFACTOR_ACTION_KINDS + .iter() + .map(|action| action.kind.clone()), + ); + CodeActionProviderCapability::Options(CodeActionOptions { - code_action_kinds: Some(vec![CodeActionKind::QUICKFIX]), + code_action_kinds: Some(code_action_kinds), resolve_provider: Some(true), work_done_progress_options: Default::default(), }) -- cgit v1.2.3