diff options
author | TornaxO7 | 2023-12-15 18:05:04 +0000 |
---|---|---|
committer | GitHub | 2023-12-15 18:05:04 +0000 |
commit | 914c83420b9901f596bf771ad5f20495de9a070c (patch) | |
tree | 0437b4028945e74ce3f692d429cf9238433bde17 | |
parent | 33d85606cf36da074d91db498d12233ab4978509 (diff) |
fix `:indent-style` crash (#9087)
* removing unreachable statement in `:indent-style`
* update checks when setting indent line and update docs
* `cargo xtask docgen`
-rw-r--r-- | book/src/generated/typable-cmd.md | 2 | ||||
-rw-r--r-- | helix-core/src/indent.rs | 2 | ||||
-rw-r--r-- | helix-term/src/commands/typed.rs | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/book/src/generated/typable-cmd.md b/book/src/generated/typable-cmd.md index 6280d3c7..f4fcb6f6 100644 --- a/book/src/generated/typable-cmd.md +++ b/book/src/generated/typable-cmd.md @@ -17,7 +17,7 @@ | `:write-buffer-close!`, `:wbc!` | Force write changes to disk creating necessary subdirectories and closes the buffer. Accepts an optional path (:write-buffer-close! some/path.txt) | | `:new`, `:n` | Create a new scratch buffer. | | `:format`, `:fmt` | Format the file using the LSP formatter. | -| `:indent-style` | Set the indentation style for editing. ('t' for tabs or 1-8 for number of spaces.) | +| `:indent-style` | Set the indentation style for editing. ('t' for tabs or 1-16 for number of spaces.) | | `:line-ending` | Set the document's default line ending. Options: crlf, lf. | | `:earlier`, `:ear` | Jump back to an earlier point in edit history. Accepts a number of steps or a time span. | | `:later`, `:lat` | Jump to a later point in edit history. Accepts a number of steps or a time span. | diff --git a/helix-core/src/indent.rs b/helix-core/src/indent.rs index 9333460b..1e90db47 100644 --- a/helix-core/src/indent.rs +++ b/helix-core/src/indent.rs @@ -22,7 +22,7 @@ pub enum IndentStyle { // 16 spaces const INDENTS: &str = " "; -const MAX_INDENT: u8 = 16; +pub const MAX_INDENT: u8 = 16; impl IndentStyle { /// Creates an `IndentStyle` from an indentation string. diff --git a/helix-term/src/commands/typed.rs b/helix-term/src/commands/typed.rs index 4148257f..1d4d6505 100644 --- a/helix-term/src/commands/typed.rs +++ b/helix-term/src/commands/typed.rs @@ -6,6 +6,7 @@ use crate::job::Job; use super::*; use helix_core::fuzzy::fuzzy_match; +use helix_core::indent::MAX_INDENT; use helix_core::{encoding, line_ending, path::get_canonicalized_path, shellwords::Shellwords}; use helix_lsp::{OffsetEncoding, Url}; use helix_view::document::DEFAULT_LANGUAGE_NAME; @@ -476,8 +477,7 @@ fn set_indent_style( cx.editor.set_status(match style { Tabs => "tabs".to_owned(), Spaces(1) => "1 space".to_owned(), - Spaces(n) if (2..=8).contains(&n) => format!("{} spaces", n), - _ => unreachable!(), // Shouldn't happen. + Spaces(n) => format!("{} spaces", n), }); return Ok(()); } @@ -489,7 +489,7 @@ fn set_indent_style( Some(arg) => arg .parse::<u8>() .ok() - .filter(|n| (1..=8).contains(n)) + .filter(|n| (1..=MAX_INDENT).contains(n)) .map(Spaces), _ => None, }; @@ -2606,7 +2606,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[ TypableCommand { name: "indent-style", aliases: &[], - doc: "Set the indentation style for editing. ('t' for tabs or 1-8 for number of spaces.)", + doc: "Set the indentation style for editing. ('t' for tabs or 1-16 for number of spaces.)", fun: set_indent_style, signature: CommandSignature::none(), }, |