192 lines
4.8 KiB
Scheme
192 lines
4.8 KiB
Scheme
;; #F29668 #000000 0 1 0 1
|
|
[
|
|
"&&"
|
|
"||"
|
|
"|"
|
|
"&|"
|
|
"2>|"
|
|
"&"
|
|
".."
|
|
"!"
|
|
(direction)
|
|
(stream_redirect)
|
|
] @operator
|
|
|
|
(command
|
|
name: (word) @function.builtin
|
|
(#match? @function.builtin "^test$")
|
|
;; #FFFFFF #000000 0 0 0 3
|
|
argument: (word) @word
|
|
(#match? @word "^(!?=|-[a-zA-Z]+)$"))
|
|
|
|
(command
|
|
name: (word) @punctuation.bracket
|
|
(#match? @punctuation.bracket "^\\[$")
|
|
argument: (word) @word
|
|
(#match? @word "^(!?=|-[a-zA-Z]+)$"))
|
|
|
|
;; #F29668 #000000 0 0 0 1
|
|
[
|
|
"not"
|
|
"and"
|
|
"or"
|
|
] @keyword.operator
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(if_statement
|
|
[
|
|
"if"
|
|
"end"
|
|
] @keyword.conditional)
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(switch_statement
|
|
[
|
|
"switch"
|
|
"end"
|
|
] @keyword.conditional)
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(case_clause
|
|
"case" @keyword.conditional)
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(else_clause
|
|
"else" @keyword.conditional)
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(else_if_clause
|
|
[
|
|
"else"
|
|
"if"
|
|
] @keyword.conditional)
|
|
|
|
; Loops/Blocks
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(while_statement
|
|
[
|
|
"while"
|
|
"end"
|
|
] @keyword.repeat)
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(for_statement
|
|
[
|
|
"for"
|
|
"end"
|
|
] @keyword.repeat)
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(begin_statement
|
|
[
|
|
"begin"
|
|
"end"
|
|
] @keyword.repeat)
|
|
|
|
; Keywords
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
[
|
|
"in"
|
|
(break)
|
|
(continue)
|
|
] @keyword
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
"return" @keyword.return
|
|
|
|
;; #BFBDB6 #000000 0 0 0 1
|
|
[
|
|
"["
|
|
"]"
|
|
"{"
|
|
"}"
|
|
"("
|
|
")"
|
|
] @punctuation.bracket
|
|
|
|
;; #BFBDB6 #000000 0 0 0 1
|
|
"," @punctuation.delimiter
|
|
|
|
;; #7dcfff #000000 0 0 0 2
|
|
(command_substitution
|
|
"$" @punctuation.special)
|
|
|
|
;; #FFB454 #000000 0 0 0 3
|
|
(command
|
|
name: (word) @function.call)
|
|
|
|
;; #FFB454 #000000 0 0 0 3
|
|
(command
|
|
name: (word) @function.builtin
|
|
(#match? @function.builtin
|
|
"^(\\.|:|_|abbr|alias|argparse|bg|bind|block|breakpoint|builtin|cd|command|commandline|complete|contains|count|disown|echo|emit|eval|exec|exit|fg|functions|history|isatty|jobs|math|path|printf|pwd|random|read|realpath|set|set_color|source|status|string|test|time|type|ulimit|wait)$"))
|
|
|
|
;; #FF8F40 #000000 0 0 0 1
|
|
(function_definition
|
|
[
|
|
"function"
|
|
"end"
|
|
] @keyword.function)
|
|
|
|
;; #FFB454 #000000 0 0 0 3
|
|
(function_definition
|
|
name: [
|
|
(word)
|
|
(concatenation)
|
|
] @function)
|
|
|
|
;; #FFFFFF #000000 0 0 0 1
|
|
(function_definition
|
|
option: [
|
|
(word)
|
|
(concatenation
|
|
(word))
|
|
] @variable.parameter
|
|
(#match? @variable.parameter "^[-]"))
|
|
|
|
;; #AAD94C #000000 0 0 0 1
|
|
[
|
|
(double_quote_string)
|
|
(single_quote_string)
|
|
] @string
|
|
|
|
;; #AAD94C #000000 0 0 0 1
|
|
(escape_sequence) @string.escape
|
|
|
|
;; #FFFFFF #000000 0 0 0 1
|
|
(variable_name) @variable
|
|
|
|
;; #D2A6FF #000000 0 0 0 1
|
|
(variable_expansion) @constant
|
|
|
|
;; #7dcfff #000000 0 0 0 2
|
|
(variable_expansion
|
|
"$" @punctuation.special) @none
|
|
|
|
;; #F07178 #000000 0 0 0 1
|
|
((variable_name) @variable.builtin
|
|
(#match? @variable.builtin
|
|
"^(PATH|CDPATH|LANG|LC_ALL|LC_COLLATE|LC_CTYPE|LC_MESSAGES|LC_MONETARY|LC_NUMERIC|LC_TIME|fish_color_normal|fish_color_command|fish_color_keyword|fish_color_redirection|fish_color_end|fish_color_error|fish_color_param|fish_color_valid_path|fish_color_option|fish_color_comment|fish_color_selection|fish_color_operator|fish_color_escape|fish_color_autosuggestion|fish_color_cwd|fish_color_cwd_root|fish_color_user|fish_color_host|fish_color_host_remote|fish_color_status|fish_color_cancel|fish_color_search_match|fish_color_history_current|fish_pager_color_progress|fish_pager_color_background|fish_pager_color_prefix|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_selected_background|fish_pager_color_selected_prefix|fish_pager_color_selected_completion|fish_pager_color_selected_description|fish_pager_color_secondary_background|fish_pager_color_secondary_prefix|fish_pager_color_secondary_completion|fish_pager_color_secondary_description|fish_term24bit|fish_term256|fish_ambiguous_width|fish_emoji_width|fish_autosuggestion_enabled|fish_handle_reflow|fish_key_bindings|fish_escape_delay_ms|fish_sequence_key_delay_ms|fish_complete_path|fish_cursor_selection_mode|fish_cursor_default|fish_cursor_insert|fish_cursor_replace|fish_cursor_replace_one|fish_cursor_visual|fish_cursor_external|fish_function_path|fish_greeting|fish_history|fish_trace|FISH_DEBUG|FISH_DEBUG_OUTPUT|fish_user_paths|umask|BROWSER|_|argv|CMD_DURATION|COLUMNS|LINES|fish_kill_signal|fish_killring|fish_read_limit|fish_pid|history|HOME|hostname|IFS|last_pid|PWD|pipestatus|SHLVL|status|status_generation|TERM|USER|EUID|version|FISH_VERSION)$"))
|
|
|
|
;; #D2A6FF #000000 0 0 0 2
|
|
[
|
|
(integer)
|
|
(float)
|
|
] @number
|
|
|
|
;; #99ADBF #000000 0 1 0 1
|
|
(comment) @comment
|
|
|
|
;; #99ADBF #000000 0 1 0 1
|
|
(comment) @spell
|
|
|
|
;; #D2A6FF #000000 0 0 0 1
|
|
((word) @boolean
|
|
(#match? @boolean "^(true|false)$"))
|
|
|
|
;; #AAD94C #000000 0 0 0 3
|
|
((program
|
|
.
|
|
(comment) @keyword.directive @nospell)
|
|
(#match? @keyword.directive "^#!"))
|