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.scm566
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