diff options
author | Gokul Soumya | 2022-03-28 01:11:52 +0000 |
---|---|---|
committer | GitHub | 2022-03-28 01:11:52 +0000 |
commit | 7b3a3d562cb46a1d70950983d460e388ae46cf79 (patch) | |
tree | c665b40feed4cc5986e0ec75be7538bac3451907 | |
parent | bee05dd32a685b58015514492525673b1b568b0d (diff) |
Move top level lsp config to editor.lsp (#1868)
* Move top level lsp config to editor.lsp
This is mainly done to accomodate the new lsp.signature-help config
option that will be introduced in https://github.com/helix-editor/helix/pull/1755
which will have to be accessed by commands. The top level config
struct is split and moved to different places, making the relocation
necessary
* Revert rebase slipup
-rw-r--r-- | book/src/configuration.md | 18 | ||||
-rw-r--r-- | helix-term/src/application.rs | 2 | ||||
-rw-r--r-- | helix-term/src/config.rs | 9 | ||||
-rw-r--r-- | helix-view/src/editor.rs | 8 |
4 files changed, 17 insertions, 20 deletions
diff --git a/book/src/configuration.md b/book/src/configuration.md index f110edd7..9036b501 100644 --- a/book/src/configuration.md +++ b/book/src/configuration.md @@ -43,6 +43,14 @@ hidden = false | `auto-info` | Whether to display infoboxes | `true` | | `true-color` | Set to `true` to override automatic detection of terminal truecolor support in the event of a false negative. | `false` | +### `[editor.lsp]` Section + +| Key | Description | Default | +| --- | ----------- | ------- | +| `display-messages` | Display LSP progress messages below statusline[^1] | `false` | + +[^1]: A progress spinner is always shown in the statusline beside the file path. + ### `[editor.cursor-shape]` Section Defines the shape of cursor in each mode. Note that due to limitations @@ -126,13 +134,3 @@ Search specific options. |--|--|---------| | `smart-case` | Enable smart case regex searching (case insensitive unless pattern contains upper case characters) | `true` | | `wrap-around`| Whether the search should wrap after depleting the matches | `true` | - - -## LSP - -To display all language server messages in the status line add the following to your `config.toml`: - -```toml -[lsp] -display-messages = true -``` diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 9b21c2a0..6f90ae61 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -760,7 +760,7 @@ impl Application { self.lsp_progress.update(server_id, token, work); } - if self.config.load().lsp.display_messages { + if self.config.load().editor.lsp.display_messages { self.editor.set_status(status); } } diff --git a/helix-term/src/config.rs b/helix-term/src/config.rs index 06e44ad9..4407a882 100644 --- a/helix-term/src/config.rs +++ b/helix-term/src/config.rs @@ -11,8 +11,6 @@ use toml::de::Error as TomlError; #[serde(deny_unknown_fields)] pub struct Config { pub theme: Option<String>, - #[serde(default)] - pub lsp: LspConfig, #[serde(default = "default")] pub keys: HashMap<Mode, Keymap>, #[serde(default)] @@ -23,7 +21,6 @@ impl Default for Config { fn default() -> Config { Config { theme: None, - lsp: LspConfig::default(), keys: default(), editor: helix_view::editor::Config::default(), } @@ -45,12 +42,6 @@ impl Display for ConfigLoadError { } } -#[derive(Debug, Default, Clone, PartialEq, Deserialize)] -#[serde(rename_all = "kebab-case", deny_unknown_fields)] -pub struct LspConfig { - pub display_messages: bool, -} - impl Config { pub fn load(config_path: PathBuf) -> Result<Config, ConfigLoadError> { match std::fs::read_to_string(config_path) { diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index 8220deb7..9a2b4297 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -143,6 +143,13 @@ pub struct Config { /// Search configuration. #[serde(default)] pub search: SearchConfig, + pub lsp: LspConfig, +} + +#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "kebab-case", deny_unknown_fields)] +pub struct LspConfig { + pub display_messages: bool, } #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] @@ -253,6 +260,7 @@ impl Default for Config { cursor_shape: CursorShapeConfig::default(), true_color: false, search: SearchConfig::default(), + lsp: LspConfig::default(), } } } |