diff --git a/crates/languages/src/bash.rs b/crates/languages/src/bash.rs index 75809d6c69..0c6ab8cc14 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 09caf1a099..db9a2749e7 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