diff options
Diffstat (limited to 'queries/bash/highlights.scm')
| -rw-r--r-- | queries/bash/highlights.scm | 196 |
1 files changed, 115 insertions, 81 deletions
diff --git a/queries/bash/highlights.scm b/queries/bash/highlights.scm index 5820680ef..21346ded8 100644 --- a/queries/bash/highlights.scm +++ b/queries/bash/highlights.scm @@ -1,84 +1,89 @@ [ - "(" ")" - "{" "}" - "[" "]" - "[[" "]]" - "((" "))" + "(" + ")" + "{" + "}" + "[" + "]" + "[[" + "]]" + "((" + "))" ] @punctuation.bracket [ - ";" - ";;" - ";&" - ";;&" - "&" + ";" + ";;" + ";&" + ";;&" + "&" ] @punctuation.delimiter [ - ">" - ">>" - "<" - "<<" - "&&" - "|" - "|&" - "||" - "=" - "+=" - "=~" - "==" - "!=" - - "&>" - "&>>" - "<&" - ">&" - ">|" - "<&-" - ">&-" - - "<<-" - "<<<" - - ".." + ">" + ">>" + "<" + "<<" + "&&" + "|" + "|&" + "||" + "=" + "+=" + "=~" + "==" + "!=" + "&>" + "&>>" + "<&" + ">&" + ">|" + "<&-" + ">&-" + "<<-" + "<<<" + ".." ] @operator ; Do *not* spell check strings since they typically have some sort of ; interpolation in them, or, are typically used for things like filenames, URLs, ; flags and file content. [ - (string) - (raw_string) - (ansi_c_string) - (heredoc_body) + (string) + (raw_string) + (ansi_c_string) + (heredoc_body) ] @string [ - (heredoc_start) - (heredoc_end) + (heredoc_start) + (heredoc_end) ] @label -(variable_assignment (word) @string) -(command argument: "$" @string) ; bare dollar +(variable_assignment + (word) @string) + +(command + argument: "$" @string) ; bare dollar [ - "if" - "then" - "else" - "elif" - "fi" - "case" - "in" - "esac" + "if" + "then" + "else" + "elif" + "fi" + "case" + "in" + "esac" ] @keyword.conditional [ - "for" - "do" - "done" - "select" - "until" - "while" + "for" + "do" + "done" + "select" + "until" + "while" ] @keyword.repeat [ @@ -97,36 +102,54 @@ ; trap -l ((word) @constant.builtin - (#match? @constant.builtin "^SIG(HUP|INT|QUIT|ILL|TRAP|ABRT|BUS|FPE|KILL|USR[12]|SEGV|PIPE|ALRM|TERM|STKFLT|CHLD|CONT|STOP|TSTP|TT(IN|OU)|URG|XCPU|XFSZ|VTALRM|PROF|WINCH|IO|PWR|SYS|RTMIN([+]([1-9]|1[0-5]))?|RTMAX(-([1-9]|1[0-4]))?)$")) + (#match? @constant.builtin "^SIG(HUP|INT|QUIT|ILL|TRAP|ABRT|BUS|FPE|KILL|USR[12]|SEGV|PIPE|ALRM|TERM|STKFLT|CHLD|CONT|STOP|TSTP|TT(IN|OU)|URG|XCPU|XFSZ|VTALRM|PROF|WINCH|IO|PWR|SYS|RTMIN([+]([1-9]|1[0-5]))?|RTMAX(-([1-9]|1[0-4]))?)$")) ((word) @boolean - (#any-of? @boolean "true" "false")) + (#any-of? @boolean "true" "false")) (comment) @comment @spell (test_operator) @operator -(command_substitution "$(" @punctuation.bracket) -(process_substitution "<(" @punctuation.bracket) +(command_substitution + "$(" @punctuation.bracket) + +(process_substitution + "<(" @punctuation.bracket) (arithmetic_expansion - [ "$((" "((" ] @punctuation.special + [ + "$((" + "((" + ] @punctuation.special "))" @punctuation.special) -(arithmetic_expansion "," @punctuation.delimiter) +(arithmetic_expansion + "," @punctuation.delimiter) + +(ternary_expression + [ + "?" + ":" + ] @keyword.conditional.ternary) + +(binary_expression + operator: _ @operator) -(ternary_expression [ "?" ":" ] @keyword.conditional.ternary) +(unary_expression + operator: _ @operator) -(binary_expression operator: _ @operator) -(unary_expression operator: _ @operator) -(postfix_expression operator: _ @operator) +(postfix_expression + operator: _ @operator) (function_definition name: (word) @function) -(command_name (word) @function.call) +(command_name + (word) @function.call) -((command_name (word) @function.builtin) +((command_name + (word) @function.builtin) ; format-ignore (#any-of? @function.builtin "alias" "bg" "bind" "break" "builtin" "caller" "cd" @@ -140,14 +163,17 @@ "ulimit" "umask" "unalias" "wait")) (command - argument: [ - (word) @variable.parameter - (concatenation (word) @variable.parameter) - ]) + argument: + [ + (word) @variable.parameter + (concatenation + (word) @variable.parameter) + ]) (number) @number + ((word) @number - (#lua-match? @number "^[0-9]+$")) + (#lua-match? @number "^[0-9]+$")) (file_redirect destination: (word) @variable.parameter) @@ -156,24 +182,30 @@ (simple_expansion "$" @punctuation.special) @none + (expansion "${" @punctuation.special "}" @punctuation.special) @none -(expansion operator: _ @punctuation.special) -(expansion "@" . operator: _ @character.special) +(expansion + operator: _ @punctuation.special) + +(expansion + "@" + . + operator: _ @character.special) ((expansion (subscript index: (word) @character.special)) - (#any-of? @character.special "@" "*")) + (#any-of? @character.special "@" "*")) "``" @punctuation.special (variable_name) @variable ((variable_name) @constant - (#lua-match? @constant "^[A-Z][A-Z_0-9]*$")) + (#lua-match? @constant "^[A-Z][A-Z_0-9]*$")) (case_item value: (word) @variable.parameter) @@ -183,5 +215,7 @@ (extglob_pattern) ] @string.regexp -((program . (comment) @keyword.directive) - (#lua-match? @keyword.directive "^#!/")) +((program + . + (comment) @keyword.directive) + (#lua-match? @keyword.directive "^#!/")) |
