From 9863b9161d8d702848516be70c5c8161b7f382e8 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 11 Aug 2018 00:55:32 +0300 Subject: decorations --- crates/server/src/req.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'crates/server/src/req.rs') diff --git a/crates/server/src/req.rs b/crates/server/src/req.rs index 645a17306..480fbabcd 100644 --- a/crates/server/src/req.rs +++ b/crates/server/src/req.rs @@ -1,5 +1,7 @@ use serde::{ser::Serialize, de::DeserializeOwned}; +use url::Url; use languageserver_types::{TextDocumentIdentifier, Range}; +use url_serde; pub use languageserver_types::{ request::*, notification::*, @@ -58,3 +60,25 @@ pub struct ExtendSelectionParams { pub struct ExtendSelectionResult { pub selections: Vec, } + +pub enum PublishDecorations {} + +impl Notification for PublishDecorations { + type Params = PublishDecorationsParams; + const METHOD: &'static str = "m/publishDecorations"; +} + +#[derive(Serialize, Debug)] +#[serde(rename_all = "camelCase")] +pub struct PublishDecorationsParams { + #[serde(with = "url_serde")] + pub uri: Url, + pub decorations: Vec, +} + +#[derive(Serialize, Debug)] +#[serde(rename_all = "camelCase")] +pub struct Decoration { + pub range: Range, + pub tag: &'static str +} -- cgit v1.2.3