aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGokul Soumya2022-03-28 01:11:52 +0000
committerGitHub2022-03-28 01:11:52 +0000
commit7b3a3d562cb46a1d70950983d460e388ae46cf79 (patch)
treec665b40feed4cc5986e0ec75be7538bac3451907
parentbee05dd32a685b58015514492525673b1b568b0d (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.md18
-rw-r--r--helix-term/src/application.rs2
-rw-r--r--helix-term/src/config.rs9
-rw-r--r--helix-view/src/editor.rs8
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(),
}
}
}