diff options
author | Robin | 2022-10-03 15:07:04 +0000 |
---|---|---|
committer | GitHub | 2022-10-03 15:07:04 +0000 |
commit | 6764744ce9912a1f48502bf5ee025283e12fded5 (patch) | |
tree | 50734dcc05722d3170caa51444459ad9b3702d71 | |
parent | dbec057363201d6c4aa2e7258cac928e5ebb6a28 (diff) |
Add option to skip the first indent guide (#3819)
* Add option to skip the first indent guide
* reorder skip_first option
* change indent-guides.skip_first to a number
* rename skip -> skip_levels
* add skip_levels to the book
* Update book/src/configuration.md
Co-authored-by: A-Walrus <58790821+A-Walrus@users.noreply.github.com>
* Update helix-term/src/ui/editor.rs
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Co-authored-by: Robin <robinvandijk@klippa.com>
Co-authored-by: A-Walrus <58790821+A-Walrus@users.noreply.github.com>
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
-rw-r--r-- | book/src/configuration.md | 10 | ||||
-rw-r--r-- | helix-term/src/ui/editor.rs | 3 | ||||
-rw-r--r-- | helix-view/src/editor.rs | 4 |
3 files changed, 11 insertions, 6 deletions
diff --git a/book/src/configuration.md b/book/src/configuration.md index 039d181c..276bd7d4 100644 --- a/book/src/configuration.md +++ b/book/src/configuration.md @@ -233,10 +233,11 @@ tabpad = "·" # Tabs will look like "→···" (depending on tab width) Options for rendering vertical indent guides. -| Key | Description | Default | -| --- | --- | --- | -| `render` | Whether to render indent guides. | `false` | -| `character` | Literal character to use for rendering the indent guide | `│` | +| Key | Description | Default | +| --- | --- | --- | +| `render` | Whether to render indent guides. | `false` | +| `character` | Literal character to use for rendering the indent guide | `│` | +| `skip-levels` | Number of indent levels to skip | `0` | Example: @@ -244,4 +245,5 @@ Example: [editor.indent-guides] render = true character = "╎" +skip-levels = 1 ``` diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 0269d804..e5dc3c95 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -436,7 +436,8 @@ impl EditorView { return; } - let starting_indent = (offset.col / tab_width) as u16; + let starting_indent = + (offset.col / tab_width) as u16 + config.indent_guides.skip_levels; // TODO: limit to a max indent level too. It doesn't cause visual artifacts but it would avoid some // extra loops if the code is deeply nested. diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index e144a830..f21244a9 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -552,15 +552,17 @@ impl Default for WhitespaceCharacters { } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -#[serde(default)] +#[serde(default, rename_all = "kebab-case")] pub struct IndentGuidesConfig { pub render: bool, pub character: char, + pub skip_levels: u16, } impl Default for IndentGuidesConfig { fn default() -> Self { Self { + skip_levels: 0, render: false, character: '│', } |