Skip to content

Commit

Permalink
Move top level lsp config to editor.lsp (#1868)
Browse files Browse the repository at this point in the history
* 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 #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
  • Loading branch information
sudormrfbin committed Mar 28, 2022
1 parent bee05dd commit 7b3a3d5
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 20 deletions.
18 changes: 8 additions & 10 deletions book/src/configuration.md
Expand Up @@ -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
Expand Down Expand Up @@ -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
```
2 changes: 1 addition & 1 deletion helix-term/src/application.rs
Expand Up @@ -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);
}
}
Expand Down
9 changes: 0 additions & 9 deletions helix-term/src/config.rs
Expand Up @@ -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)]
Expand All @@ -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(),
}
Expand All @@ -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) {
Expand Down
8 changes: 8 additions & 0 deletions helix-view/src/editor.rs
Expand Up @@ -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)]
Expand Down Expand Up @@ -253,6 +260,7 @@ impl Default for Config {
cursor_shape: CursorShapeConfig::default(),
true_color: false,
search: SearchConfig::default(),
lsp: LspConfig::default(),
}
}
}
Expand Down

0 comments on commit 7b3a3d5

Please sign in to comment.