From b42631942b74b2f5ac5c955343861518c38282e8 Mon Sep 17 00:00:00 2001 From: Dmitry Sharshakov Date: Sun, 29 Aug 2021 14:51:47 +0300 Subject: Defaults in completions, better schema --- helix-core/src/syntax.rs | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'helix-core/src') diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs index a7410203..cabfe083 100644 --- a/helix-core/src/syntax.rs +++ b/helix-core/src/syntax.rs @@ -5,7 +5,6 @@ use crate::{ Rope, RopeSlice, Tendril, }; -use helix_dap::DebugAdapterConfig; pub use helix_syntax::get_language; use arc_swap::ArcSwap; @@ -69,6 +68,41 @@ pub struct LanguageServerConfiguration { pub args: Vec, } +#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)] +#[serde(rename_all = "kebab-case")] +pub struct AdvancedCompletion { + pub name: Option, + pub completion: Option, + pub default: Option, +} + +#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)] +#[serde(rename_all = "kebab-case", untagged)] +pub enum DebugConfigCompletion { + Named(String), + Advanced(AdvancedCompletion), +} + +#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)] +#[serde(rename_all = "kebab-case")] +pub struct DebugTemplate { + pub name: String, + pub request: String, + pub completion: Vec, + pub args: HashMap, +} + +#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)] +#[serde(rename_all = "kebab-case")] +pub struct DebugAdapterConfig { + pub name: String, + pub transport: String, + pub command: String, + pub args: Vec, + pub port_arg: Option, + pub templates: Vec, +} + #[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] pub struct IndentationConfiguration { -- cgit v1.2.3-70-g09d2