Report indent style when calling indent-style with no arguments.
Also print an error message when the argument is malformed.
This commit is contained in:
parent
d415a666fe
commit
7c2fb92c91
1 changed files with 16 additions and 0 deletions
|
@ -982,6 +982,19 @@ mod cmd {
|
|||
fn set_indent_style(editor: &mut Editor, args: &[&str], event: PromptEvent) {
|
||||
use IndentStyle::*;
|
||||
|
||||
// If no argument, report current indent style.
|
||||
if args.is_empty() {
|
||||
let style = editor.current().1.indent_style;
|
||||
editor.set_status(match style {
|
||||
Tabs => "tabs".into(),
|
||||
Spaces(1) => "1 space".into(),
|
||||
Spaces(n) if (2..=8).contains(&n) => format!("{} spaces", n),
|
||||
_ => "error".into(), // Shouldn't happen.
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Attempt to parse argument as an indent style.
|
||||
let style = match args.get(0) {
|
||||
Some(arg) if "tabs".starts_with(&arg.to_lowercase()) => Some(Tabs),
|
||||
Some(&"0") => Some(Tabs),
|
||||
|
@ -996,6 +1009,9 @@ mod cmd {
|
|||
if let Some(s) = style {
|
||||
let (_, doc) = editor.current();
|
||||
doc.indent_style = s;
|
||||
} else {
|
||||
// Invalid argument.
|
||||
editor.set_error(format!("invalid indent style '{}'", args[0],));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue