From b3050bded1e7a874da265d94dc32c4a98bc98390 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 24 Apr 2020 02:06:12 +0200 Subject: Introduce internal snippet cap --- crates/ra_ide/src/completion/completion_config.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'crates/ra_ide/src') diff --git a/crates/ra_ide/src/completion/completion_config.rs b/crates/ra_ide/src/completion/completion_config.rs index c01a8f608..6cf7ed6e4 100644 --- a/crates/ra_ide/src/completion/completion_config.rs +++ b/crates/ra_ide/src/completion/completion_config.rs @@ -1,8 +1,20 @@ +//! Settings for tweaking completion. +//! +//! The fun thing here is `SnippetCap` -- this type can only be created in this +//! module, and we use to statically check that we only produce snippet +//! completions if we are allowed to. + #[derive(Clone, Debug, PartialEq, Eq)] pub struct CompletionConfig { pub enable_postfix_completions: bool, pub add_call_parenthesis: bool, pub add_call_argument_snippets: bool, + pub snippet_cap: Option, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub struct SnippetCap { + _private: (), } impl Default for CompletionConfig { @@ -11,6 +23,7 @@ impl Default for CompletionConfig { enable_postfix_completions: true, add_call_parenthesis: true, add_call_argument_snippets: true, + snippet_cap: Some(SnippetCap { _private: () }), } } } -- cgit v1.2.3