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.rs30
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,
+}