summaryrefslogtreecommitdiff
path: root/cli/lsp/lsp_custom.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/lsp_custom.rs')
-rw-r--r--cli/lsp/lsp_custom.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/cli/lsp/lsp_custom.rs b/cli/lsp/lsp_custom.rs
new file mode 100644
index 000000000..c543a6c1b
--- /dev/null
+++ b/cli/lsp/lsp_custom.rs
@@ -0,0 +1,42 @@
+// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
+
+use deno_core::serde::Deserialize;
+use deno_core::serde::Serialize;
+use lspower::lsp;
+
+pub const CACHE_REQUEST: &str = "deno/cache";
+pub const PERFORMANCE_REQUEST: &str = "deno/performance";
+pub const RELOAD_IMPORT_REGISTRIES_REQUEST: &str =
+ "deno/reloadImportRegistries";
+pub const VIRTUAL_TEXT_DOCUMENT: &str = "deno/virtualTextDocument";
+
+#[derive(Debug, Deserialize, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct CacheParams {
+ /// The document currently open in the editor. If there are no `uris`
+ /// supplied, the referrer will be cached.
+ pub referrer: lsp::TextDocumentIdentifier,
+ /// Any documents that have been specifically asked to be cached via the
+ /// command.
+ pub uris: Vec<lsp::TextDocumentIdentifier>,
+}
+
+#[derive(Debug, Deserialize, Serialize)]
+pub struct RegistryStateNotificationParams {
+ pub origin: String,
+ pub suggestions: bool,
+}
+
+pub enum RegistryStateNotification {}
+
+impl lsp::notification::Notification for RegistryStateNotification {
+ type Params = RegistryStateNotificationParams;
+
+ const METHOD: &'static str = "deno/registryState";
+}
+
+#[derive(Debug, Deserialize, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct VirtualTextDocumentParams {
+ pub text_document: lsp::TextDocumentIdentifier,
+}