diff --git a/crates/languages/src/bash.rs b/crates/languages/src/bash.rs index 75809d6c693bac141197477264d8eedf758ddc1f..0c6ab8cc14eca2ba87fa0b876946bee0b21d479b 100644 --- a/crates/languages/src/bash.rs +++ b/crates/languages/src/bash.rs @@ -49,6 +49,14 @@ mod tests { assert_eq!(buffer.text(), expected); }; + // Do not indent after shebang + expect_indents_to( + &mut buffer, + cx, + "#!/usr/bin/env bash\n#", + "#!/usr/bin/env bash\n#", + ); + // indent function correctly expect_indents_to( &mut buffer, diff --git a/crates/languages/src/bash/config.toml b/crates/languages/src/bash/config.toml index 09caf1a099d6d57098e223dd1cac05cc510cfeb8..db9a2749e796e13f49806b59eaca648ff731b3b8 100644 --- a/crates/languages/src/bash/config.toml +++ b/crates/languages/src/bash/config.toml @@ -29,6 +29,6 @@ brackets = [ ### bar ### fi ### ``` -increase_indent_pattern = "(\\s*|;)(do|then|in|else|elif)\\b.*$" -decrease_indent_pattern = "(\\s*|;)\\b(fi|done|esac|else|elif)\\b.*$" +increase_indent_pattern = "(^|\\s+|;)(do|then|in|else|elif)\\b.*$" +decrease_indent_pattern = "(^|\\s+|;)(fi|done|esac|else|elif)\\b.*$" # make sure to test each line mode & block mode