diff options
author | Blaž Hrastnik | 2021-11-21 11:06:45 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-11-21 11:06:45 +0000 |
commit | d1854d8e6af07cd78ab6c24c859a4471afb3514e (patch) | |
tree | 301e4212e7fc88dd5f626f884bd78b700cf3e4a6 /helix-lsp | |
parent | 8b85903116fdfdc177bf2ca171831674144de70a (diff) | |
parent | b95c9470de9f9199f109fdbfb6ec9a951fbe8866 (diff) |
Merge remote-tracking branch 'origin/master' into debug
Diffstat (limited to 'helix-lsp')
-rw-r--r-- | helix-lsp/src/client.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/helix-lsp/src/client.rs b/helix-lsp/src/client.rs index b810feef..271fd9d5 100644 --- a/helix-lsp/src/client.rs +++ b/helix-lsp/src/client.rs @@ -257,6 +257,12 @@ impl Client { content_format: Some(vec![lsp::MarkupKind::Markdown]), ..Default::default() }), + rename: Some(lsp::RenameClientCapabilities { + dynamic_registration: Some(false), + prepare_support: Some(false), + prepare_support_default_behavior: None, + honors_change_annotations: Some(false), + }), code_action: Some(lsp::CodeActionClientCapabilities { code_action_literal_support: Some(lsp::CodeActionLiteralSupport { code_action_kind: lsp::CodeActionKindLiteralSupport { @@ -773,4 +779,25 @@ impl Client { self.call::<lsp::request::CodeActionRequest>(params) } + + pub async fn rename_symbol( + &self, + text_document: lsp::TextDocumentIdentifier, + position: lsp::Position, + new_name: String, + ) -> anyhow::Result<lsp::WorkspaceEdit> { + let params = lsp::RenameParams { + text_document_position: lsp::TextDocumentPositionParams { + text_document, + position, + }, + new_name, + work_done_progress_params: lsp::WorkDoneProgressParams { + work_done_token: None, + }, + }; + + let response = self.request::<lsp::request::Rename>(params).await?; + Ok(response.unwrap_or_default()) + } } |