diff options
Diffstat (limited to 'cli/lsp/lsp_custom.rs')
-rw-r--r-- | cli/lsp/lsp_custom.rs | 42 |
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, +} |