From 89707a858f593c99d44af173e9fb2c0d72b8697e Mon Sep 17 00:00:00 2001 From: Ivan Tham Date: Sat, 16 Oct 2021 21:57:41 +0800 Subject: Make auto-completion a config (#853) --- book/src/configuration.md | 1 + helix-term/src/application.rs | 2 +- helix-view/src/editor.rs | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/book/src/configuration.md b/book/src/configuration.md index f30146dd..d47f95d9 100644 --- a/book/src/configuration.md +++ b/book/src/configuration.md @@ -19,6 +19,7 @@ To override global configuration parameters, create a `config.toml` file located | `line-number` | Line number display (`absolute`, `relative`) | `absolute` | | `smart-case` | Enable smart case regex searching (case insensitive unless pattern contains upper case characters) | `true` | | `auto-pairs` | Enable automatic insertion of pairs to parenthese, brackets, etc. | `true` | +| `auto-completion` | Enable automatic pop up of auto-completion. | `true` | | `idle-timeout` | Time in milliseconds since last keypress before idle timers trigger. Used for autocompletion, set to 0 for instant. | `400` | ## LSP diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index b3fa79ee..0e7d0e55 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -238,7 +238,7 @@ impl Application { use crate::commands::{completion, Context}; use helix_view::document::Mode; - if doc_mut!(self.editor).mode != Mode::Insert { + if doc_mut!(self.editor).mode != Mode::Insert || !self.config.editor.auto_completion { return; } let editor_view = self diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index d0ea6653..90e3bf47 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -47,12 +47,14 @@ pub struct Config { pub shell: Vec, /// Line number mode. pub line_number: LineNumber, - /// Middle click paste support. Defaults to true + /// Middle click paste support. Defaults to true. pub middle_click_paste: bool, /// Smart case: Case insensitive searching unless pattern contains upper case characters. Defaults to true. pub smart_case: bool, /// Automatic insertion of pairs to parentheses, brackets, etc. Defaults to true. pub auto_pairs: bool, + /// Automatic auto-completion, automatically pop up without user trigger. Defaults to true. + pub auto_completion: bool, /// Time in milliseconds since last keypress before idle timers trigger. Used for autocompletion, set to 0 for instant. Defaults to 400ms. #[serde(skip_serializing, deserialize_with = "deserialize_duration_millis")] pub idle_timeout: Duration, @@ -83,6 +85,7 @@ impl Default for Config { middle_click_paste: true, smart_case: true, auto_pairs: true, + auto_completion: true, idle_timeout: Duration::from_millis(400), } } -- cgit v1.2.3-70-g09d2