diff options
author | Aleksey Kladov <[email protected]> | 2020-05-17 11:09:53 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2020-05-19 19:28:27 +0100 |
commit | c847c079fd66d7ed09c64ff398baf05317b16500 (patch) | |
tree | f7560983031a6f122156b3d4c3fccaf3f4c23d5c /crates/ra_assists/src/assist_config.rs | |
parent | 131849f2abd94dc8143f0c5d65e022136f29561a (diff) |
Add AssistConfig
Diffstat (limited to 'crates/ra_assists/src/assist_config.rs')
-rw-r--r-- | crates/ra_assists/src/assist_config.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/crates/ra_assists/src/assist_config.rs b/crates/ra_assists/src/assist_config.rs new file mode 100644 index 000000000..c0a0226fb --- /dev/null +++ b/crates/ra_assists/src/assist_config.rs | |||
@@ -0,0 +1,27 @@ | |||
1 | //! Settings for tweaking assists. | ||
2 | //! | ||
3 | //! The fun thing here is `SnippetCap` -- this type can only be created in this | ||
4 | //! module, and we use to statically check that we only produce snippet | ||
5 | //! assists if we are allowed to. | ||
6 | |||
7 | #[derive(Clone, Debug, PartialEq, Eq)] | ||
8 | pub struct AssistConfig { | ||
9 | pub snippet_cap: Option<SnippetCap>, | ||
10 | } | ||
11 | |||
12 | impl AssistConfig { | ||
13 | pub fn allow_snippets(&mut self, yes: bool) { | ||
14 | self.snippet_cap = if yes { Some(SnippetCap { _private: () }) } else { None } | ||
15 | } | ||
16 | } | ||
17 | |||
18 | #[derive(Clone, Copy, Debug, PartialEq, Eq)] | ||
19 | pub struct SnippetCap { | ||
20 | _private: (), | ||
21 | } | ||
22 | |||
23 | impl Default for AssistConfig { | ||
24 | fn default() -> Self { | ||
25 | AssistConfig { snippet_cap: Some(SnippetCap { _private: () }) } | ||
26 | } | ||
27 | } | ||