diff --git a/crates/pine-lsp/src/lib.rs b/crates/pine-lsp/src/lib.rs
index b240d01..963ae73 100644
--- a/crates/pine-lsp/src/lib.rs
+++ b/crates/pine-lsp/src/lib.rs
@@ -90,6 +90,10 @@ impl LanguageServer for Backend {
references_provider: Some(OneOf::Left(true)),
document_symbol_provider: Some(OneOf::Left(true)),
document_highlight_provider: Some(OneOf::Left(true)),
+ rename_provider: Some(OneOf::Right(RenameOptions {
+ prepare_provider: Some(true),
+ work_done_progress_options: WorkDoneProgressOptions::default(),
+ })),
completion_provider: Some(CompletionOptions {
trigger_characters: Some(vec![".".to_string()]),
..Default::default()
@@ -280,6 +284,72 @@ impl LanguageServer for Backend {
Ok(highlights.filter(|h| !h.is_empty()))
}
+ async fn prepare_rename(
+ &self,
+ params: TextDocumentPositionParams,
+ ) -> jsonrpc::Result