Skip to content

Commit

Permalink
Move top level lsp config to editor.lsp
Browse files Browse the repository at this point in the history
This is mainly done to accomodate the new lsp.signature-help config
option that will be introduced in helix-editor#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
  • Loading branch information
sudormrfbin committed Mar 26, 2022
1 parent bee05dd commit f1a511b
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 @@ -12,8 +12,6 @@ use toml::de::Error as TomlError;
pub struct Config {
pub theme: Option<String>,
#[serde(default)]
pub lsp: LspConfig,
#[serde(default = "default")]
pub keys: HashMap<Mode, Keymap>,
#[serde(default)]
pub editor: helix_view::editor::Config,
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 f1a511b

Please sign in to comment.