Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/nu/highlights.scm')
| -rw-r--r-- | runtime/queries/nu/highlights.scm | 566 |
1 files changed, 220 insertions, 346 deletions
diff --git a/runtime/queries/nu/highlights.scm b/runtime/queries/nu/highlights.scm index 27583f2f..66a30584 100644 --- a/runtime/queries/nu/highlights.scm +++ b/runtime/queries/nu/highlights.scm @@ -1,410 +1,284 @@ -; --- -; keywords +;;; --- +;;; keywords [ - "let" - "mut" - "const" -] @keyword + "def" + "alias" + "export-env" + "export" + "extern" + "module" -[ - "if" - "else" - "match" -] @keyword.control.conditional + "let" + "let-env" + "mut" + "const" -[ - "loop" - "while" -] @keyword.control.repeat + "hide-env" -"def" @keyword.function + "source" + "source-env" -[ - "try" - "catch" - "error" -] @keyword.control.exception + "overlay" + "register" -[ - "module" - "use" -] @keyword.control.import + "loop" + "while" + "error" -[ - "alias" - "export-env" - "export" - "extern" -] @keyword.storage.modifier + "do" + "if" + "else" + "try" + "catch" + "match" -(decl_use - "use" @keyword.control.import) + "break" + "continue" + "return" + +] @keyword + +(hide_mod "hide" @keyword) +(decl_use "use" @keyword) (ctrl_for - "for" @keyword.control.repeat - "in" @keyword.control.repeat) + "for" @keyword + "in" @keyword +) +(overlay_list "list" @keyword.storage.modifier) +(overlay_hide "hide" @keyword.storage.modifier) +(overlay_new "new" @keyword.storage.modifier) +(overlay_use + "use" @keyword.storage.modifier + "as" @keyword +) +(ctrl_error "make" @keyword.storage.modifier) -; --- -; literals +;;; --- +;;; literals (val_number) @constant.numeric - (val_duration - unit: _ @variable.parameter) - + unit: [ + "ns" "µs" "us" "ms" "sec" "min" "hr" "day" "wk" + ] @variable.parameter +) (val_filesize - unit: _ @variable.parameter) - + unit: [ + "b" "B" + + "kb" "kB" "Kb" "KB" + "mb" "mB" "Mb" "MB" + "gb" "gB" "Gb" "GB" + "tb" "tB" "Tb" "TB" + "pb" "pB" "Pb" "PB" + "eb" "eB" "Eb" "EB" + + "kib" "kiB" "kIB" "kIb" "Kib" "KIb" "KIB" + "mib" "miB" "mIB" "mIb" "Mib" "MIb" "MIB" + "gib" "giB" "gIB" "gIb" "Gib" "GIb" "GIB" + "tib" "tiB" "tIB" "tIb" "Tib" "TIb" "TIB" + "pib" "piB" "pIB" "pIb" "Pib" "PIb" "PIB" + "eib" "eiB" "eIB" "eIb" "Eib" "EIb" "EIB" + ] @variable.parameter +) (val_binary - [ - "0b" - "0o" - "0x" - ] @constant.numeric - "[" @punctuation.bracket - digit: [ - "," @punctuation.delimiter - (hex_digit) @constant.numeric - ] - "]" @punctuation.bracket) @constant.numeric - -(val_bool) @constant.builtin.boolean - + [ + "0b" + "0o" + "0x" + ] @constant.numeric + "[" @punctuation.bracket + digit: [ + "," @punctuation.delimiter + (hex_digit) @constant.number + ] + "]" @punctuation.bracket +) @constant.numeric +(val_bool) @constant.builtin (val_nothing) @constant.builtin - (val_string) @string - -arg_str: (val_string) @variable.parameter - -file_path: (val_string) @variable.parameter - -(val_date) @constant.numeric - +(val_date) @constant.number (inter_escape_sequence) @constant.character.escape - (escape_sequence) @constant.character.escape - -(val_interpolated - [ +(val_interpolated [ "$\"" "$\'" "\"" "\'" - ] @string) - +] @string) (unescaped_interpolated_content) @string - (escaped_interpolated_content) @string +(expr_interpolated ["(" ")"] @variable.parameter) -(expr_interpolated - [ - "(" - ")" - ] @variable.parameter) - -(raw_string_begin) @punctuation.special - -(raw_string_end) @punctuation.special - -; --- -; operators -(expr_binary - opr: _ @operator) - -(where_predicate - opr: _ @operator) - -(assignment - [ +;;; --- +;;; operators +(expr_binary [ + "+" + "-" + "*" + "/" + "mod" + "//" + "++" + "**" + "==" + "!=" + "<" + "<=" + ">" + ">=" + "=~" + "!~" + "and" + "or" + "xor" + "bit-or" + "bit-xor" + "bit-and" + "bit-shl" + "bit-shr" + "in" + "not-in" + "starts-with" + "ends-with" +] @operator ) + +(where_command [ + "+" + "-" + "*" + "/" + "mod" + "//" + "++" + "**" + "==" + "!=" + "<" + "<=" + ">" + ">=" + "=~" + "!~" + "and" + "or" + "xor" + "bit-or" + "bit-xor" + "bit-and" + "bit-shl" + "bit-shr" + "in" + "not-in" + "starts-with" + "ends-with" +] @operator) + +(assignment [ "=" "+=" "-=" "*=" "/=" "++=" - ] @operator) +] @operator) -(expr_unary - [ - "not" - "-" - ] @operator) +(expr_unary ["not" "-"] @operator) -(val_range - [ +(val_range [ ".." "..=" "..<" - ] @operator) +] @operator) -[ - "=>" - "=" - "|" -] @operator +["=>" "=" "|"] @operator [ - "o>" - "out>" - "e>" - "err>" - "e+o>" - "err+out>" - "o+e>" - "out+err>" - "o>>" - "out>>" - "e>>" - "err>>" - "e+o>>" - "err+out>>" - "o+e>>" - "out+err>>" - "e>|" - "err>|" - "e+o>|" - "err+out>|" - "o+e>|" - "out+err>|" -] @operator - -; --- -; punctuation + "o>" "out>" + "e>" "err>" + "e+o>" "err+out>" + "o+e>" "out+err>" +] @special + +;;; --- +;;; punctuation [ - "," - ";" -] @punctuation.special - -(param_long_flag - "--" @punctuation.delimiter) - -(long_flag - "--" @punctuation.delimiter) - -(short_flag - "-" @punctuation.delimiter) - -(long_flag - "=" @punctuation.special) - -(short_flag - "=" @punctuation.special) - -(param_short_flag - "-" @punctuation.delimiter) - -(param_rest - "..." @punctuation.delimiter) - -(param_type - ":" @punctuation.special) - -(param_value - "=" @punctuation.special) - -(param_cmd - "@" @punctuation.special) - -(attribute - "@" @punctuation.special) - -(param_opt - "?" @punctuation.special) - -(returns - "->" @punctuation.special) + "," + ";" +] @punctuation.delimiter + +(param_short_flag "-" @punctuation.delimiter) +(param_long_flag ["--"] @punctuation.delimiter) +(long_flag ["--"] @punctuation.delimiter) +(param_rest "..." @punctuation.delimiter) +(param_type [":"] @punctuation.special) +(param_value ["="] @punctuation.special) +(param_cmd ["@"] @punctuation.special) +(param_opt ["?"] @punctuation.special) [ - "(" - ")" - "{" - "}" - "[" - "]" - "...[" - "...(" - "...{" + "(" ")" + "{" "}" + "[" "]" ] @punctuation.bracket (val_record - (record_entry - ":" @punctuation.delimiter)) - -key: (identifier) @property - -; --- -; identifiers + (record_entry ":" @punctuation.delimiter)) +;;; --- +;;; identifiers (param_rest - name: (_) @variable.parameter) - + name: (_) @variable.parameter) (param_opt - name: (_) @variable.parameter) - + name: (_) @variable.parameter) (parameter - param_name: (_) @variable.parameter) - + param_name: (_) @variable.parameter) (param_cmd - (cmd_identifier) @string) - -(param_long_flag - (long_flag_identifier) @attribute) - -(param_short_flag - (param_short_flag_identifier) @attribute) - -(attribute - (attribute_identifier) @attribute) - -(short_flag - (short_flag_identifier) @attribute) + (cmd_identifier) @string) +(param_long_flag) @variable.parameter +(param_short_flag) @variable.parameter -(long_flag_identifier) @attribute +(short_flag) @variable.parameter +(long_flag) @variable.parameter -(scope_pattern - (wild_card) @function) +(scope_pattern [(wild_card) @function]) (cmd_identifier) @function -(decl_def . "def" - (val_string - (string_content) @function - ) -) - -; generated with Nu 0.107.0 -; help commands -; | where $it.command_type == built-in and $it.category != core -; | each {$'"($in.name | split row " " | $in.0)"'} -; | uniq -; | str join ' ' -(command - head: (cmd_identifier) @function.builtin - (#any-of? @function.builtin - "all" "ansi" "any" "append" "ast" "bits" "bytes" "cal" "cd" "char" "chunk-by" "chunks" "clear" "collect" "columns" "compact" "complete" "config" "cp" "date" "debug" "decode" "default" "detect" "drop" "du" "each" "encode" "enumerate" "every" "exec" "exit" "explain" "explore" "fill" "filter" "find" "first" "flatten" "format" "from" "generate" "get" "glob" "grid" "group-by" "hash" "headers" "histogram" "history" "http" "input" "insert" "inspect" "interleave" "into" "is-empty" "is-not-empty" "is-terminal" "items" "job" "join" "keybindings" "kill" "last" "length" "let-env" "lines" "load-env" "ls" "math" "merge" "metadata" "mkdir" "mktemp" "move" "mv" "nu-check" "nu-highlight" "open" "panic" "par-each" "parse" "path" "plugin" "port" "prepend" "print" "ps" "query" "random" "reduce" "reject" "rename" "reverse" "rm" "roll" "rotate" "run-external" "save" "schema" "select" "seq" "shuffle" "skip" "sleep" "slice" "sort" "sort-by" "split" "start" "stor" "str" "sys" "table" "take" "tee" "term" "timeit" "to" "touch" "transpose" "tutor" "ulimit" "uname" "uniq" "uniq-by" "update" "upsert" "url" "values" "version" "view" "watch" "which" "whoami" "window" "with-env" "wrap" "zip")) - -(command - head: (cmd_identifier) @keyword.control.repeat - (#any-of? @keyword.control.repeat "break" "continue" "return")) - -(command - head: (cmd_identifier) @keyword - (#any-of? @keyword "do" "source" "source-env" "hide" "hide-env")) - (command - head: (cmd_identifier) @keyword - . - arg_str: (val_string) @keyword.control.import - (#any-of? @keyword "overlay" "error")) - -(command - head: (cmd_identifier) @cmd - arg_str: (val_string) @keyword - (#eq? @cmd "overlay") - (#eq? @keyword "as")) - -(command - "^" @punctuation.delimiter - head: (_) @function) - -"where" @function.builtin + "^" @punctuation.delimiter + head: (_) @function +) -(where_predicate - [ - "?" - "!" - ] @punctuation.delimiter) +"where" @function (path - [ - "." - "?" - "!" - ]? @punctuation.delimiter) @variable.parameter - -(stmt_let - (identifier) @variable) + ["." "?"] @punctuation.delimiter +) @variable.parameter -(val_variable - "$"? @punctuation.special - "...$"? @punctuation.special +(val_variable + "$" @variable.parameter [ - (identifier) @variable - "in" @special - "nu" @namespace - "env" @constant - ]) @none - -(val_cellpath - "$" @punctuation.special) - -(record_entry - ":" @punctuation.special) - -; --- -; types -(flat_type) @type - + (identifier) @namespace + "in" + "nu" + "env" + "nothing" + ] @special +) +;;; --- +;;; types +(flat_type) @type.builtin (list_type - "list" @type.enum - [ - "<" - ">" - ] @punctuation.bracket) - + "list" @type.enum + ["<" ">"] @punctuation.bracket +) (collection_type - [ - "record" - "table" - ] @type.enum - "<" @punctuation.bracket - key: (_) @variable.parameter - [ - "," - ":" - ] @punctuation.special - ">" @punctuation.bracket) - -(composite_type - "oneof" @type.enum - [ - "<" - ">" - ] @punctuation.bracket) - -[(comment) (shebang)] @comment - -((comment)+ @comment.documentation - . - (decl_def)) - -(parameter - (comment) @comment.documentation) - -(command - head: ((cmd_identifier) @function.builtin - (#match? @function.builtin "^\\s*(find|parse|split|str)$")) - flag: (_ - name: (_) @attribute - (#any-of? @attribute "r" "regex")) - . - arg: (_ - (string_content) @string.regexp)) - -(_ - opr: [ - "=~" - "!~" - "like" - "not-like" - ] - rhs: (_ - (string_content) @string.regexp)) + ["record" "table"] @type.enum + "<" @punctuation.bracket + key: (_) @variable.parameter + ["," ":"] @punctuation.delimiter + ">" @punctuation.bracket +) -(command - head: ((_) @function - (#any-of? @function "nu" "$nu.current-exe")) - flag: (_ - name: (_) @attribute - (#any-of? @attribute "c" "e" "commands" "execute")) - . - arg: (_ - (string_content) @string.code)) +(shebang) @comment +(comment) @comment |