Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-lsp-types/src/references.rs')
| -rw-r--r-- | helix-lsp-types/src/references.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/helix-lsp-types/src/references.rs b/helix-lsp-types/src/references.rs new file mode 100644 index 00000000..cb590d58 --- /dev/null +++ b/helix-lsp-types/src/references.rs @@ -0,0 +1,30 @@ +use crate::{ + DynamicRegistrationClientCapabilities, PartialResultParams, TextDocumentPositionParams, + WorkDoneProgressParams, +}; +use serde::{Deserialize, Serialize}; + +pub type ReferenceClientCapabilities = DynamicRegistrationClientCapabilities; +#[derive(Debug, Eq, PartialEq, Clone, Copy, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct ReferenceContext { + /// Include the declaration of the current symbol. + pub include_declaration: bool, +} + +#[derive(Debug, Eq, PartialEq, Clone, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct ReferenceParams { + // Text Document and Position fields + #[serde(flatten)] + pub text_document_position: TextDocumentPositionParams, + + #[serde(flatten)] + pub work_done_progress_params: WorkDoneProgressParams, + + #[serde(flatten)] + pub partial_result_params: PartialResultParams, + + // ReferenceParams properties: + pub context: ReferenceContext, +} |