From fd894e4e9f32f352b062bceed2a11885c2e52a71 Mon Sep 17 00:00:00 2001 From: Syed Daanish Date: Sun, 18 Jan 2026 17:52:09 +0000 Subject: [PATCH] Remove unneccesary grammar files and tree-ditter mentions --- .gitattributes | 1 - .gitignore | 2 - grammar/bash.scm | 435 ----------------------- grammar/c.scm | 564 ------------------------------ grammar/cpp.scm | 564 ------------------------------ grammar/css.scm | 95 ------ grammar/diff.scm | 57 ---- grammar/erb.scm | 20 -- grammar/fish.scm | 191 ----------- grammar/gdscript.scm | 336 ------------------ grammar/gitattributes.scm | 70 ---- grammar/gitignore.scm | 46 --- grammar/go.scm | 286 ---------------- grammar/gomod.scm | 46 --- grammar/h.scm | 564 ------------------------------ grammar/haskell.scm | 207 ----------- grammar/hover.scm | 334 ------------------ grammar/html.scm | 146 -------- grammar/ini.scm | 34 -- grammar/javascript.scm | 316 ----------------- grammar/json.scm | 22 -- grammar/jsonc.scm | 22 -- grammar/lua.scm | 312 ----------------- grammar/make.scm | 191 ----------- grammar/man.scm | 23 -- grammar/markdown.scm | 327 ------------------ grammar/markdown_inline.scm | 92 ----- grammar/nginx.scm | 54 --- grammar/php.scm | 453 ------------------------ grammar/python.scm | 412 ---------------------- grammar/query.scm | 122 ------- grammar/regex.scm | 77 ----- grammar/ruby.scm | 515 ---------------------------- grammar/rust.scm | 663 ------------------------------------ grammar/sql.scm | 469 ------------------------- grammar/toml.scm | 56 --- grammar/typescript.scm | 316 ----------------- grammar/yaml.scm | 98 ------ 38 files changed, 8538 deletions(-) delete mode 100644 grammar/bash.scm delete mode 100644 grammar/c.scm delete mode 100644 grammar/cpp.scm delete mode 100644 grammar/css.scm delete mode 100644 grammar/diff.scm delete mode 100644 grammar/erb.scm delete mode 100644 grammar/fish.scm delete mode 100644 grammar/gdscript.scm delete mode 100644 grammar/gitattributes.scm delete mode 100644 grammar/gitignore.scm delete mode 100644 grammar/go.scm delete mode 100644 grammar/gomod.scm delete mode 100644 grammar/h.scm delete mode 100644 grammar/haskell.scm delete mode 100644 grammar/hover.scm delete mode 100644 grammar/html.scm delete mode 100644 grammar/ini.scm delete mode 100644 grammar/javascript.scm delete mode 100644 grammar/json.scm delete mode 100644 grammar/jsonc.scm delete mode 100644 grammar/lua.scm delete mode 100644 grammar/make.scm delete mode 100644 grammar/man.scm delete mode 100644 grammar/markdown.scm delete mode 100644 grammar/markdown_inline.scm delete mode 100644 grammar/nginx.scm delete mode 100644 grammar/php.scm delete mode 100644 grammar/python.scm delete mode 100644 grammar/query.scm delete mode 100644 grammar/regex.scm delete mode 100644 grammar/ruby.scm delete mode 100644 grammar/rust.scm delete mode 100644 grammar/sql.scm delete mode 100644 grammar/toml.scm delete mode 100644 grammar/typescript.scm delete mode 100644 grammar/yaml.scm diff --git a/.gitattributes b/.gitattributes index 4738f96..fbc82cd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1 @@ /libs/unicode_width/** linguist-vendored -*.scm linguist-language=Tree-sitter-Query diff --git a/.gitignore b/.gitignore index d481dfb..a0c115a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,8 +12,6 @@ samples/tmp* build bin -grammar/.*.scm - .thinlto-cache/ __old__ diff --git a/grammar/bash.scm b/grammar/bash.scm deleted file mode 100644 index 39a7aaf..0000000 --- a/grammar/bash.scm +++ /dev/null @@ -1,435 +0,0 @@ -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" - ")" - "{" - "}" - "[" - "]" - "[[" - "]]" - "((" - "))" -] @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - ";" - ";;" - ";&" - ";;&" - "&" -] @punctuation.delimiter - -;; #F29668 #000000 0 1 0 0 1 -[ - ">" - ">>" - "<" - "<<" - "&&" - "|" - "|&" - "||" - "=" - "+=" - "=~" - "==" - "!=" - "&>" - "&>>" - "<&" - ">&" - ">|" - "<&-" - ">&-" - "<<-" - "<<<" - ".." - "!" -] @operator - -;; #AAD94C #000000 0 0 0 0 1 -[ - (string) - (raw_string) - (ansi_c_string) - (heredoc_body) -] @string - -;; #E6C08A #000000 0 0 0 0 1 -[ - (heredoc_start) - (heredoc_end) -] @label - -(variable_assignment - (word) @variable) - -(command - argument: "$" @string) ; bare dollar - -(concatenation - (word) @string) - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "if" - "then" - "else" - "elif" - "fi" - "case" - "in" - "esac" -] @keyword.conditional - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "for" - "do" - "done" - "select" - "until" - "while" -] @keyword.repeat - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "declare" - "typeset" - "readonly" - "local" - "unset" - "unsetenv" -] @keyword - -;; #FF8F40 #000000 0 0 0 0 1 -"export" @keyword.import - -;; #FF8F40 #000000 0 0 0 0 1 -"function" @keyword.function - -;; #D2A6FF #000000 0 0 0 0 1 -(special_variable_name) @constant - -;; #D2A6FF #000000 0 0 0 0 1 -((word) @constant.builtin - (#match? @constant.builtin "^(SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGBUS|SIGFPE|SIGKILL|SIGUSR1|SIGSEGV|SIGUSR2|SIGPIPE|SIGALRM|SIGTERM|SIGSTKFLT|SIGCHLD|SIGCONT|SIGSTOP|SIGTSTP|SIGTTIN|SIGTTOU|SIGURG|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGIO|SIGPWR|SIGSYS|SIGRTMIN|SIGRTMIN\+1|SIGRTMIN\+2|SIGRTMIN\+3|SIGRTMIN\+4|SIGRTMIN\+5|SIGRTMIN\+6|SIGRTMIN\+7|SIGRTMIN\+8|SIGRTMIN\+9|SIGRTMIN\+10|SIGRTMIN\+11|SIGRTMIN\+12|SIGRTMIN\+13|SIGRTMIN\+14|SIGRTMIN\+15|SIGRTMAX\-14|SIGRTMAX\-13|SIGRTMAX\-12|SIGRTMAX\-11|SIGRTMAX\-10|SIGRTMAX\-9|SIGRTMAX\-8|SIGRTMAX\-7|SIGRTMAX\-6|SIGRTMAX\-5|SIGRTMAX\-4|SIGRTMAX\-3|SIGRTMAX\-2|SIGRTMAX\-1|SIGRTMAX)$")) - -;; #D2A6FF #000000 0 0 0 0 1 -((word) @boolean.true - (#match? @boolean.true "^true$")) - -;; #D2A6FF #000000 0 0 0 0 1 -((word) @boolean.false - (#match? @boolean.false "^false$")) - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #F29668 #000000 0 0 0 0 1 -(test_operator) @operator - -;; #7dcfff #000000 0 0 0 0 2 -(command_substitution - "$(" @punctuation.special - ")" @punctuation.special) - -;; #7dcfff #000000 0 0 0 0 2 -(process_substitution - [ - "<(" - ">(" - ] @punctuation.special - ")" @punctuation.special) - -;; #7dcfff #000000 0 0 0 0 2 -(arithmetic_expansion - [ - "$((" - "((" - ] @punctuation.special - "))" @punctuation.special) - -;; #BFBDB6 #000000 0 0 0 0 1 -(arithmetic_expansion - "," @punctuation.delimiter) - -;; #F29668 #000000 0 0 0 0 1 -(ternary_expression - [ - "?" - ":" - ] @keyword.conditional.ternary) - -;; #F29668 #000000 0 0 0 0 1 -(binary_expression - operator: _ @operator) - -;; #F29668 #000000 0 0 0 0 1 -(unary_expression - operator: _ @operator) - -;; #F29668 #000000 0 0 0 0 1 -(postfix_expression - operator: _ @operator) - -;; #FFB454 #000000 0 0 0 0 3 -(function_definition - name: (word) @function) - -;; #FFB454 #000000 0 0 0 0 3 -(command_name - (word) @function.call) - -;; #FFB454 #000000 0 0 0 0 3 -(command_name - (word) @function.builtin - (#match? @function.builtin "^(\.|\:|alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|compopt|continue|coproc|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|mapfile|popd|printf|pushd|pwd|read|readarray|return|set|shift|shopt|source|suspend|test|time|times|trap|true|type|typeset|ulimit|umask|unalias|wait)$")) - -;; #FFFFFF #000000 0 0 0 0 1 -(command - argument: [ - (word) @variable.parameter - (concatenation - (word) @variable.parameter) - ]) - -;; #FFFFFF #000000 0 0 0 0 1 -(declaration_command - (word) @variable.parameter) - -;; #FFFFFF #000000 0 0 0 0 1 -(unset_command - (word) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 2 -(number) @number - -;; #D2A6FF #000000 0 0 0 0 2 -((word) @number - (#match? @number "^[0-9]+$")) - -;; #AAD94C #000000 0 0 0 0 1 -(file_redirect - (word) @string.special.path) - -;; #AAD94C #000000 0 0 0 0 1 -(herestring_redirect - (word) @string) - -;; #F29668 #000000 0 0 0 0 1 -(file_descriptor) @operator - -;; #7dcfff #000000 0 0 0 0 2 -(simple_expansion - "$" @punctuation.special) @none - -;; #7dcfff #000000 0 0 0 0 2 -(expansion - "${" @punctuation.special - "}" @punctuation.special) @none - -;; #7dcfff #000000 0 0 0 0 2 -(expansion - operator: _ @punctuation.special) - -;; #7dcfff #000000 0 0 0 0 2 -(expansion - "@" - . - operator: _ @character.special) - -;; #7dcfff #000000 0 0 0 0 2 -((expansion - (subscript - index: (word) @character.special)) - (#any-of? @character.special "@" "*")) - -;; #7dcfff #000000 0 0 0 0 2 -"``" @punctuation.special - -;; #FFFFFF #000000 0 0 0 0 1 -(variable_name) @variable - -;; #D2A6FF #000000 0 0 0 0 1 -((variable_name) @constant - (#match? @constant "^[A-Z][A-Z_0-9]*$")) - -;; #F07178 #000000 0 0 0 0 1 -((variable_name) @variable.builtin - (#match? @variable.builtin "^(CDPATH|HOME|IFS|MAIL|MAILPATH|OPTARG|OPTIND|PATH|PS1|PS2|_|BASH|BASHOPTS|BASHPID|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_ARGV0|BASH_CMDS|BASH_COMMAND|BASH_COMPAT|BASH_ENV|BASH_EXECUTION_STRING|BASH_LINENO|BASH_LOADABLES_PATH|BASH_REMATCH|BASH_SOURCE|BASH_SUBSHELL|BASH_VERSINFO|BASH_VERSION|BASH_XTRACEFD|CHILD_MAX|COLUMNS|COMP_CWORD|COMP_LINE|COMP_POINT|COMP_TYPE|COMP_KEY|COMP_WORDBREAKS|COMP_WORDS|COMPREPLY|COPROC|DIRSTACK|EMACS|ENV|EPOCHREALTIME|EPOCHSECONDS|EUID|EXECIGNORE|FCEDIT|FIGNORE|FUNCNAME|FUNCNEST|GLOBIGNORE|GROUPS|histchars|HISTCMD|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTIGNORE|HISTSIZE|HISTTIMEFORMAT|HOSTFILE|HOSTNAME|HOSTTYPE|IGNOREEOF|INPUTRC|INSIDE_EMACS|LANG|LC_ALL|LC_COLLATE|LC_CTYPE|LC_MESSAGES|LC_NUMERIC|LC_TIME|LINENO|LINES|MACHTYPE|MAILCHECK|MAPFILE|OLDPWD|OPTERR|OSTYPE|PIPESTATUS|POSIXLY_CORRECT|PPID|PROMPT_COMMAND|PROMPT_DIRTRIM|PS0|PS3|PS4|PWD|RANDOM|READLINE_ARGUMENT|READLINE_LINE|READLINE_MARK|READLINE_POINT|REPLY|SECONDS|SHELL|SHELLOPTS|SHLVL|SRANDOM|TIMEFORMAT|TMOUT|TMPDIR|UID)$")) - -;; #FFFFFF #000000 0 0 0 0 1 -(case_item - value: (word) @variable.parameter) - -;; #AAD94C #000000 0 0 0 0 3 -((program - . - (comment) @keyword.directive @nospell) - (#match? @keyword.directive "^#!/")) - -; Injections - -;; !regex -[ - (regex) - (extglob_pattern) -] @string.regexp - -;; !bash -((heredoc_body) @bash_injection - ((heredoc_end) @lang - (#match? @lang "BASH"))) - -;; !c -((heredoc_body) @c_injection - ((heredoc_end) @lang - (#match? @lang "C$"))) - -;; !cpp -((heredoc_body) @cpp_injection - ((heredoc_end) @lang - (#match? @lang "CPP"))) - -;; !css -((heredoc_body) @css_injection - ((heredoc_end) @lang - (#match? @lang "CSS"))) - -;; !fish -((heredoc_body) @fish_injection - ((heredoc_end) @lang - (#match? @lang "FISH"))) - -;; !go -((heredoc_body) @go_injection - ((heredoc_end) @lang - (#match? @lang "GO"))) - -;; !haskell -((heredoc_body) @haskell_injection - ((heredoc_end) @lang - (#match? @lang "HASKELL"))) - -;; !html -((heredoc_body) @html_injection - ((heredoc_end) @lang - (#match? @lang "HTML"))) - -;; !javascript -((heredoc_body) @javascript_injection - ((heredoc_end) @lang - (#match? @lang "JAVASCRIPT"))) - -;; !json -((heredoc_body) @json_injection - ((heredoc_end) @lang - (#match? @lang "JSON"))) - -;; !lua -((heredoc_body) @lua_injection - ((heredoc_end) @lang - (#match? @lang "LUA"))) - -;; !make -((heredoc_body) @make_injection - ((heredoc_end) @lang - (#match? @lang "MAKE"))) - -;; !python -((heredoc_body) @python_injection - ((heredoc_end) @lang - (#match? @lang "PYTHON"))) - -;; !ruby -((heredoc_body) @ruby_injection - ((heredoc_end) @lang - (#match? @lang "RUBY"))) - -;; !rust -((heredoc_body) @rust_injection - ((heredoc_end) @lang - (#match? @lang "RUST"))) - -;; !diff -((heredoc_body) @diff_injection - ((heredoc_end) @lang - (#match? @lang "DIFF"))) - -;; !embedded_template -((heredoc_body) @embedded_template_injection - ((heredoc_end) @lang - (#match? @lang "ERB"))) - -;; !gdscript -((heredoc_body) @gdscript_injection - ((heredoc_end) @lang - (#match? @lang "GDSCRIPT"))) - -;; !gitattributes -((heredoc_body) @gitattributes_injection - ((heredoc_end) @lang - (#match? @lang "GITATTRIBUTES"))) - -;; !gitignore -((heredoc_body) @gitignore_injection - ((heredoc_end) @lang - (#match? @lang "GITIGNORE"))) - -;; !gomod -((heredoc_body) @gomod_injection - ((heredoc_end) @lang - (#match? @lang "GOMOD"))) - -;; !ini -((heredoc_body) @ini_injection - ((heredoc_end) @lang - (#match? @lang "INI"))) - -;; !markdown -((heredoc_body) @markdown_injection - ((heredoc_end) @lang - (#match? @lang "MARKDOWN"))) - -;; !nginx -((heredoc_body) @nginx_injection - ((heredoc_end) @lang - (#match? @lang "NGINX"))) - -;; !php -((heredoc_body) @php_injection - ((heredoc_end) @lang - (#match? @lang "PHP"))) - -;; !query -((heredoc_body) @query_injection - ((heredoc_end) @lang - (#match? @lang "QUERY"))) - -;; !regex -((heredoc_body) @regex_injection - ((heredoc_end) @lang - (#match? @lang "REGEX"))) - -;; !sql -((heredoc_body) @sql_injection - ((heredoc_end) @lang - (#match? @lang "SQL"))) - -;; !toml -((heredoc_body) @toml_injection - ((heredoc_end) @lang - (#match? @lang "TOML"))) - -;; !yaml -((heredoc_body) @yaml_injection - ((heredoc_end) @lang - (#match? @lang "YAML"))) - -;; !cabal -((heredoc_body) @cabal_injection - ((heredoc_end) @lang - (#match? @lang "CABAL"))) diff --git a/grammar/c.scm b/grammar/c.scm deleted file mode 100644 index 306a7a0..0000000 --- a/grammar/c.scm +++ /dev/null @@ -1,564 +0,0 @@ -; ============================================================ -; Identifiers -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 1 -((identifier) @variable) - -;; #FFB870 #000000 0 0 0 0 9 -(function_declarator - declarator: (identifier) @function) - -;; #C4B5FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z][A-Z0-9_]+$")) - -;; #C4B5FF #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @constant - (#match? @constant "^[A-Z][A-Z0-9_]+$")) - -;; #F29CC3 #000000 0 0 0 0 2 -((identifier) @constant.builtin - (#match? @constant.builtin "^(stderr|stdin|stdout|__FILE__|__LINE__|__DATE__|__TIME__|__STDC__|__STDC_VERSION__|__STDC_HOSTED__|__cplusplus|__OBJC__|__ASSEMBLER__|__BASE_FILE__|__FILE_NAME__|__INCLUDE_LEVEL__|__TIMESTAMP__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__clang_literal_encoding__|__clang_wide_literal_encoding__|__FUNCTION__|__func__|__PRETTY_FUNCTION__|__VA_ARGS__|__VA_OPT__)$")) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @constant.builtin - (#match? @constant.builtin "^(stderr|stdin|stdout|__FILE__|__LINE__|__DATE__|__TIME__|__STDC__|__STDC_VERSION__|__STDC_HOSTED__|__cplusplus|__OBJC__|__ASSEMBLER__|__BASE_FILE__|__FILE_NAME__|__INCLUDE_LEVEL__|__TIMESTAMP__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__clang_literal_encoding__|__clang_wide_literal_encoding__|__FUNCTION__|__func__|__PRETTY_FUNCTION__|__VA_ARGS__|__VA_OPT__)$")) - -;; #8AD5FF #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @variable) - -;; #8AD5FF #000000 0 0 0 0 2 -(statement_identifier) @label - -;; #8AD5FF #000000 0 0 0 0 2 -(declaration - type: (type_identifier) @_type - declarator: (identifier) @label - (#match? @_type "^__label__$")) - -;; #7CD5CF #000000 0 0 0 0 2 -((identifier) @variable.member - (#match? @variable.member "^m_.*$")) - -; ============================================================ -; Keywords -; ============================================================ - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "default" - "goto" - "asm" - "__asm__" -] @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "enum" - "struct" - "union" - "typedef" -] @keyword.type - -;; #F29CC3 #000000 0 0 0 0 2 -[ - "sizeof" - "offsetof" -] @keyword.operator - -;; #F29CC3 #000000 0 0 0 0 2 -(alignof_expression - . - _ @keyword.operator) - -;; #FFB870 #000000 0 0 0 0 2 -"return" @keyword.return - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "while" - "for" - "do" - "continue" - "break" -] @keyword.repeat - -;; #FFB870 #000000 0 0 0 0 2 -[ - "if" - "else" - "case" - "switch" -] @keyword.conditional - -;; #9AD4FF #000000 0 0 0 0 2 -(conditional_expression - [ - "?" - ":" - ] @keyword.conditional.ternary) - -;; #8AD5FF #000000 0 0 0 0 2 -[ - "#if" - "#ifdef" - "#ifndef" - "#else" - "#elif" - "#endif" - "#elifdef" - "#elifndef" - (preproc_directive) -] @keyword.directive - -;; #8AD5FF #000000 0 0 0 0 2 -"#define" @keyword.directive.define - -;; #8AD5FF #000000 0 0 0 0 2 -"#include" @keyword.import - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "try" - "catch" - "noexcept" - "throw" -] @keyword.exception - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "decltype" - "explicit" - "friend" - "override" - "using" - "requires" - "constexpr" -] @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "class" - "namespace" - "template" - "typename" - "concept" -] @keyword.type - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "co_await" - "co_yield" - "co_return" -] @keyword.coroutine - -;; #F29CC3 #000000 0 0 0 0 2 -[ - "public" - "private" - "protected" - "final" - "virtual" -] @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -(storage_class_specifier) @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -[ - (type_qualifier) - (gnu_asm_qualifier) - "__extension__" -] @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -(linkage_specification - "extern" @keyword.modifier) - -;; #F29668 #000000 0 0 0 0 2 -[ - "new" - "delete" - "xor" - "bitand" - "bitor" - "compl" - "not" - "xor_eq" - "and_eq" - "or_eq" - "not_eq" - "and" - "or" -] @keyword.operator - -;; #F29668 #000000 0 1 0 0 2 -"<=>" @operator - -; ============================================================ -; Types & modules -; ============================================================ - -;; #C4B5FF #000000 0 0 0 0 2 -[ - (type_identifier) - (type_descriptor) -] @type - -;; #C4B5FF #000000 0 0 0 0 2 -(type_definition - declarator: (type_identifier) @type.definition) - -;; #C4B5FF #000000 0 0 0 0 2 -(primitive_type) @type.builtin - -;; #C4B5FF #000000 0 0 0 0 2 -(sized_type_specifier - _ @type.builtin - type: _?) - -;; #9AD4FF #000000 0 0 0 0 2 -(namespace_identifier) @module - -;; #9AD4FF #000000 0 0 0 0 2 -((namespace_identifier) @type - (#match? @type "^[A-Z]")) - -;; #9AD4FF #000000 0 0 0 0 2 -(using_declaration - . - "using" - . - "namespace" - . - [ - (qualified_identifier) - (identifier) - ] @module) - -; ============================================================ -; Functions & calls -; ============================================================ - -;; #FFB870 #000000 0 0 0 0 1 -(operator_name) @function - -;; #FFB870 #000000 0 0 0 0 3 -"operator" @function - -;; #78C2FF #000000 0 0 0 0 2 -(call_expression - function: (identifier) @function.call) - -;; #F29CC3 #000000 0 0 0 0 2 -((call_expression - function: (identifier) @function.builtin) - (#match? @function.builtin "^__builtin_")) - -;; #F29CC3 #000000 0 0 0 0 2 -((call_expression - function: (identifier) @function.builtin)) - -; ============================================================ -; Constructors & methods -; ============================================================ - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (identifier) @constructor) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (qualified_identifier - name: (identifier) @constructor)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (field_expression - field: (field_identifier) @constructor)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((field_initializer - (field_identifier) @constructor - (argument_list)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 4 -(destructor_name - (identifier) @function.method) - -; ============================================================ -; Properties & members -; ============================================================ - -;; #F29CC3 #000000 0 0 0 0 2 -((field_expression - (field_identifier) @property) @_parent) - -(field_designator) @property - -((field_identifier) @property) - -(field_initializer - (field_identifier) @property) - -;; #F29CC3 #000000 0 0 1 0 2 -(field_declaration - (field_identifier) @variable.member) - -; ============================================================ -; Parameters -; ============================================================ - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (identifier) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (array_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (pointer_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(preproc_params - (identifier) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (reference_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(variadic_parameter_declaration - declarator: (variadic_declarator - (_) @variable.parameter)) - -;; #7CD5CF #000000 0 0 0 0 2 -(optional_parameter_declaration - declarator: (_) @variable.parameter) - -; ============================================================ -; Attributes & specifiers -; ============================================================ - -;; #7CD5CF #000000 0 0 0 0 2 -[ - "__attribute__" - "__declspec" - "__based" - "__cdecl" - "__clrcall" - "__stdcall" - "__fastcall" - "__thiscall" - "__vectorcall" - (ms_pointer_modifier) - (attribute_declaration) -] @attribute - -;; #7CD5CF #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (identifier) @variable.builtin)) - -;; #7CD5CF #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (call_expression - function: (identifier) @variable.builtin))) - -; ============================================================ -; Operators & punctuation -; ============================================================ - -;; #F29668 #000000 0 1 0 0 1 -[ - "=" - "-" - "*" - "/" - "+" - "%" - "~" - "|" - "&" - "^" - "<<" - ">>" - "->" - "<" - "<=" - ">=" - ">" - "==" - "!=" - "!" - "&&" - "||" - "-=" - "+=" - "*=" - "/=" - "%=" - "|=" - "&=" - "^=" - ">>=" - "<<=" - "--" - "++" -] @operator - -;; #F29668 #000000 0 1 0 0 1 -(comma_expression - "," @operator) - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - ";" - ":" - "," - "." - "::" -] @punctuation.delimiter - -;; #B6BEC8 #000000 0 0 0 0 1 -"::" @punctuation.delimiter - -;; #B6BEC8 #000000 0 0 0 0 1 -"..." @punctuation.special - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #B6BEC8 #000000 0 0 0 0 1 -(template_argument_list - [ - "<" - ">" - ] @punctuation.bracket) - -;; #B6BEC8 #000000 0 0 0 0 1 -(template_parameter_list - [ - "<" - ">" - ] @punctuation.bracket) - -; ============================================================ -; Literals -; ============================================================ - -;; #C2E8FF #000000 0 0 0 0 2 -[ - (true) - (false) -] @boolean - -;; #C2E8FF #000000 0 0 0 0 2 -(true) @boolean_true - -;; #C2E8FF #000000 0 0 0 0 2 -(false) @boolean_false - -;; #A6E3A1 #000000 0 0 0 0 2 -(string_literal) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(system_lib_string) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(raw_string_literal) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(escape_sequence) @string.escape - -;; #B8E986 #000000 0 0 0 0 2 -(number_literal) @number - -;; #B8E986 #000000 0 0 0 0 2 -(char_literal) @character - -;; #F29CC3 #000000 0 0 0 0 2 -(null) @constant.builtin - -;; #F29CC3 #000000 0 0 0 0 2 -(null - "nullptr" @constant.builtin) - -; ============================================================ -; Macros & directives -; ============================================================ - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_def - name: (_) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_call - directive: (preproc_directive) @_u - argument: (_) @constant.macro - (#match? @_u "^#undef$")) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_ifdef - name: (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_elifdef - name: (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_defined - (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_defined) @function.macro - -; ============================================================ -; Builtins & special identifiers -; ============================================================ - -;; #F28FAD #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (identifier) @variable.builtin)) - -;; #F28FAD #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (call_expression - function: (identifier) @variable.builtin))) - -;; #F28FAD #000000 0 0 0 0 2 -(this) @variable.builtin - -; ============================================================ -; Exceptions & control helpers -; ============================================================ - -;; #FFB870 #000000 0 0 0 0 2 -"static_assert" @function.builtin - -; ============================================================ -; Comments -; ============================================================ - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell diff --git a/grammar/cpp.scm b/grammar/cpp.scm deleted file mode 100644 index 306a7a0..0000000 --- a/grammar/cpp.scm +++ /dev/null @@ -1,564 +0,0 @@ -; ============================================================ -; Identifiers -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 1 -((identifier) @variable) - -;; #FFB870 #000000 0 0 0 0 9 -(function_declarator - declarator: (identifier) @function) - -;; #C4B5FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z][A-Z0-9_]+$")) - -;; #C4B5FF #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @constant - (#match? @constant "^[A-Z][A-Z0-9_]+$")) - -;; #F29CC3 #000000 0 0 0 0 2 -((identifier) @constant.builtin - (#match? @constant.builtin "^(stderr|stdin|stdout|__FILE__|__LINE__|__DATE__|__TIME__|__STDC__|__STDC_VERSION__|__STDC_HOSTED__|__cplusplus|__OBJC__|__ASSEMBLER__|__BASE_FILE__|__FILE_NAME__|__INCLUDE_LEVEL__|__TIMESTAMP__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__clang_literal_encoding__|__clang_wide_literal_encoding__|__FUNCTION__|__func__|__PRETTY_FUNCTION__|__VA_ARGS__|__VA_OPT__)$")) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @constant.builtin - (#match? @constant.builtin "^(stderr|stdin|stdout|__FILE__|__LINE__|__DATE__|__TIME__|__STDC__|__STDC_VERSION__|__STDC_HOSTED__|__cplusplus|__OBJC__|__ASSEMBLER__|__BASE_FILE__|__FILE_NAME__|__INCLUDE_LEVEL__|__TIMESTAMP__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__clang_literal_encoding__|__clang_wide_literal_encoding__|__FUNCTION__|__func__|__PRETTY_FUNCTION__|__VA_ARGS__|__VA_OPT__)$")) - -;; #8AD5FF #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @variable) - -;; #8AD5FF #000000 0 0 0 0 2 -(statement_identifier) @label - -;; #8AD5FF #000000 0 0 0 0 2 -(declaration - type: (type_identifier) @_type - declarator: (identifier) @label - (#match? @_type "^__label__$")) - -;; #7CD5CF #000000 0 0 0 0 2 -((identifier) @variable.member - (#match? @variable.member "^m_.*$")) - -; ============================================================ -; Keywords -; ============================================================ - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "default" - "goto" - "asm" - "__asm__" -] @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "enum" - "struct" - "union" - "typedef" -] @keyword.type - -;; #F29CC3 #000000 0 0 0 0 2 -[ - "sizeof" - "offsetof" -] @keyword.operator - -;; #F29CC3 #000000 0 0 0 0 2 -(alignof_expression - . - _ @keyword.operator) - -;; #FFB870 #000000 0 0 0 0 2 -"return" @keyword.return - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "while" - "for" - "do" - "continue" - "break" -] @keyword.repeat - -;; #FFB870 #000000 0 0 0 0 2 -[ - "if" - "else" - "case" - "switch" -] @keyword.conditional - -;; #9AD4FF #000000 0 0 0 0 2 -(conditional_expression - [ - "?" - ":" - ] @keyword.conditional.ternary) - -;; #8AD5FF #000000 0 0 0 0 2 -[ - "#if" - "#ifdef" - "#ifndef" - "#else" - "#elif" - "#endif" - "#elifdef" - "#elifndef" - (preproc_directive) -] @keyword.directive - -;; #8AD5FF #000000 0 0 0 0 2 -"#define" @keyword.directive.define - -;; #8AD5FF #000000 0 0 0 0 2 -"#include" @keyword.import - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "try" - "catch" - "noexcept" - "throw" -] @keyword.exception - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "decltype" - "explicit" - "friend" - "override" - "using" - "requires" - "constexpr" -] @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "class" - "namespace" - "template" - "typename" - "concept" -] @keyword.type - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "co_await" - "co_yield" - "co_return" -] @keyword.coroutine - -;; #F29CC3 #000000 0 0 0 0 2 -[ - "public" - "private" - "protected" - "final" - "virtual" -] @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -(storage_class_specifier) @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -[ - (type_qualifier) - (gnu_asm_qualifier) - "__extension__" -] @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -(linkage_specification - "extern" @keyword.modifier) - -;; #F29668 #000000 0 0 0 0 2 -[ - "new" - "delete" - "xor" - "bitand" - "bitor" - "compl" - "not" - "xor_eq" - "and_eq" - "or_eq" - "not_eq" - "and" - "or" -] @keyword.operator - -;; #F29668 #000000 0 1 0 0 2 -"<=>" @operator - -; ============================================================ -; Types & modules -; ============================================================ - -;; #C4B5FF #000000 0 0 0 0 2 -[ - (type_identifier) - (type_descriptor) -] @type - -;; #C4B5FF #000000 0 0 0 0 2 -(type_definition - declarator: (type_identifier) @type.definition) - -;; #C4B5FF #000000 0 0 0 0 2 -(primitive_type) @type.builtin - -;; #C4B5FF #000000 0 0 0 0 2 -(sized_type_specifier - _ @type.builtin - type: _?) - -;; #9AD4FF #000000 0 0 0 0 2 -(namespace_identifier) @module - -;; #9AD4FF #000000 0 0 0 0 2 -((namespace_identifier) @type - (#match? @type "^[A-Z]")) - -;; #9AD4FF #000000 0 0 0 0 2 -(using_declaration - . - "using" - . - "namespace" - . - [ - (qualified_identifier) - (identifier) - ] @module) - -; ============================================================ -; Functions & calls -; ============================================================ - -;; #FFB870 #000000 0 0 0 0 1 -(operator_name) @function - -;; #FFB870 #000000 0 0 0 0 3 -"operator" @function - -;; #78C2FF #000000 0 0 0 0 2 -(call_expression - function: (identifier) @function.call) - -;; #F29CC3 #000000 0 0 0 0 2 -((call_expression - function: (identifier) @function.builtin) - (#match? @function.builtin "^__builtin_")) - -;; #F29CC3 #000000 0 0 0 0 2 -((call_expression - function: (identifier) @function.builtin)) - -; ============================================================ -; Constructors & methods -; ============================================================ - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (identifier) @constructor) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (qualified_identifier - name: (identifier) @constructor)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (field_expression - field: (field_identifier) @constructor)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((field_initializer - (field_identifier) @constructor - (argument_list)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 4 -(destructor_name - (identifier) @function.method) - -; ============================================================ -; Properties & members -; ============================================================ - -;; #F29CC3 #000000 0 0 0 0 2 -((field_expression - (field_identifier) @property) @_parent) - -(field_designator) @property - -((field_identifier) @property) - -(field_initializer - (field_identifier) @property) - -;; #F29CC3 #000000 0 0 1 0 2 -(field_declaration - (field_identifier) @variable.member) - -; ============================================================ -; Parameters -; ============================================================ - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (identifier) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (array_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (pointer_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(preproc_params - (identifier) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (reference_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(variadic_parameter_declaration - declarator: (variadic_declarator - (_) @variable.parameter)) - -;; #7CD5CF #000000 0 0 0 0 2 -(optional_parameter_declaration - declarator: (_) @variable.parameter) - -; ============================================================ -; Attributes & specifiers -; ============================================================ - -;; #7CD5CF #000000 0 0 0 0 2 -[ - "__attribute__" - "__declspec" - "__based" - "__cdecl" - "__clrcall" - "__stdcall" - "__fastcall" - "__thiscall" - "__vectorcall" - (ms_pointer_modifier) - (attribute_declaration) -] @attribute - -;; #7CD5CF #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (identifier) @variable.builtin)) - -;; #7CD5CF #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (call_expression - function: (identifier) @variable.builtin))) - -; ============================================================ -; Operators & punctuation -; ============================================================ - -;; #F29668 #000000 0 1 0 0 1 -[ - "=" - "-" - "*" - "/" - "+" - "%" - "~" - "|" - "&" - "^" - "<<" - ">>" - "->" - "<" - "<=" - ">=" - ">" - "==" - "!=" - "!" - "&&" - "||" - "-=" - "+=" - "*=" - "/=" - "%=" - "|=" - "&=" - "^=" - ">>=" - "<<=" - "--" - "++" -] @operator - -;; #F29668 #000000 0 1 0 0 1 -(comma_expression - "," @operator) - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - ";" - ":" - "," - "." - "::" -] @punctuation.delimiter - -;; #B6BEC8 #000000 0 0 0 0 1 -"::" @punctuation.delimiter - -;; #B6BEC8 #000000 0 0 0 0 1 -"..." @punctuation.special - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #B6BEC8 #000000 0 0 0 0 1 -(template_argument_list - [ - "<" - ">" - ] @punctuation.bracket) - -;; #B6BEC8 #000000 0 0 0 0 1 -(template_parameter_list - [ - "<" - ">" - ] @punctuation.bracket) - -; ============================================================ -; Literals -; ============================================================ - -;; #C2E8FF #000000 0 0 0 0 2 -[ - (true) - (false) -] @boolean - -;; #C2E8FF #000000 0 0 0 0 2 -(true) @boolean_true - -;; #C2E8FF #000000 0 0 0 0 2 -(false) @boolean_false - -;; #A6E3A1 #000000 0 0 0 0 2 -(string_literal) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(system_lib_string) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(raw_string_literal) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(escape_sequence) @string.escape - -;; #B8E986 #000000 0 0 0 0 2 -(number_literal) @number - -;; #B8E986 #000000 0 0 0 0 2 -(char_literal) @character - -;; #F29CC3 #000000 0 0 0 0 2 -(null) @constant.builtin - -;; #F29CC3 #000000 0 0 0 0 2 -(null - "nullptr" @constant.builtin) - -; ============================================================ -; Macros & directives -; ============================================================ - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_def - name: (_) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_call - directive: (preproc_directive) @_u - argument: (_) @constant.macro - (#match? @_u "^#undef$")) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_ifdef - name: (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_elifdef - name: (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_defined - (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_defined) @function.macro - -; ============================================================ -; Builtins & special identifiers -; ============================================================ - -;; #F28FAD #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (identifier) @variable.builtin)) - -;; #F28FAD #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (call_expression - function: (identifier) @variable.builtin))) - -;; #F28FAD #000000 0 0 0 0 2 -(this) @variable.builtin - -; ============================================================ -; Exceptions & control helpers -; ============================================================ - -;; #FFB870 #000000 0 0 0 0 2 -"static_assert" @function.builtin - -; ============================================================ -; Comments -; ============================================================ - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell diff --git a/grammar/css.scm b/grammar/css.scm deleted file mode 100644 index 68f4ed9..0000000 --- a/grammar/css.scm +++ /dev/null @@ -1,95 +0,0 @@ -;; #D2A6FF #000000 0 0 0 0 1 -(tag_name) @tag -(nesting_selector) @tag -(universal_selector) @tag - -;; #F29668 #000000 0 0 0 0 1 -"~" @operator -">" @operator -"+" @operator -"-" @operator -"*" @operator -"/" @operator -"=" @operator -"^=" @operator -"|=" @operator -"~=" @operator -"$=" @operator -"*=" @operator -"and" @operator -"or" @operator -"not" @operator -"only" @operator - -;; #AAD94C #000000 0 0 0 0 2 -(attribute_selector (plain_value) @string) -(string_value) @string - -;; #FFFFFF #000000 0 0 0 0 1 -((property_name) @variable - (#match? @variable "^--")) -((plain_value) @variable - (#match? @variable "^--")) - -;; #7dcfff #000000 0 0 0 0 2 -(class_name) @property -(id_name) @property -(namespace_name) @property -(property_name) @property -(feature_name) @property - -;; #F07178 #000000 0 0 0 0 1 -(pseudo_element_selector (tag_name) @attribute) -(pseudo_class_selector (class_name) @attribute) -(attribute_name) @attribute - -;; #F07178 #000000 0 0 0 0 1 -(function_name) @function - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #FFFFFF #000000 0 0 0 0 1 -(color_value) @string.special - -;; #FF8F40 #000000 0 0 0 0 1 -(integer_value) @number -(float_value) @number - -;; #FF8F40 #000000 0 0 0 0 1 -(unit) @type - -;; #AAD94C #000000 0 0 0 0 3 -[ - "#" - "," - "." - ":" - "::" - ";" -] @punctuation.delimiter - -;; #AAD94C #000000 0 0 0 0 3 -[ - "{" - "}" - ")" - "(" - "[" - "]" -] @punctuation.bracket - -;; #D2A6FF #000000 0 0 0 0 1 -(at_keyword) @keyword -(to) @keyword -(from) @keyword -(important) @keyword - -; This is put at the end as the regex parser will wrongly think @media is a capture name becouse of its @ -; TODO: This should be fixed by not selecting if it is in a string -"@media" @keyword -"@import" @keyword -"@charset" @keyword -"@namespace" @keyword -"@supports" @keyword -"@keyframes" @keyword diff --git a/grammar/diff.scm b/grammar/diff.scm deleted file mode 100644 index 789dc11..0000000 --- a/grammar/diff.scm +++ /dev/null @@ -1,57 +0,0 @@ -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #A6E3A1 #000000 0 0 0 0 2 -(addition) @diff.plus - -;; #F07178 #000000 0 0 0 0 2 -(deletion) @diff.minus - -;; #D2A6FF #000000 0 0 0 0 0 -[ - (new_file) - (old_file) -] @file - -;; #D2A6FF #000000 0 0 0 0 1 -(commit) @constant - -;; #7dcfff #000000 0 0 0 0 2 -(location) @attribute - -;; #D2A6FF #000000 0 0 0 0 1 -(command - "diff" @function - (argument) @variable.parameter) - -;; #7dcfff #000000 0 0 0 0 6 -(mode) @number - -;; #888888 #000000 0 0 0 0 3 -[ - ".." - "+" - "++" - "+++" - "++++" - "-" - "--" - "---" - "----" -] @punctuation.special - -;; #7dcfff #000000 0 0 0 0 2 -[ - (binary_change) - (similarity) - (file_change) -] @label - -;; #D2A6FF #000000 0 0 0 0 1 -(index - "index" @keyword) - -;; #FF8F40 #000000 0 0 0 0 1 -(similarity - (score) @number - "%" @number) diff --git a/grammar/erb.scm b/grammar/erb.scm deleted file mode 100644 index 0b48e7c..0000000 --- a/grammar/erb.scm +++ /dev/null @@ -1,20 +0,0 @@ -;; #99ADBF #000000 0 1 0 0 4 -(comment_directive) @comment - -;; #F29668 #000000 0 0 0 0 6 -[ - "<%#" - "<%" - "<%=" - "<%_" - "<%-" - "%>" - "-%>" - "_%>" -] @keyword - -;; !html -(content) @injection.html - -;; !ruby -(code) @injection.ruby diff --git a/grammar/fish.scm b/grammar/fish.scm deleted file mode 100644 index 8cccb9d..0000000 --- a/grammar/fish.scm +++ /dev/null @@ -1,191 +0,0 @@ -;; #F29668 #000000 0 1 0 0 1 -[ - "&&" - "||" - "|" - "&|" - "2>|" - "&" - ".." - "!" - (direction) - (stream_redirect) -] @operator - -(command - name: (word) @function.builtin - (#match? @function.builtin "^test$") -;; #FFFFFF #000000 0 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 0 1 -[ - "not" - "and" - "or" -] @keyword.operator - -;; #FF8F40 #000000 0 0 0 0 1 -(if_statement - [ - "if" - "end" - ] @keyword.conditional) - -;; #FF8F40 #000000 0 0 0 0 1 -(switch_statement - [ - "switch" - "end" - ] @keyword.conditional) - -;; #FF8F40 #000000 0 0 0 0 1 -(case_clause - "case" @keyword.conditional) - -;; #FF8F40 #000000 0 0 0 0 1 -(else_clause - "else" @keyword.conditional) - -;; #FF8F40 #000000 0 0 0 0 1 -(else_if_clause - [ - "else" - "if" - ] @keyword.conditional) - -; Loops/Blocks -;; #FF8F40 #000000 0 0 0 0 1 -(while_statement - [ - "while" - "end" - ] @keyword.repeat) - -;; #FF8F40 #000000 0 0 0 0 1 -(for_statement - [ - "for" - "end" - ] @keyword.repeat) - -;; #FF8F40 #000000 0 0 0 0 1 -(begin_statement - [ - "begin" - "end" - ] @keyword.repeat) - -; Keywords -;; #FF8F40 #000000 0 0 0 0 1 -[ - "in" - (break) - (continue) -] @keyword - -;; #FF8F40 #000000 0 0 0 0 1 -"return" @keyword.return - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "[" - "]" - "{" - "}" - "(" - ")" -] @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -"," @punctuation.delimiter - -;; #7dcfff #000000 0 0 0 0 2 -(command_substitution - "$" @punctuation.special) - -;; #FFB454 #000000 0 0 0 0 3 -(command - name: (word) @function.call) - -;; #FFB454 #000000 0 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 0 1 -(function_definition - [ - "function" - "end" - ] @keyword.function) - -;; #FFB454 #000000 0 0 0 0 3 -(function_definition - name: [ - (word) - (concatenation) - ] @function) - -;; #FFFFFF #000000 0 0 0 0 1 -(function_definition - option: [ - (word) - (concatenation - (word)) - ] @variable.parameter - (#match? @variable.parameter "^[-]")) - -;; #AAD94C #000000 0 0 0 0 1 -[ - (double_quote_string) - (single_quote_string) -] @string - -;; #AAD94C #000000 0 0 0 0 1 -(escape_sequence) @string.escape - -;; #FFFFFF #000000 0 0 0 0 1 -(variable_name) @variable - -;; #D2A6FF #000000 0 0 0 0 1 -(variable_expansion) @constant - -;; #7dcfff #000000 0 0 0 0 2 -(variable_expansion - "$" @punctuation.special) @none - -;; #F07178 #000000 0 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 0 2 -[ - (integer) - (float) -] @number - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @spell - -;; #D2A6FF #000000 0 0 0 0 1 -((word) @boolean - (#match? @boolean "^(true|false)$")) - -;; #AAD94C #000000 0 0 0 0 3 -((program - . - (comment) @keyword.directive @nospell) - (#match? @keyword.directive "^#!")) diff --git a/grammar/gdscript.scm b/grammar/gdscript.scm deleted file mode 100644 index 9bae87d..0000000 --- a/grammar/gdscript.scm +++ /dev/null @@ -1,336 +0,0 @@ -; ============================================================ -; Basic -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 0 -(identifier) @variable - -;; #FFFFFF #000000 0 0 0 0 0 -(name) @variable - -;; #D2A6FF #000000 0 0 0 0 2 -(type - (identifier) @type) - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #AAD94C #000000 0 0 0 0 0 -(string_name) @string - -;; #AAD94C #000000 0 0 0 0 0 -(string) @string - -;; #F29668 #000000 0 0 0 0 1 -(float) @number.float - -;; #F29668 #000000 0 0 0 0 1 -(integer) @number - -;; #D2A6FF #000000 0 0 0 0 2 -(null) @constant - -;; #5CCFE6 #000000 0 0 0 0 2 -(setter) @function - -;; #FFB454 #000000 0 0 0 0 2 -(getter) @function - -;; #FFB454 #000000 0 0 0 0 2 -(set_body - "set" @keyword.function) - -;; #FFB454 #000000 0 0 0 0 2 -(get_body - "get" @keyword.function) - -;; #7DCFFF #000000 0 0 0 0 2 -(static_keyword) @keyword.modifier - -;; #F07178 #000000 0 0 0 0 1 -(breakpoint_statement) @keyword.debug - -;; #FF8F40 #000000 0 1 0 0 1 -(inferred_type) @operator - -;; #D2A6FF #000000 0 0 0 0 2 -[ - (true) - (false) -] @boolean - -;; #AAD94C #000000 0 0 0 0 0 -[ - (get_node) - (node_path) -] @string.special.url - -(class_name_statement - (name) @type) -;; #7DCFFF #000000 0 0 0 0 2 -@keyword2 - -;; #FFB454 #000000 0 0 0 0 2 -(const_statement - "const" @keyword.modifier - (name) @constant) - -;; #99ADBF #000000 0 1 0 0 1 -(expression_statement - (string) @comment @spell) - -; ============================================================ -; Functions -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 2 -(constructor_definition - "_init" @constructor) - -;; #5CCFE6 #000000 0 0 0 0 4 -(function_definition - (name) @function) - -;; #D2A6FF #000000 0 0 0 0 1 -(parameters - (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(typed_parameter - (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(default_parameter - (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(typed_default_parameter - (identifier) @variable.parameter) - -;; #5CCFE6 #000000 0 0 0 0 2 -(call - (identifier) @function.call) - -;; #FFB454 #000000 0 0 0 0 2 -(call - (identifier) @keyword.import - (#match? @keyword.import "^(preload|load)$")) - -; ============================================================ -; Properties and Methods -; ============================================================ - -;; #5CCFE6 #000000 0 0 0 0 2 -(attribute_call - (identifier) @function.method.call) - -;; #FFB454 #000000 0 0 0 0 2 -(attribute_subscript - (identifier) @property) - -;; #FFB454 #000000 0 0 0 0 2 -(attribute - (_) - (identifier) @property) - -; ============================================================ -; Identifier conventions -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @type - (#match? @type "^[A-Z]")) - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z][A-Z_0-9]*$")) - -; ============================================================ -; Enums -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 2 -(enumerator - left: (identifier) @constant) - -; ============================================================ -; Builtins -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @variable.builtin - (#match? @variable.builtin "^(self|super)$")) - -;; #FFB454 #000000 0 0 0 0 2 -(attribute_call - (identifier) @keyword.operator - (#match? @keyword.operator "^new$")) - -; ============================================================ -; Pattern helpers -; ============================================================ - -;; #7DCFFF #000000 0 0 0 0 2 -(pattern_open_ending) @character.special - -;; #7DCFFF #000000 0 0 0 0 2 -((identifier) @character.special - (#match? @character.special "^_$")) - -; ============================================================ -; Operators & punctuation -; ============================================================ - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "," - "." - ":" - ";" -] @punctuation.delimiter - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "if" - "elif" - "else" - "match" -] @keyword.conditional - -;; #FF8F40 #000000 0 0 0 0 1 -(pattern_guard - "when" @keyword.conditional) - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "for" - "while" - "break" - "continue" -] @keyword.repeat - -;; #FF8F40 #000000 0 1 0 0 1 -[ - "~" - "-" - "*" - "**" - "/" - "%" - "+" - "<<" - ">>" - "&" - "^" - "|" - "<" - ">" - "==" - "!=" - ">=" - "<=" - "!" - "&&" - "||" - "=" - "+=" - "-=" - "*=" - "**=" - "/=" - "%=" - "&=" - "|=" - "<<=" - ">>=" - "->" -] @operator - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "and" - "as" - "in" - "is" - "not" - "or" -] @keyword.operator - -; ============================================================ -; Keywords -; ============================================================ - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "pass" - "class_name" - "extends" - "signal" - "var" - "onready" - "setget" - "remote" - "master" - "puppet" - "remotesync" - "mastersync" - "puppetsync" -] @keyword - -;; #7DCFFF #000000 0 0 0 0 2 -"export" @keyword.import - -;; #7DCFFF #000000 0 0 0 0 2 -[ - "enum" - "class" -] @keyword.type - -;; #FFB454 #000000 0 0 0 0 2 -"func" @keyword.function - -;; #FF8F40 #000000 0 0 0 0 1 -"return" @keyword.return - -;; #FF8F40 #000000 0 0 0 0 1 -"await" @keyword.coroutine - -(call - (identifier) @keyword.coroutine - (#match? @keyword.coroutine "^yield$")) - -; ============================================================ -; Annotations -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 2 -((annotation - "@" @attribute - (identifier) @attribute) - (#match? @attribute "^(abstract|export|export_category|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_file_path|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_3d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_flags_avoidance|export_global_dir|export_global_file|export_group|export_multiline|export_node_path|export_placeholder|export_range|export_storage|export_subgroup|export_tool_button|icon|onready|rpc|static_unload|tool|warning_ignore|warning_ignore_restore|warning_ignore_start)$")) - -;; #FF8F40 #000000 0 0 0 0 1 -; Builtin Types -((identifier) @type.builtin - (#match? @type.builtin "^(AABB|AESContext|AStar2D|AStar3D|AStarGrid2D|AcceptDialog|AimModifier3D|AnimatableBody2D|AnimatableBody3D|AnimatedSprite2D|AnimatedSprite3D|AnimatedTexture|Animation|AnimationLibrary|AnimationMixer|AnimationNode|AnimationNodeAdd2|AnimationNodeAdd3|AnimationNodeAnimation|AnimationNodeBlend2|AnimationNodeBlend3|AnimationNodeBlendSpace1D|AnimationNodeBlendSpace2D|AnimationNodeBlendTree|AnimationNodeExtension|AnimationNodeOneShot|AnimationNodeOutput|AnimationNodeStateMachine|AnimationNodeStateMachinePlayback|AnimationNodeStateMachineTransition|AnimationNodeSub2|AnimationNodeSync|AnimationNodeTimeScale|AnimationNodeTimeSeek|AnimationNodeTransition|AnimationPlayer|AnimationRootNode|AnimationTree|Area2D|Area3D|Array|ArrayMesh|ArrayOccluder3D|AspectRatioContainer|AtlasTexture|AudioBusLayout|AudioEffect|AudioEffectAmplify|AudioEffectBandLimitFilter|AudioEffectBandPassFilter|AudioEffectCapture|AudioEffectChorus|AudioEffectCompressor|AudioEffectDelay|AudioEffectDistortion|AudioEffectEQ|AudioEffectEQ10|AudioEffectEQ21|AudioEffectEQ6|AudioEffectFilter|AudioEffectHardLimiter|AudioEffectHighPassFilter|AudioEffectHighShelfFilter|AudioEffectInstance|AudioEffectLimiter|AudioEffectLowPassFilter|AudioEffectLowShelfFilter|AudioEffectNotchFilter|AudioEffectPanner|AudioEffectPhaser|AudioEffectPitchShift|AudioEffectRecord|AudioEffectReverb|AudioEffectSpectrumAnalyzer|AudioEffectSpectrumAnalyzerInstance|AudioEffectStereoEnhance|AudioListener2D|AudioListener3D|AudioSample|AudioSamplePlayback|AudioServer|AudioStream|AudioStreamGenerator|AudioStreamGeneratorPlayback|AudioStreamMicrophone|AudioStreamPlayback|AudioStreamPlaybackPolyphonic|AudioStreamPlaybackResampled|AudioStreamPlayer|AudioStreamPlayer2D|AudioStreamPlayer3D|AudioStreamPolyphonic|AudioStreamRandomizer|AudioStreamWAV|BackBufferCopy|BaseButton|BaseMaterial3D|Basis|BitMap|Bone2D|BoneAttachment3D|BoneConstraint3D|BoneMap|BoneTwistDisperser3D|BoxContainer|BoxMesh|BoxOccluder3D|BoxShape3D|Button|ButtonGroup|CCDIK3D|CPUParticles2D|CPUParticles3D|Callable|CallbackTweener|Camera2D|Camera3D|CameraAttributes|CameraAttributesPhysical|CameraAttributesPractical|CameraFeed|CameraServer|CameraTexture|CanvasGroup|CanvasItem|CanvasItemMaterial|CanvasLayer|CanvasModulate|CanvasTexture|CapsuleMesh|CapsuleShape2D|CapsuleShape3D|CenterContainer|ChainIK3D|CharFXTransform|CharacterBody2D|CharacterBody3D|CheckBox|CheckButton|CircleShape2D|ClassDB|CodeEdit|CodeHighlighter|CollisionObject2D|CollisionObject3D|CollisionPolygon2D|CollisionPolygon3D|CollisionShape2D|CollisionShape3D|Color|ColorPalette|ColorPicker|ColorPickerButton|ColorRect|Compositor|CompositorEffect|CompressedCubemap|CompressedCubemapArray|CompressedTexture2D|CompressedTexture2DArray|CompressedTexture3D|CompressedTextureLayered|ConcavePolygonShape2D|ConcavePolygonShape3D|ConeTwistJoint3D|ConfigFile|ConfirmationDialog|Container|Control|ConvertTransformModifier3D|ConvexPolygonShape2D|ConvexPolygonShape3D|CopyTransformModifier3D|Crypto|CryptoKey|Cubemap|CubemapArray|Curve|Curve2D|Curve3D|CurveTexture|CurveXYZTexture|CylinderMesh|CylinderShape3D|DPITexture|DTLSServer|DampedSpringJoint2D|Decal|Dictionary|DirAccess|DirectionalLight2D|DirectionalLight3D|DisplayServer|EditorCommandPalette|EditorContextMenuPlugin|EditorDebuggerPlugin|EditorDebuggerSession|EditorDock|EditorExportPlatform|EditorExportPlatformAppleEmbedded|EditorExportPlatformExtension|EditorExportPlatformPC|EditorExportPlugin|EditorExportPreset|EditorFeatureProfile|EditorFileDialog|EditorFileSystem|EditorFileSystemDirectory|EditorFileSystemImportFormatSupportQuery|EditorImportPlugin|EditorInspector|EditorInspectorPlugin|EditorInterface|EditorNode3DGizmo|EditorNode3DGizmoPlugin|EditorPaths|EditorPlugin|EditorProperty|EditorResourceConversionPlugin|EditorResourcePicker|EditorResourcePreview|EditorResourcePreviewGenerator|EditorResourceTooltipPlugin|EditorSceneFormatImporter|EditorScenePostImport|EditorScenePostImportPlugin|EditorScript|EditorScriptPicker|EditorSelection|EditorSettings|EditorSpinSlider|EditorSyntaxHighlighter|EditorToaster|EditorTranslationParserPlugin|EditorUndoRedoManager|EditorVCSInterface|EncodedObjectAsID|Engine|EngineDebugger|EngineProfiler|Environment|Expression|ExternalTexture|FABRIK3D|FileAccess|FileDialog|FileSystemDock|FlowContainer|FogMaterial|FogVolume|FoldableContainer|FoldableGroup|Font|FontFile|FontVariation|FramebufferCacheRD|GDExtension|GDExtensionManager|GPUParticles2D|GPUParticles3D|GPUParticlesAttractor3D|GPUParticlesAttractorBox3D|GPUParticlesAttractorSphere3D|GPUParticlesAttractorVectorField3D|GPUParticlesCollision3D|GPUParticlesCollisionBox3D|GPUParticlesCollisionHeightField3D|GPUParticlesCollisionSDF3D|GPUParticlesCollisionSphere3D|Generic6DOFJoint3D|Geometry2D|Geometry3D|GeometryInstance3D|GodotInstance|Gradient|GradientTexture1D|GradientTexture2D|GraphEdit|GraphElement|GraphFrame|GraphNode|GridContainer|GrooveJoint2D|HBoxContainer|HFlowContainer|HMACContext|HScrollBar|HSeparator|HSlider|HSplitContainer|HTTPClient|HTTPRequest|HashingContext|HeightMapShape3D|HingeJoint3D|IKModifier3D|IP|Image|ImageFormatLoader|ImageFormatLoaderExtension|ImageTexture|ImageTexture3D|ImageTextureLayered|ImmediateMesh|ImporterMesh|ImporterMeshInstance3D|Input|InputEvent|InputEventAction|InputEventFromWindow|InputEventGesture|InputEventJoypadButton|InputEventJoypadMotion|InputEventKey|InputEventMIDI|InputEventMagnifyGesture|InputEventMouse|InputEventMouseButton|InputEventMouseMotion|InputEventPanGesture|InputEventScreenDrag|InputEventScreenTouch|InputEventShortcut|InputEventWithModifiers|InputMap|InstancePlaceholder|IntervalTweener|ItemList|IterateIK3D|JNISingleton|JSON|JSONRPC|JacobianIK3D|JavaClass|JavaClassWrapper|JavaObject|JavaScriptBridge|JavaScriptObject|Joint2D|Joint3D|JointLimitation3D|JointLimitationCone3D|KinematicCollision2D|KinematicCollision3D|Label|Label3D|LabelSettings|Light2D|Light3D|LightOccluder2D|LightmapGI|LightmapGIData|LightmapProbe|Lightmapper|LightmapperRD|LimitAngularVelocityModifier3D|Line2D|LineEdit|LinkButton|Logger|LookAtModifier3D|MainLoop|MarginContainer|Marker2D|Marker3D|Marshalls|Material|MenuBar|MenuButton|Mesh|MeshConvexDecompositionSettings|MeshDataTool|MeshInstance2D|MeshInstance3D|MeshLibrary|MeshTexture|MethodTweener|MissingNode|MissingResource|ModifierBoneTarget3D|MovieWriter|MultiMesh|MultiMeshInstance2D|MultiMeshInstance3D|MultiplayerAPI|MultiplayerAPIExtension|MultiplayerPeer|MultiplayerPeerExtension|Mutex|NativeMenu|NavigationAgent2D|NavigationAgent3D|NavigationLink2D|NavigationLink3D|NavigationMesh|NavigationMeshGenerator|NavigationMeshSourceGeometryData2D|NavigationMeshSourceGeometryData3D|NavigationObstacle2D|NavigationObstacle3D|NavigationPathQueryParameters2D|NavigationPathQueryParameters3D|NavigationPathQueryResult2D|NavigationPathQueryResult3D|NavigationPolygon|NavigationRegion2D|NavigationRegion3D|NavigationServer2D|NavigationServer2DManager|NavigationServer3D|NavigationServer3DManager|NinePatchRect|Node|Node2D|Node3D|Node3DGizmo|NodePath|ORMMaterial3D|OS|Object|Occluder3D|OccluderInstance3D|OccluderPolygon2D|OmniLight3D|OptimizedTranslation|OptionButton|PCKPacker|PackedByteArray|PackedColorArray|PackedDataContainer|PackedDataContainerRef|PackedFloat32Array|PackedFloat64Array|PackedInt32Array|PackedInt64Array|PackedScene|PackedStringArray|PackedVector2Array|PackedVector3Array|PackedVector4Array|PacketPeer|PacketPeerDTLS|PacketPeerExtension|PacketPeerStream|PacketPeerUDP|Panel|PanelContainer|PanoramaSkyMaterial|Parallax2D|ParallaxBackground|ParallaxLayer|ParticleProcessMaterial|Path2D|Path3D|PathFollow2D|PathFollow3D|Performance|PhysicalBone2D|PhysicalBone3D|PhysicalBoneSimulator3D|PhysicalSkyMaterial|PhysicsBody2D|PhysicsBody3D|PhysicsDirectBodyState2D|PhysicsDirectBodyState2DExtension|PhysicsDirectBodyState3D|PhysicsDirectBodyState3DExtension|PhysicsDirectSpaceState2D|PhysicsDirectSpaceState2DExtension|PhysicsDirectSpaceState3D|PhysicsDirectSpaceState3DExtension|PhysicsMaterial|PhysicsPointQueryParameters2D|PhysicsPointQueryParameters3D|PhysicsRayQueryParameters2D|PhysicsRayQueryParameters3D|PhysicsServer2D|PhysicsServer2DExtension|PhysicsServer2DManager|PhysicsServer3D|PhysicsServer3DExtension|PhysicsServer3DManager|PhysicsServer3DRenderingServerHandler|PhysicsShapeQueryParameters2D|PhysicsShapeQueryParameters3D|PhysicsTestMotionParameters2D|PhysicsTestMotionParameters3D|PhysicsTestMotionResult2D|PhysicsTestMotionResult3D|PinJoint2D|PinJoint3D|PlaceholderCubemap|PlaceholderCubemapArray|PlaceholderMaterial|PlaceholderMesh|PlaceholderTexture2D|PlaceholderTexture2DArray|PlaceholderTexture3D|PlaceholderTextureLayered|Plane|PlaneMesh|PointLight2D|PointMesh|Polygon2D|PolygonOccluder3D|PolygonPathFinder|Popup|PopupMenu|PopupPanel|PortableCompressedTexture2D|PrimitiveMesh|PrismMesh|ProceduralSkyMaterial|ProgressBar|ProjectSettings|Projection|PropertyTweener|QuadMesh|QuadOccluder3D|Quaternion|RDAttachmentFormat|RDFramebufferPass|RDPipelineColorBlendState|RDPipelineColorBlendStateAttachment|RDPipelineDepthStencilState|RDPipelineMultisampleState|RDPipelineRasterizationState|RDPipelineSpecializationConstant|RDSamplerState|RDShaderFile|RDShaderSPIRV|RDShaderSource|RDTextureFormat|RDTextureView|RDUniform|RDVertexAttribute|RID|RandomNumberGenerator|Range|RayCast2D|RayCast3D|Rect2|Rect2i|RectangleShape2D|RefCounted|ReferenceRect|ReflectionProbe|RemoteTransform2D|RemoteTransform3D|RenderData|RenderDataExtension|RenderDataRD|RenderSceneBuffers|RenderSceneBuffersConfiguration|RenderSceneBuffersExtension|RenderSceneBuffersRD|RenderSceneData|RenderSceneDataExtension|RenderSceneDataRD|RenderingDevice|RenderingServer|Resource|ResourceFormatLoader|ResourceFormatSaver|ResourceImporter|ResourceImporterBMFont|ResourceImporterBitMap|ResourceImporterCSVTranslation|ResourceImporterDynamicFont|ResourceImporterImage|ResourceImporterImageFont|ResourceImporterLayeredTexture|ResourceImporterOBJ|ResourceImporterSVG|ResourceImporterScene|ResourceImporterShaderFile|ResourceImporterTexture|ResourceImporterTextureAtlas|ResourceImporterWAV|ResourceLoader|ResourcePreloader|ResourceSaver|ResourceUID|RetargetModifier3D|RibbonTrailMesh|RichTextEffect|RichTextLabel|RigidBody2D|RigidBody3D|RootMotionView|SceneState|SceneTree|SceneTreeTimer|Script|ScriptBacktrace|ScriptCreateDialog|ScriptEditor|ScriptEditorBase|ScriptExtension|ScriptLanguage|ScriptLanguageExtension|ScrollBar|ScrollContainer|SegmentShape2D|Semaphore|SeparationRayShape2D|SeparationRayShape3D|Separator|Shader|ShaderGlobalsOverride|ShaderInclude|ShaderIncludeDB|ShaderMaterial|Shape2D|Shape3D|ShapeCast2D|ShapeCast3D|Shortcut|Signal|Skeleton2D|Skeleton3D|SkeletonIK3D|SkeletonModification2D|SkeletonModification2DCCDIK|SkeletonModification2DFABRIK|SkeletonModification2DJiggle|SkeletonModification2DLookAt|SkeletonModification2DPhysicalBones|SkeletonModification2DStackHolder|SkeletonModification2DTwoBoneIK|SkeletonModificationStack2D|SkeletonModifier3D|SkeletonProfile|SkeletonProfileHumanoid|Skin|SkinReference|Sky|Slider|SliderJoint3D|SocketServer|SoftBody3D|SphereMesh|SphereOccluder3D|SphereShape3D|SpinBox|SplineIK3D|SplitContainer|SpotLight3D|SpringArm3D|SpringBoneCollision3D|SpringBoneCollisionCapsule3D|SpringBoneCollisionPlane3D|SpringBoneCollisionSphere3D|SpringBoneSimulator3D|Sprite2D|Sprite3D|SpriteBase3D|SpriteFrames|StandardMaterial3D|StaticBody2D|StaticBody3D|StatusIndicator|StreamPeer|StreamPeerBuffer|StreamPeerExtension|StreamPeerGZIP|StreamPeerSocket|StreamPeerTCP|StreamPeerTLS|StreamPeerUDS|String|StringName|StyleBox|StyleBoxEmpty|StyleBoxFlat|StyleBoxLine|StyleBoxTexture|SubViewport|SubViewportContainer|SubtweenTweener|SurfaceTool|SyntaxHighlighter|SystemFont|TCPServer|TLSOptions|TabBar|TabContainer|TextEdit|TextLine|TextMesh|TextParagraph|TextServer|TextServerDummy|TextServerExtension|TextServerManager|Texture|Texture2D|Texture2DArray|Texture2DArrayRD|Texture2DRD|Texture3D|Texture3DRD|TextureButton|TextureCubemapArrayRD|TextureCubemapRD|TextureLayered|TextureLayeredRD|TextureProgressBar|TextureRect|Theme|ThemeDB|Thread|TileData|TileMap|TileMapLayer|TileMapPattern|TileSet|TileSetAtlasSource|TileSetScenesCollectionSource|TileSetSource|Time|Timer|TorusMesh|TouchScreenButton|Transform2D|Transform3D|Translation|TranslationDomain|TranslationServer|Tree|TreeItem|TriangleMesh|TubeTrailMesh|Tween|Tweener|TwoBoneIK3D|UDPServer|UDSServer|UndoRedo|UniformSetCacheRD|VBoxContainer|VFlowContainer|VScrollBar|VSeparator|VSlider|VSplitContainer|Variant|Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|VehicleBody3D|VehicleWheel3D|VideoStream|VideoStreamPlayback|VideoStreamPlayer|Viewport|ViewportTexture|VisibleOnScreenEnabler2D|VisibleOnScreenEnabler3D|VisibleOnScreenNotifier2D|VisibleOnScreenNotifier3D|VisualInstance3D|VisualShader|VisualShaderNode|VisualShaderNodeBillboard|VisualShaderNodeBooleanConstant|VisualShaderNodeBooleanParameter|VisualShaderNodeClamp|VisualShaderNodeColorConstant|VisualShaderNodeColorFunc|VisualShaderNodeColorOp|VisualShaderNodeColorParameter|VisualShaderNodeComment|VisualShaderNodeCompare|VisualShaderNodeConstant|VisualShaderNodeCubemap|VisualShaderNodeCubemapParameter|VisualShaderNodeCurveTexture|VisualShaderNodeCurveXYZTexture|VisualShaderNodeCustom|VisualShaderNodeDerivativeFunc|VisualShaderNodeDeterminant|VisualShaderNodeDistanceFade|VisualShaderNodeDotProduct|VisualShaderNodeExpression|VisualShaderNodeFaceForward|VisualShaderNodeFloatConstant|VisualShaderNodeFloatFunc|VisualShaderNodeFloatOp|VisualShaderNodeFloatParameter|VisualShaderNodeFrame|VisualShaderNodeFresnel|VisualShaderNodeGlobalExpression|VisualShaderNodeGroupBase|VisualShaderNodeIf|VisualShaderNodeInput|VisualShaderNodeIntConstant|VisualShaderNodeIntFunc|VisualShaderNodeIntOp|VisualShaderNodeIntParameter|VisualShaderNodeIs|VisualShaderNodeLinearSceneDepth|VisualShaderNodeMix|VisualShaderNodeMultiplyAdd|VisualShaderNodeOuterProduct|VisualShaderNodeOutput|VisualShaderNodeParameter|VisualShaderNodeParameterRef|VisualShaderNodeParticleAccelerator|VisualShaderNodeParticleBoxEmitter|VisualShaderNodeParticleConeVelocity|VisualShaderNodeParticleEmit|VisualShaderNodeParticleEmitter|VisualShaderNodeParticleMeshEmitter|VisualShaderNodeParticleMultiplyByAxisAngle|VisualShaderNodeParticleOutput|VisualShaderNodeParticleRandomness|VisualShaderNodeParticleRingEmitter|VisualShaderNodeParticleSphereEmitter|VisualShaderNodeProximityFade|VisualShaderNodeRandomRange|VisualShaderNodeRemap|VisualShaderNodeReroute|VisualShaderNodeResizableBase|VisualShaderNodeRotationByAxis|VisualShaderNodeSDFRaymarch|VisualShaderNodeSDFToScreenUV|VisualShaderNodeSample3D|VisualShaderNodeScreenNormalWorldSpace|VisualShaderNodeScreenUVToSDF|VisualShaderNodeSmoothStep|VisualShaderNodeStep|VisualShaderNodeSwitch|VisualShaderNodeTexture|VisualShaderNodeTexture2DArray|VisualShaderNodeTexture2DArrayParameter|VisualShaderNodeTexture2DParameter|VisualShaderNodeTexture3D|VisualShaderNodeTexture3DParameter|VisualShaderNodeTextureParameter|VisualShaderNodeTextureParameterTriplanar|VisualShaderNodeTextureSDF|VisualShaderNodeTextureSDFNormal|VisualShaderNodeTransformCompose|VisualShaderNodeTransformConstant|VisualShaderNodeTransformDecompose|VisualShaderNodeTransformFunc|VisualShaderNodeTransformOp|VisualShaderNodeTransformParameter|VisualShaderNodeTransformVecMult|VisualShaderNodeUIntConstant|VisualShaderNodeUIntFunc|VisualShaderNodeUIntOp|VisualShaderNodeUIntParameter|VisualShaderNodeUVFunc|VisualShaderNodeUVPolarCoord|VisualShaderNodeVarying|VisualShaderNodeVaryingGetter|VisualShaderNodeVaryingSetter|VisualShaderNodeVec2Constant|VisualShaderNodeVec2Parameter|VisualShaderNodeVec3Constant|VisualShaderNodeVec3Parameter|VisualShaderNodeVec4Constant|VisualShaderNodeVec4Parameter|VisualShaderNodeVectorBase|VisualShaderNodeVectorCompose|VisualShaderNodeVectorDecompose|VisualShaderNodeVectorDistance|VisualShaderNodeVectorFunc|VisualShaderNodeVectorLen|VisualShaderNodeVectorOp|VisualShaderNodeVectorRefract|VisualShaderNodeWorldPositionFromDepth|VoxelGI|VoxelGIData|WeakRef|Window|WorkerThreadPool|World2D|World3D|WorldBoundaryShape2D|WorldBoundaryShape3D|WorldEnvironment|X509Certificate|XMLParser|XRAnchor3D|XRBodyModifier3D|XRBodyTracker|XRCamera3D|XRController3D|XRControllerTracker|XRFaceModifier3D|XRFaceTracker|XRHandModifier3D|XRHandTracker|XRInterface|XRInterfaceExtension|XRNode3D|XROrigin3D|XRPose|XRPositionalTracker|XRServer|XRTracker|XRVRS|bool|float|int|AudioServer|CameraServer|ClassDB|DisplayServer|EditorInterface|Engine|EngineDebugger|GDExtensionManager|Geometry2D|Geometry3D|GodotSharp|IP|Input|InputMap|JavaClassWrapper|JavaScriptBridge|Marshalls|NavigationMeshGenerator|NavigationServer2D|NavigationServer3D|OS|Performance|PhysicsServer2D|PhysicsServer2DManager|PhysicsServer3D|PhysicsServer3DManager|ProjectSettings|RenderingServer|ResourceLoader|ResourceSaver|ResourceUID|TextServerManager|ThemeDB|Time|TranslationServer|WorkerThreadPool|XRServer)$")) - -; Builtin Funcs -;; #D2A6FF #000000 0 0 0 0 2 -(call - (identifier) @function.builtin - (#match? @function.builtin "^(abs|absf|absi|acos|acosh|angle_difference|asin|asinh|atan|atan2|atanh|bezier_derivative|bezier_interpolate|bytes_to_var|bytes_to_var_with_objects|ceil|ceilf|ceili|clamp|clampf|clampi|cos|cosh|cubic_interpolate|cubic_interpolate_angle|cubic_interpolate_angle_in_time|cubic_interpolate_in_time|db_to_linear|deg_to_rad|ease|error_string|exp|floor|floorf|floori|fmod|fposmod|hash|instance_from_id|inverse_lerp|is_equal_approx|is_finite|is_inf|is_instance_id_valid|is_instance_valid|is_nan|is_same|is_zero_approx|lerp|lerp_angle|lerpf|linear_to_db|log|max|maxf|maxi|min|minf|mini|move_toward|nearest_po2|pingpong|posmod|pow|print|print_rich|print_verbose|printerr|printraw|prints|printt|push_error|push_warning|rad_to_deg|rand_from_seed|randf|randf_range|randfn|randi|randi_range|randomize|remap|rid_allocate_id|rid_from_int64|rotate_toward|round|roundf|roundi|seed|sign|signf|signi|sin|sinh|smoothstep|snapped|snappedf|snappedi|sqrt|step_decimals|str|str_to_var|tan|tanh|type_convert|type_string|typeof|var_to_bytes|var_to_bytes_with_objects|var_to_str|weakref|wrap|wrapf|wrapi|Color8|assert|char|convert|dict_to_inst|get_stack|inst_to_dict|is_instance_of|len|load|ord|preload|print_debug|print_stack|range|type_exists)$")) - -;; #7DCFFF #000000 0 0 0 0 2 -; Builtin Constants -((identifier) @constant.builtin - (#match? @constant.builtin "^(INF|NAN|PI|TAU|CLOCKWISE|CORNER_BOTTOM_LEFT|CORNER_BOTTOM_RIGHT|CORNER_TOP_LEFT|CORNER_TOP_RIGHT|COUNTERCLOCKWISE|ERR_ALREADY_EXISTS|ERR_ALREADY_IN_USE|ERR_BUG|ERR_BUSY|ERR_CANT_ACQUIRE_RESOURCE|ERR_CANT_CONNECT|ERR_CANT_CREATE|ERR_CANT_FORK|ERR_CANT_OPEN|ERR_CANT_RESOLVE|ERR_COMPILATION_FAILED|ERR_CONNECTION_ERROR|ERR_CYCLIC_LINK|ERR_DATABASE_CANT_READ|ERR_DATABASE_CANT_WRITE|ERR_DOES_NOT_EXIST|ERR_DUPLICATE_SYMBOL|ERR_FILE_ALREADY_IN_USE|ERR_FILE_BAD_DRIVE|ERR_FILE_BAD_PATH|ERR_FILE_CANT_OPEN|ERR_FILE_CANT_READ|ERR_FILE_CANT_WRITE|ERR_FILE_CORRUPT|ERR_FILE_EOF|ERR_FILE_MISSING_DEPENDENCIES|ERR_FILE_NO_PERMISSION|ERR_FILE_NOT_FOUND|ERR_FILE_UNRECOGNIZED|ERR_HELP|ERR_INVALID_DATA|ERR_INVALID_DECLARATION|ERR_INVALID_PARAMETER|ERR_LINK_FAILED|ERR_LOCKED|ERR_METHOD_NOT_FOUND|ERR_OUT_OF_MEMORY|ERR_PARAMETER_RANGE_ERROR|ERR_PARSE_ERROR|ERR_PRINTER_ON_FIRE|ERR_QUERY_FAILED|ERR_SCRIPT_FAILED|ERR_SKIP|ERR_TIMEOUT|ERR_UNAUTHORIZED|ERR_UNAVAILABLE|ERR_UNCONFIGURED|EULER_ORDER_XYZ|EULER_ORDER_XZY|EULER_ORDER_YXZ|EULER_ORDER_YZX|EULER_ORDER_ZXY|EULER_ORDER_ZYX|FAILED|HORIZONTAL|HORIZONTAL_ALIGNMENT_CENTER|HORIZONTAL_ALIGNMENT_FILL|HORIZONTAL_ALIGNMENT_LEFT|HORIZONTAL_ALIGNMENT_RIGHT|INLINE_ALIGNMENT_BASELINE_TO|INLINE_ALIGNMENT_BOTTOM|INLINE_ALIGNMENT_BOTTOM_TO|INLINE_ALIGNMENT_CENTER|INLINE_ALIGNMENT_CENTER_TO|INLINE_ALIGNMENT_IMAGE_MASK|INLINE_ALIGNMENT_TEXT_MASK|INLINE_ALIGNMENT_TO_BASELINE|INLINE_ALIGNMENT_TO_BOTTOM|INLINE_ALIGNMENT_TO_CENTER|INLINE_ALIGNMENT_TOP|INLINE_ALIGNMENT_TOP_TO|INLINE_ALIGNMENT_TO_TOP|JOY_AXIS_INVALID|JOY_AXIS_LEFT_X|JOY_AXIS_LEFT_Y|JOY_AXIS_MAX|JOY_AXIS_RIGHT_X|JOY_AXIS_RIGHT_Y|JOY_AXIS_SDL_MAX|JOY_AXIS_TRIGGER_LEFT|JOY_AXIS_TRIGGER_RIGHT|JOY_BUTTON_A|JOY_BUTTON_B|JOY_BUTTON_BACK|JOY_BUTTON_DPAD_DOWN|JOY_BUTTON_DPAD_LEFT|JOY_BUTTON_DPAD_RIGHT|JOY_BUTTON_DPAD_UP|JOY_BUTTON_GUIDE|JOY_BUTTON_INVALID|JOY_BUTTON_LEFT_SHOULDER|JOY_BUTTON_LEFT_STICK|JOY_BUTTON_MAX|JOY_BUTTON_MISC1|JOY_BUTTON_PADDLE1|JOY_BUTTON_PADDLE2|JOY_BUTTON_PADDLE3|JOY_BUTTON_PADDLE4|JOY_BUTTON_RIGHT_SHOULDER|JOY_BUTTON_RIGHT_STICK|JOY_BUTTON_SDL_MAX|JOY_BUTTON_START|JOY_BUTTON_TOUCHPAD|JOY_BUTTON_X|JOY_BUTTON_Y|KEY_0|KEY_1|KEY_2|KEY_3|KEY_4|KEY_5|KEY_6|KEY_7|KEY_8|KEY_9|KEY_A|KEY_ALT|KEY_AMPERSAND|KEY_APOSTROPHE|KEY_ASCIICIRCUM|KEY_ASCIITILDE|KEY_ASTERISK|KEY_AT|KEY_B|KEY_BACK|KEY_BACKSLASH|KEY_BACKSPACE|KEY_BACKTAB|KEY_BAR|KEY_BRACELEFT|KEY_BRACERIGHT|KEY_BRACKETLEFT|KEY_BRACKETRIGHT|KEY_C|KEY_CAPSLOCK|KEY_CLEAR|KEY_CODE_MASK|KEY_COLON|KEY_COMMA|KEY_CTRL|KEY_D|KEY_DELETE|KEY_DOLLAR|KEY_DOWN|KEY_E|KEY_END|KEY_ENTER|KEY_EQUAL|KEY_ESCAPE|KEY_EXCLAM|KEY_F|KEY_F1|KEY_F10|KEY_F11|KEY_F12|KEY_F13|KEY_F14|KEY_F15|KEY_F16|KEY_F17|KEY_F18|KEY_F19|KEY_F2|KEY_F20|KEY_F21|KEY_F22|KEY_F23|KEY_F24|KEY_F25|KEY_F26|KEY_F27|KEY_F28|KEY_F29|KEY_F3|KEY_F30|KEY_F31|KEY_F32|KEY_F33|KEY_F34|KEY_F35|KEY_F4|KEY_F5|KEY_F6|KEY_F7|KEY_F8|KEY_F9|KEY_FAVORITES|KEY_FORWARD|KEY_G|KEY_GLOBE|KEY_GREATER|KEY_H|KEY_HELP|KEY_HOME|KEY_HOMEPAGE|KEY_HYPER|KEY_I|KEY_INSERT|KEY_J|KEY_JIS_EISU|KEY_JIS_KANA|KEY_K|KEY_KEYBOARD|KEY_KP_0|KEY_KP_1|KEY_KP_2|KEY_KP_3|KEY_KP_4|KEY_KP_5|KEY_KP_6|KEY_KP_7|KEY_KP_8|KEY_KP_9|KEY_KP_ADD|KEY_KP_DIVIDE|KEY_KP_ENTER|KEY_KP_MULTIPLY|KEY_KP_PERIOD|KEY_KP_SUBTRACT|KEY_L|KEY_LAUNCH0|KEY_LAUNCH1|KEY_LAUNCH2|KEY_LAUNCH3|KEY_LAUNCH4|KEY_LAUNCH5|KEY_LAUNCH6|KEY_LAUNCH7|KEY_LAUNCH8|KEY_LAUNCH9|KEY_LAUNCHA|KEY_LAUNCHB|KEY_LAUNCHC|KEY_LAUNCHD|KEY_LAUNCHE|KEY_LAUNCHF|KEY_LAUNCHMAIL|KEY_LAUNCHMEDIA|KEY_LEFT|KEY_LESS|KEY_LOCATION_LEFT|KEY_LOCATION_RIGHT|KEY_LOCATION_UNSPECIFIED|KEY_M|KEY_MASK_ALT|KEY_MASK_CMD_OR_CTRL|KEY_MASK_CTRL|KEY_MASK_GROUP_SWITCH|KEY_MASK_KPAD|KEY_MASK_META|KEY_MASK_SHIFT|KEY_MEDIANEXT|KEY_MEDIAPLAY|KEY_MEDIAPREVIOUS|KEY_MEDIARECORD|KEY_MEDIASTOP|KEY_MENU|KEY_META|KEY_MINUS|KEY_MODIFIER_MASK|KEY_N|KEY_NONE|KEY_NUMBERSIGN|KEY_NUMLOCK|KEY_O|KEY_OPENURL|KEY_P|KEY_PAGEDOWN|KEY_PAGEUP|KEY_PARENLEFT|KEY_PARENRIGHT|KEY_PAUSE|KEY_PERCENT|KEY_PERIOD|KEY_PLUS|KEY_PRINT|KEY_Q|KEY_QUESTION|KEY_QUOTEDBL|KEY_QUOTELEFT|KEY_R|KEY_REFRESH|KEY_RIGHT|KEY_S|KEY_SCROLLLOCK|KEY_SEARCH|KEY_SECTION|KEY_SEMICOLON|KEY_SHIFT|KEY_SLASH|KEY_SPACE|KEY_SPECIAL|KEY_STANDBY|KEY_STOP|KEY_SYSREQ|KEY_T|KEY_TAB|KEY_U|KEY_UNDERSCORE|KEY_UNKNOWN|KEY_UP|KEY_V|KEY_VOLUMEDOWN|KEY_VOLUMEMUTE|KEY_VOLUMEUP|KEY_W|KEY_X|KEY_Y|KEY_YEN|KEY_Z|METHOD_FLAG_CONST|METHOD_FLAG_EDITOR|METHOD_FLAG_NORMAL|METHOD_FLAG_OBJECT_CORE|METHOD_FLAGS_DEFAULT|METHOD_FLAG_STATIC|METHOD_FLAG_VARARG|METHOD_FLAG_VIRTUAL|METHOD_FLAG_VIRTUAL_REQUIRED|MIDI_MESSAGE_ACTIVE_SENSING|MIDI_MESSAGE_AFTERTOUCH|MIDI_MESSAGE_CHANNEL_PRESSURE|MIDI_MESSAGE_CONTINUE|MIDI_MESSAGE_CONTROL_CHANGE|MIDI_MESSAGE_NONE|MIDI_MESSAGE_NOTE_OFF|MIDI_MESSAGE_NOTE_ON|MIDI_MESSAGE_PITCH_BEND|MIDI_MESSAGE_PROGRAM_CHANGE|MIDI_MESSAGE_QUARTER_FRAME|MIDI_MESSAGE_SONG_POSITION_POINTER|MIDI_MESSAGE_SONG_SELECT|MIDI_MESSAGE_START|MIDI_MESSAGE_STOP|MIDI_MESSAGE_SYSTEM_EXCLUSIVE|MIDI_MESSAGE_SYSTEM_RESET|MIDI_MESSAGE_TIMING_CLOCK|MIDI_MESSAGE_TUNE_REQUEST|MOUSE_BUTTON_LEFT|MOUSE_BUTTON_MASK_LEFT|MOUSE_BUTTON_MASK_MB_XBUTTON1|MOUSE_BUTTON_MASK_MB_XBUTTON2|MOUSE_BUTTON_MASK_MIDDLE|MOUSE_BUTTON_MASK_RIGHT|MOUSE_BUTTON_MIDDLE|MOUSE_BUTTON_NONE|MOUSE_BUTTON_RIGHT|MOUSE_BUTTON_WHEEL_DOWN|MOUSE_BUTTON_WHEEL_LEFT|MOUSE_BUTTON_WHEEL_RIGHT|MOUSE_BUTTON_WHEEL_UP|MOUSE_BUTTON_XBUTTON1|MOUSE_BUTTON_XBUTTON2|OK|OP_ADD|OP_AND|OP_BIT_AND|OP_BIT_NEGATE|OP_BIT_OR|OP_BIT_XOR|OP_DIVIDE|OP_EQUAL|OP_GREATER|OP_GREATER_EQUAL|OP_IN|OP_LESS|OP_LESS_EQUAL|OP_MAX|OP_MODULE|OP_MULTIPLY|OP_NEGATE|OP_NOT|OP_NOT_EQUAL|OP_OR|OP_POSITIVE|OP_POWER|OP_SHIFT_LEFT|OP_SHIFT_RIGHT|OP_SUBTRACT|OP_XOR|PROPERTY_HINT_ARRAY_TYPE|PROPERTY_HINT_COLOR_NO_ALPHA|PROPERTY_HINT_DICTIONARY_TYPE|PROPERTY_HINT_DIR|PROPERTY_HINT_ENUM|PROPERTY_HINT_ENUM_SUGGESTION|PROPERTY_HINT_EXP_EASING|PROPERTY_HINT_EXPRESSION|PROPERTY_HINT_FILE|PROPERTY_HINT_FILE_PATH|PROPERTY_HINT_FLAGS|PROPERTY_HINT_GLOBAL_DIR|PROPERTY_HINT_GLOBAL_FILE|PROPERTY_HINT_GLOBAL_SAVE_FILE|PROPERTY_HINT_GROUP_ENABLE|PROPERTY_HINT_HIDE_QUATERNION_EDIT|PROPERTY_HINT_INPUT_NAME|PROPERTY_HINT_INT_IS_OBJECTID|PROPERTY_HINT_INT_IS_POINTER|PROPERTY_HINT_LAYERS_2D_NAVIGATION|PROPERTY_HINT_LAYERS_2D_PHYSICS|PROPERTY_HINT_LAYERS_2D_RENDER|PROPERTY_HINT_LAYERS_3D_NAVIGATION|PROPERTY_HINT_LAYERS_3D_PHYSICS|PROPERTY_HINT_LAYERS_3D_RENDER|PROPERTY_HINT_LAYERS_AVOIDANCE|PROPERTY_HINT_LINK|PROPERTY_HINT_LOCALE_ID|PROPERTY_HINT_LOCALIZABLE_STRING|PROPERTY_HINT_MAX|PROPERTY_HINT_MULTILINE_TEXT|PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE|PROPERTY_HINT_NODE_PATH_VALID_TYPES|PROPERTY_HINT_NODE_TYPE|PROPERTY_HINT_NONE|PROPERTY_HINT_OBJECT_ID|PROPERTY_HINT_OBJECT_TOO_BIG|PROPERTY_HINT_ONESHOT|PROPERTY_HINT_PASSWORD|PROPERTY_HINT_PLACEHOLDER_TEXT|PROPERTY_HINT_RANGE|PROPERTY_HINT_RESOURCE_TYPE|PROPERTY_HINT_SAVE_FILE|PROPERTY_HINT_TOOL_BUTTON|PROPERTY_HINT_TYPE_STRING|PROPERTY_USAGE_ALWAYS_DUPLICATE|PROPERTY_USAGE_ARRAY|PROPERTY_USAGE_CATEGORY|PROPERTY_USAGE_CHECKABLE|PROPERTY_USAGE_CHECKED|PROPERTY_USAGE_CLASS_IS_BITFIELD|PROPERTY_USAGE_CLASS_IS_ENUM|PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_DEFERRED_SET_RESOURCE|PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_EDITOR_BASIC_SETTING|PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT|PROPERTY_USAGE_GROUP|PROPERTY_USAGE_HIGH_END_GFX|PROPERTY_USAGE_INTERNAL|PROPERTY_USAGE_KEYING_INCREMENTS|PROPERTY_USAGE_NEVER_DUPLICATE|PROPERTY_USAGE_NIL_IS_VARIANT|PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT|PROPERTY_USAGE_NO_EDITOR|PROPERTY_USAGE_NO_INSTANCE_STATE|PROPERTY_USAGE_NONE|PROPERTY_USAGE_READ_ONLY|PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT|PROPERTY_USAGE_RESTART_IF_CHANGED|PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE|PROPERTY_USAGE_SCRIPT_VARIABLE|PROPERTY_USAGE_SECRET|PROPERTY_USAGE_STORAGE|PROPERTY_USAGE_STORE_IF_NULL|PROPERTY_USAGE_SUBGROUP|PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED|SIDE_BOTTOM|SIDE_LEFT|SIDE_RIGHT|SIDE_TOP|TYPE_AABB|TYPE_ARRAY|TYPE_BASIS|TYPE_BOOL|TYPE_CALLABLE|TYPE_COLOR|TYPE_DICTIONARY|TYPE_FLOAT|TYPE_INT|TYPE_MAX|TYPE_NIL|TYPE_NODE_PATH|TYPE_OBJECT|TYPE_PACKED_BYTE_ARRAY|TYPE_PACKED_COLOR_ARRAY|TYPE_PACKED_FLOAT32_ARRAY|TYPE_PACKED_FLOAT64_ARRAY|TYPE_PACKED_INT32_ARRAY|TYPE_PACKED_INT64_ARRAY|TYPE_PACKED_STRING_ARRAY|TYPE_PACKED_VECTOR2_ARRAY|TYPE_PACKED_VECTOR3_ARRAY|TYPE_PACKED_VECTOR4_ARRAY|TYPE_PLANE|TYPE_PROJECTION|TYPE_QUATERNION|TYPE_RECT2|TYPE_RECT2I|TYPE_RID|TYPE_SIGNAL|TYPE_STRING|TYPE_STRING_NAME|TYPE_TRANSFORM2D|TYPE_TRANSFORM3D|TYPE_VECTOR2|TYPE_VECTOR2I|TYPE_VECTOR3|TYPE_VECTOR3I|TYPE_VECTOR4|TYPE_VECTOR4I|VERTICAL|VERTICAL_ALIGNMENT_BOTTOM|VERTICAL_ALIGNMENT_CENTER|VERTICAL_ALIGNMENT_FILL|VERTICAL_ALIGNMENT_TOP)$")) diff --git a/grammar/gitattributes.scm b/grammar/gitattributes.scm deleted file mode 100644 index 2436071..0000000 --- a/grammar/gitattributes.scm +++ /dev/null @@ -1,70 +0,0 @@ -;; #AAD94C #000000 0 0 0 0 3 -(dir_sep) @punctuation.delimiter - -;; #AAD94C #000000 0 0 0 0 3 -(quoted_pattern - "\"" @punctuation.special) - -;; #AAD94C #000000 0 0 0 0 3 -(range_notation) @string.special - -;; #AAD94C #000000 0 0 0 0 3 -(range_notation - [ "[" "]" ] @punctuation.bracket) - -;; #F29668 #000000 0 0 0 0 1 -(wildcard) @string.regexp - -;; #F29668 #000000 0 0 0 0 1 -(range_negation) @operator - -;; #7dcfff #000000 0 0 0 0 2 -(character_class) @constant - -;; #F29668 #000000 0 0 0 0 1 -(class_range "-" @operator) - -;; #FF8F40 #000000 0 0 0 0 1 -[ - (ansi_c_escape) - (escaped_char) -] @escape - -;; #AAD94C #000000 0 0 0 0 3 -(attribute - (attr_name) @variable.parameter) - -;; #F07178 #000000 0 0 0 0 1 -(attribute - (builtin_attr) @variable.builtin) - -;; #F29668 #000000 0 0 0 0 1 -[ - (attr_reset) - (attr_unset) - (attr_set) -] @operator - -;; #F29668 #000000 0 0 0 0 1 -(boolean_value) @boolean - -;; #AAD94C #000000 0 0 0 0 2 -(string_value) @string - -;; #D2A6FF #000000 0 0 0 0 1 -(macro_tag) @keyword - -;; #7dcfff #000000 0 0 0 0 2 -(macro_def - macro_name: (_) @property) - -;; #F07178 #000000 0 0 0 0 1 -[ - (pattern_negation) - (redundant_escape) - (trailing_slash) - (ignored_value) -] @error - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment diff --git a/grammar/gitignore.scm b/grammar/gitignore.scm deleted file mode 100644 index d1e2f69..0000000 --- a/grammar/gitignore.scm +++ /dev/null @@ -1,46 +0,0 @@ -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #7dcfff #000000 0 0 0 0 2 -(pattern_char) @string.special.path - -;; #AAD94C #000000 0 0 0 0 3 -[ - (directory_separator) - (directory_separator_escaped) -] @punctuation.delimiter - -;; #F29668 #000000 0 0 0 0 1 -[ - (wildcard_char_single) - (wildcard_chars) - (wildcard_chars_allow_slash) -] @character.special - -;; #FF8F40 #000000 0 0 0 0 1 -[ - (pattern_char_escaped) - (bracket_char_escaped) -] @string.escape - -;; #AAD94C #000000 0 0 0 0 3 -(negation) @punctuation.special - -;; #F07178 #000000 0 0 0 0 1 -(bracket_negation) @operator - -;; #AAD94C #000000 0 0 0 0 3 -[ - "[" - "]" -] @punctuation.bracket - -;; #7dcfff #000000 0 0 0 0 2 -(bracket_char) @constant - -;; #F29668 #000000 0 0 0 0 1 -(bracket_range - "-" @operator) - -;; #F07178 #000000 0 0 0 0 1 -(bracket_char_class) @constant.builtin diff --git a/grammar/go.scm b/grammar/go.scm deleted file mode 100644 index 001e22f..0000000 --- a/grammar/go.scm +++ /dev/null @@ -1,286 +0,0 @@ -;; #FFB454 #000000 0 0 0 0 3 -(type_identifier) @type - -;; #FFB454 #000000 0 0 0 0 3 -(type_spec - name: (type_identifier) @type.definition) - -;; #FFFFFF #000000 0 0 0 0 1 -(field_identifier) @property - -;; #FFFFFF #000000 0 0 0 0 1 -(identifier) @variable - -;; #FFFFFF #000000 0 0 0 0 1 -(package_identifier) @module - -;; #FFFFFF #000000 0 0 0 0 1 -(parameter_declaration - (identifier) @variable.parameter) - -;; #FFFFFF #000000 0 0 0 0 1 -(variadic_parameter_declaration - (identifier) @variable.parameter) - -;; #F07178 #000000 0 0 0 0 1 -(label_name) @label - -;; #D2A6FF #000000 0 0 0 0 1 -(const_spec - name: (identifier) @constant) - -;; #FFB454 #000000 0 0 0 0 3 -(call_expression - function: (identifier) @function.call) - -;; #FFB454 #000000 0 0 0 0 3 -(call_expression - function: (selector_expression - field: (field_identifier) @function.method.call)) - -;; #FFB454 #000000 0 0 0 0 3 -(function_declaration - name: (identifier) @function) - -;; #FFB454 #000000 0 0 0 0 3 -(method_declaration - name: (field_identifier) @function.method) - -;; #FFB454 #000000 0 0 0 0 3 -(method_elem - name: (field_identifier) @function.method) - -;; #FFB454 #000000 0 0 0 0 3 -((call_expression - (identifier) @constructor) - (#match? @constructor "^[nN]ew.+$")) - -;; #FFB454 #000000 0 0 0 0 3 -((call_expression - (identifier) @constructor) - (#match? @constructor "^[mM]ake.+$")) - -;; #F29668 #000000 0 1 0 0 1 -[ - "--" - "-" - "-=" - ":=" - "!" - "!=" - "..." - "*" - "*=" - "/" - "/=" - "&" - "&&" - "&=" - "&^" - "&^=" - "%" - "%=" - "^" - "^=" - "+" - "++" - "+=" - "<-" - "<" - "<<" - "<<=" - "<=" - "=" - "==" - ">" - ">=" - ">>" - ">>=" - "|" - "|=" - "||" - "~" -] @operator - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "break" - "const" - "continue" - "default" - "defer" - "goto" - "range" - "select" - "var" - "fallthrough" -] @keyword - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "type" - "struct" - "interface" -] @keyword.type - -;; #FF8F40 #000000 0 0 0 0 1 -"func" @keyword.function - -;; #FF8F40 #000000 0 0 0 0 1 -"return" @keyword.return - -;; #FF8F40 #000000 0 0 0 0 1 -"go" @keyword.coroutine - -;; #FF8F40 #000000 0 0 0 0 1 -"for" @keyword.repeat - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "import" - "package" -] @keyword.import - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "else" - "case" - "switch" - "if" -] @keyword.conditional - -;; #F07178 #000000 0 0 0 0 1 -[ - "chan" - "map" -] @type.builtin - -;; #F07178 #000000 0 0 0 0 1 -((type_identifier) @type.builtin - (#match? @type.builtin - "^(any|bool|byte|comparable|complex128|complex64|error|float32|float64|int|int16|int32|int64|int8|rune|string|uint|uint16|uint32|uint64|uint8|uintptr)$")) - -;; #FFB454 #000000 0 0 0 0 3 -((identifier) @function.builtin - (#match? @function.builtin - "^(append|cap|clear|close|complex|copy|delete|imag|len|make|max|min|new|panic|print|println|real|recover)$")) - -;; #BFBDB6 #000000 0 0 0 0 1 -"." @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 1 -"," @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 1 -":" @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 1 -";" @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 1 -"(" @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -")" @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -"{" @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -"}" @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -"[" @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 1 -"]" @punctuation.bracket - -;; #AAD94C #000000 0 0 0 0 1 -(interpreted_string_literal) @string - -;; #AAD94C #000000 0 0 0 0 1 -(raw_string_literal) @string - -;; #AAD94C #000000 0 0 0 0 1 -(rune_literal) @string - -;; #AAD94C #000000 0 0 0 0 1 -(escape_sequence) @string.escape - -;; #D2A6FF #000000 0 0 0 0 2 -(int_literal) @number - -;; #D2A6FF #000000 0 0 0 0 2 -(float_literal) @number.float - -;; #D2A6FF #000000 0 0 0 0 2 -(imaginary_literal) @number - -;; #D2A6FF #000000 0 0 0 0 1 -[ - (true) - (false) -] @boolean - -;; #D2A6FF #000000 0 0 0 0 1 -[ - (nil) - (iota) -] @constant.builtin - -;; #FFFFFF #000000 0 0 0 0 1 -(keyed_element - . - (literal_element - (identifier) @variable.member)) - -;; #FFFFFF #000000 0 0 0 0 1 -(field_declaration - name: (field_identifier) @variable.member) - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #99ADBF #000000 0 1 0 0 1 -(source_file - . - (comment)+ @comment.documentation) - -;; #99ADBF #000000 0 1 0 0 1 -(source_file - (comment)+ @comment.documentation - . - (const_declaration)) - -;; #99ADBF #000000 0 1 0 0 1 -(source_file - (comment)+ @comment.documentation - . - (function_declaration)) - -;; #99ADBF #000000 0 1 0 0 1 -(source_file - (comment)+ @comment.documentation - . - (type_declaration)) - -;; #99ADBF #000000 0 1 0 0 1 -(source_file - (comment)+ @comment.documentation - . - (var_declaration)) - -;; #AAD94C #000000 0 0 0 0 1 -(call_expression - (selector_expression) @_function - (#match? @_function - "^(regexp\.Match|regexp\.MatchReader|regexp\.MatchString|regexp\.Compile|regexp\.CompilePOSIX|regexp\.MustCompile|regexp\.MustCompilePOSIX)$") - (argument_list - . - [ -;; !regex - (raw_string_literal - (raw_string_literal_content) @string.regexp) - (interpreted_string_literal - (interpreted_string_literal_content) @string.regexp) - ])) diff --git a/grammar/gomod.scm b/grammar/gomod.scm deleted file mode 100644 index 6839419..0000000 --- a/grammar/gomod.scm +++ /dev/null @@ -1,46 +0,0 @@ -;; #D2A6FF #000000 0 0 0 0 1 -[ - "require" - "replace" - "toolchain" - "exclude" - "retract" -] @keyword - -;; #F07178 #000000 0 0 0 0 1 -[ - "go" - "module" -] @keyword.directive - -;; #F29668 #000000 0 1 0 0 1 -"=>" @operator - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #7dcfff #000000 0 0 0 0 1 -(module_path) @string.special.url - -;; #D2A6FF #000000 0 0 0 0 1 -(tool_directive) @keyword.directive - -(tool) @string.special.url - -;; #F29668 #000000 0 0 0 0 2 -[ - (version) - (go_version) - (toolchain_name) -] @string.special - -;; #888888 #000000 0 0 0 0 3 -[ - "(" - ")" - "[" - "]" -] @punctuation.bracket - -;; #888888 #000000 0 1 0 0 3 -"," @punctuation.delimiter diff --git a/grammar/h.scm b/grammar/h.scm deleted file mode 100644 index b60f3fa..0000000 --- a/grammar/h.scm +++ /dev/null @@ -1,564 +0,0 @@ -; ============================================================ -; Identifiers -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 1 -((identifier) @variable) - -;; #FFB870 #000000 0 0 0 0 9 -(function_declarator - declarator: (identifier) @function) - -;; #C4B5FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z][A-Z0-9_]+$")) - -;; #C4B5FF #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @constant - (#match? @constant "^[A-Z][A-Z0-9_]+$")) - -;; #F29CC3 #000000 0 0 0 0 2 -((identifier) @constant.builtin - (#match? @constant.builtin "^(stderr|stdin|stdout|__FILE__|__LINE__|__DATE__|__TIME__|__STDC__|__STDC_VERSION__|__STDC_HOSTED__|__cplusplus|__OBJC__|__ASSEMBLER__|__BASE_FILE__|__FILE_NAME__|__INCLUDE_LEVEL__|__TIMESTAMP__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__clang_literal_encoding__|__clang_wide_literal_encoding__|__FUNCTION__|__func__|__PRETTY_FUNCTION__|__VA_ARGS__|__VA_OPT__)$")) - -;; #F29CC3 #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @constant.builtin - (#match? @constant.builtin "^(stderr|stdin|stdout|__FILE__|__LINE__|__DATE__|__TIME__|__STDC__|__STDC_VERSION__|__STDC_HOSTED__|__cplusplus|__OBJC__|__ASSEMBLER__|__BASE_FILE__|__FILE_NAME__|__INCLUDE_LEVEL__|__TIMESTAMP__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__clang_literal_encoding__|__clang_wide_literal_encoding__|__FUNCTION__|__func__|__PRETTY_FUNCTION__|__VA_ARGS__|__VA_OPT__)$")) - -;; #8AD5FF #000000 0 0 0 0 2 -(preproc_def - (preproc_arg) @variable) - -;; #8AD5FF #000000 0 0 0 0 2 -(statement_identifier) @label - -;; #8AD5FF #000000 0 0 0 0 2 -(declaration - type: (type_identifier) @_type - declarator: (identifier) @label - (#match? @_type "^__label__$")) - -;; #7CD5CF #000000 0 0 0 0 2 -((identifier) @variable.member - (#match? @variable.member "^m_.*$")) - -; ============================================================ -; Keywords -; ============================================================ - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "default" - "goto" - "asm" - "__asm__" -] @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "enum" - "struct" - "union" - "typedef" -] @keyword.type - -;; #F29CC3 #000000 0 0 0 0 2 -[ - "sizeof" - "offsetof" -] @keyword.operator - -;; #F29CC3 #000000 0 0 0 0 2 -(alignof_expression - . - _ @keyword.operator) - -;; #FFB870 #000000 0 0 0 0 2 -"return" @keyword.return - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "while" - "for" - "do" - "continue" - "break" -] @keyword.repeat - -;; #FFB870 #000000 0 0 0 0 2 -[ - "if" - "else" - "case" - "switch" -] @keyword.conditional - -;; #9AD4FF #000000 0 0 0 0 2 -(conditional_expression - [ - "?" - ":" - ] @keyword.conditional.ternary) - -;; #8AD5FF #000000 0 0 0 0 2 -[ - "#if" - "#ifdef" - "#ifndef" - "#else" - "#elif" - "#endif" - "#elifdef" - "#elifndef" - (preproc_directive) -] @keyword.directive - -;; #8AD5FF #000000 0 0 0 0 2 -"#define" @keyword.directive.define - -;; #8AD5FF #000000 0 0 0 0 2 -"#include" @keyword.import - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "try" - "catch" - "noexcept" - "throw" -] @keyword.exception - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "decltype" - "explicit" - "friend" - "override" - "using" - "requires" - "constexpr" -] @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "class" - "namespace" - "template" - "typename" - "concept" -] @keyword.type - -;; #9AD4FF #000000 0 0 0 0 2 -[ - "co_await" - "co_yield" - "co_return" -] @keyword.coroutine - -;; #F29CC3 #000000 0 0 0 0 2 -[ - "public" - "private" - "protected" - "final" - "virtual" -] @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -(storage_class_specifier) @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -[ - (type_qualifier) - (gnu_asm_qualifier) - "__extension__" -] @keyword.modifier - -;; #F29CC3 #000000 0 0 0 0 2 -(linkage_specification - "extern" @keyword.modifier) - -;; #F29668 #000000 0 0 0 0 2 -[ - "new" - "delete" - "xor" - "bitand" - "bitor" - "compl" - "not" - "xor_eq" - "and_eq" - "or_eq" - "not_eq" - "and" - "or" -] @keyword.operator - -;; #F29668 #000000 0 1 0 0 2 -"<=>" @operator - -; ============================================================ -; Types & modules -; ============================================================ - -;; #C4B5FF #000000 0 0 0 0 2 -[ - (type_identifier) - (type_descriptor) -] @type - -;; #C4B5FF #000000 0 0 0 0 2 -(type_definition - declarator: (type_identifier) @type.definition) - -;; #C4B5FF #000000 0 0 0 0 2 -(primitive_type) @type.builtin - -;; #C4B5FF #000000 0 0 0 0 2 -(sized_type_specifier - _ @type.builtin - type: _?) - -;; #9AD4FF #000000 0 0 0 0 2 -(namespace_identifier) @module - -;; #9AD4FF #000000 0 0 0 0 2 -((namespace_identifier) @type - (#match? @type "^[A-Z]")) - -;; #9AD4FF #000000 0 0 0 0 2 -(using_declaration - . - "using" - . - "namespace" - . - [ - (qualified_identifier) - (identifier) - ] @module) - -; ============================================================ -; Functions & calls -; ============================================================ - -;; #FFB870 #000000 0 0 0 0 1 -(operator_name) @function - -;; #FFB870 #000000 0 0 0 0 3 -"operator" @function - -;; #78C2FF #000000 0 0 0 0 2 -(call_expression - function: (identifier) @function.call) - -;; #F29CC3 #000000 0 0 0 0 2 -((call_expression - function: (identifier) @function.builtin) - (#match? @function.builtin "^__builtin_")) - -;; #F29CC3 #000000 0 0 0 0 2 -((call_expression - function: (identifier) @function.builtin)) - -; ============================================================ -; Constructors & methods -; ============================================================ - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (identifier) @constructor) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (qualified_identifier - name: (identifier) @constructor)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((call_expression - function: (field_expression - field: (field_identifier) @constructor)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 2 -((field_initializer - (field_identifier) @constructor - (argument_list)) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 4 -(destructor_name - (identifier) @function.method) - -; ============================================================ -; Properties & members -; ============================================================ - -;; #F29CC3 #000000 0 0 0 0 2 -((field_expression - (field_identifier) @property) @_parent) - -(field_designator) @property - -((field_identifier) @property) - -(field_initializer - (field_identifier) @property) - -;; #F29CC3 #000000 0 0 1 0 2 -(field_declaration - (field_identifier) @variable.member) - -; ============================================================ -; Parameters -; ============================================================ - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (identifier) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (array_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (pointer_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(preproc_params - (identifier) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(parameter_declaration - declarator: (reference_declarator) @variable.parameter) - -;; #7CD5CF #000000 0 0 0 0 2 -(variadic_parameter_declaration - declarator: (variadic_declarator - (_) @variable.parameter)) - -;; #7CD5CF #000000 0 0 0 0 2 -(optional_parameter_declaration - declarator: (_) @variable.parameter) - -; ============================================================ -; Attributes & specifiers -; ============================================================ - -;; #7CD5CF #000000 0 0 0 0 2 -[ - "__attribute__" - "__declspec" - "__based" - "__cdecl" - "__clrcall" - "__stdcall" - "__fastcall" - "__thiscall" - "__vectorcall" - (ms_pointer_modifier) - (attribute_declaration) -] @attribute - -;; #7CD5CF #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (identifier) @variable.builtin)) - -;; #7CD5CF #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (call_expression - function: (identifier) @variable.builtin))) - -; ============================================================ -; Operators & punctuation -; ============================================================ - -;; #F29668 #000000 0 1 0 0 1 -[ - "=" - "-" - "*" - "/" - "+" - "%" - "~" - "|" - "&" - "^" - "<<" - ">>" - "->" - "<" - "<=" - ">=" - ">" - "==" - "!=" - "!" - "&&" - "||" - "-=" - "+=" - "*=" - "/=" - "%=" - "|=" - "&=" - "^=" - ">>=" - "<<=" - "--" - "++" -] @operator - -;; #F29668 #000000 0 1 0 0 1 -(comma_expression - "," @operator) - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - ";" - ":" - "," - "." - "::" -] @punctuation.delimiter - -;; #B6BEC8 #000000 0 0 0 0 1 -"::" @punctuation.delimiter - -;; #B6BEC8 #000000 0 0 0 0 1 -"..." @punctuation.special - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #B6BEC8 #000000 0 0 0 0 1 -(template_argument_list - [ - "<" - ">" - ] @punctuation.bracket) - -;; #B6BEC8 #000000 0 0 0 0 1 -(template_parameter_list - [ - "<" - ">" - ] @punctuation.bracket) - -; ============================================================ -; Literals -; ============================================================ - -;; #C2E8FF #000000 0 0 0 0 2 -[ - (true) - (false) -] @boolean - -;; #C2E8FF #000000 0 0 0 0 2 -(true) @boolean_true - -;; #C2E8FF #000000 0 0 0 0 2 -(false) @boolean_false - -;; #A6E3A1 #000000 0 0 0 0 2 -(string_literal) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(system_lib_string) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(raw_string_literal) @string - -;; #A6E3A1 #000000 0 0 0 0 2 -(escape_sequence) @string.escape - -;; #B8E986 #000000 0 0 0 0 2 -(number_literal) @number - -;; #B8E986 #000000 0 0 0 0 2 -(char_literal) @character - -;; #F29CC3 #000000 0 0 0 0 2 -(null) @constant.builtin - -;; #F29CC3 #000000 0 0 0 0 2 -(null - "nullptr" @constant.builtin) - -; ============================================================ -; Macros & directives -; ============================================================ - -;; #F29CC3 #000000 0 0 0 0 3 -(preproc_def - name: (_) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 3 -(preproc_call - directive: (preproc_directive) @_u - argument: (_) @constant.macro - (#match? @_u "^#undef$")) - -;; #F29CC3 #000000 0 0 0 0 3 -(preproc_ifdef - name: (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 3 -(preproc_elifdef - name: (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 3 -(preproc_defined - (identifier) @constant.macro) - -;; #F29CC3 #000000 0 0 0 0 3 -(preproc_defined) @function.macro - -; ============================================================ -; Builtins & special identifiers -; ============================================================ - -;; #F28FAD #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (identifier) @variable.builtin)) - -;; #F28FAD #000000 0 0 0 0 2 -(attribute_specifier - (argument_list - (call_expression - function: (identifier) @variable.builtin))) - -;; #F28FAD #000000 0 0 0 0 2 -(this) @variable.builtin - -; ============================================================ -; Exceptions & control helpers -; ============================================================ - -;; #FFB870 #000000 0 0 0 0 2 -"static_assert" @function.builtin - -; ============================================================ -; Comments -; ============================================================ - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell diff --git a/grammar/haskell.scm b/grammar/haskell.scm deleted file mode 100644 index b5e2f82..0000000 --- a/grammar/haskell.scm +++ /dev/null @@ -1,207 +0,0 @@ -;; #FFFFFF #000000 0 0 0 0 1 -(variable) @variable - -;; Lambdas / patterns keep params white -;; #FFFFFF #000000 0 1 0 0 5 -(expression/lambda - (_)+ @variable.parameter - "->") -;; #FFFFFF #000000 0 0 0 0 1 -(decl/function - patterns: (patterns - (_) @variable.parameter)) -;; #FFFFFF #000000 0 0 0 0 1 -(decl/function - (infix - (pattern) @variable.parameter)) - -;; Types / builtins -;; #F07178 #000000 0 0 0 0 6 -((name) @type.builtin - (#match? @type.builtin "^(Int|Integer|Bool|Char|String|Float|Double|Word)$")) - -;; Strings / chars -;; #9ADE7A #000000 0 0 0 0 1 -(char) @literal.char -;; #9ADE7A #000000 0 0 0 0 1 -(string) @literal.string - -;; Comments -;; #99ADBF #000000 0 1 0 0 5 -(comment) @comment.general -;; #99ADBF #000000 0 1 0 0 5 -(haddock) @comment.documentation -;; #99ADBF #000000 0 1 0 0 1 -(comment) @spell - -;; Punctuation -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" ")" "{" "}" "[" "]" -] @punctuation.bracket -;; #BFBDB6 #000000 0 0 0 0 1 -[ "," ";" ] @punctuation.delimiter - -;; Keywords (orange) -;; #FF8F40 #000000 0 0 0 0 1 -[ "forall" ] @keyword.quantifier -;; #FF8F40 #000000 0 0 0 0 1 -(pragma) @keyword.directive -;; #FF8F40 #000000 0 0 0 0 1 -[ - "if" "then" "else" "case" "of" -] @keyword.conditional -;; #FF8F40 #000000 0 0 0 0 1 -[ "import" "qualified" "module" ] @keyword.import -;; #FF8F40 #000000 0 0 0 0 1 -[ - "where" "let" "in" "class" "instance" "pattern" "data" - "newtype" "family" "type" "as" "hiding" "deriving" "via" - "stock" "anyclass" "do" "mdo" "rec" "infix" "infixl" "infixr" -] @keyword.definition -;; #FF8F40 #000000 0 0 0 0 1 -[ "forall" ] @keyword.repeat - -;; Operators (italic white, high priority) -;; #FFFFFF #000000 0 1 0 0 6 -[ - (operator) - (constructor_operator) - (all_names) - "." ".." "=" "|" "::" "=>" "->" "<-" "\\" "`" "@" -] @operator.general -;; #FFFFFF #000000 0 1 0 0 6 -(infix_id - [ - (variable) @operator.infix - (qualified (variable) @operator.infix) - ]) -;; #FFFFFF #000000 0 1 0 0 6 -[ - (operator) - (constructor_operator) - (all_names) - (wildcard) - "." ".." "=" "|" "::" "=>" "->" "<-" "\\" "`" "@" -] @operator - -;; Modules -;; #7dcfff #000000 0 0 0 0 1 -(module - (module_id) @module.name) -;; #7dcfff #000000 0 0 0 0 1 -(module - (module_id) @module) - -;; Functions / calls (leave blue for function identifiers, but vars stay white due to higher priority var rules) -;; #82AAFF #000000 0 0 0 0 3 -(decl/signature - [ - name: (variable) @function.name - names: (binding_list (variable) @function.name) - ]) -;; #82AAFF #000000 0 0 0 0 3 -(decl/function - [ - name: (variable) @function.name - names: (binding_list (variable) @function.name) - ]) -;; #82AAFF #000000 0 0 0 0 3 -(decl/bind - [ - name: (variable) @function.name - names: (binding_list (variable) @function.name) - ]) -;; #82AAFF #000000 0 0 0 0 2 -(decl - [ - name: (variable) @function - names: (binding_list (variable) @function) - ]) -;; #82AAFF #000000 0 0 0 0 3 -(decl/signature - name: (variable) @function.io - type: (type/apply - constructor: (name) @_io) - (#match? @_io "^IO$")) - -;; Function calls kept white via var priority; ensure explicit call rule stays neutral/white -;; #FFFFFF #000000 0 0 0 0 3 -(apply - [ - (expression/variable) @function.call - (expression/qualified (variable) @function.call) - ]) - -;; Types / constructors -;; #82AAFF #000000 0 0 0 0 3 -(name) @type -;; #82AAFF #000000 0 0 0 0 3 -(type/star) @type -;; #C6B5FF #000000 0 0 0 0 1 -(constructor) @constructor.general -;; #9ADE7A #000000 0 0 0 0 2 -((constructor) @boolean - (#match? @boolean "^(True|False)$")) -;; #9ADE7A #000000 0 0 0 0 1 -((variable) @boolean - (#match? @boolean "^otherwise$")) - -;; Quoters / quasiquotes -;; #82AAFF #000000 0 0 0 0 3 -(quoter) @function.call -;; #9ADE7A #000000 0 0 0 0 1 -(quasiquote - [ - (quoter) @_name - (_ - (variable) @_name) - ] - (#match? @_name "^qq$") - (quasiquote_body) @string) -;; #9ADE7A #000000 0 0 0 0 1 -(quasiquote - (_ - (variable) @_name) - (#match? @_name "^qq$") - (quasiquote_body) @string) -;; #82AAFF #000000 0 0 0 0 3 -(quasiquote - (_ - (module) @module - . - (variable) @function.call)) - -;; Exceptions / Debug -;; #F07178 #000000 0 0 0 0 1 -((variable) @keyword.exception - (#match? @keyword.exception "^(error|undefined|try|tryJust|tryAny|catch|catches|catchJust|handle|handleJust|throw|throwIO|throwTo|throwError|ioError|mask|mask_|uninterruptibleMask|uninterruptibleMask_|bracket|bracket_|bracketOnErrorSource|finally|fail|onException|expectationFailure)$")) -;; #F07178 #000000 0 0 0 0 1 -((variable) @keyword.debug - (#match? @keyword.debug "^(trace|traceId|traceShow|traceShowId|traceWith|traceShowWith|traceStack|traceIO|traceM|traceShowM|traceEvent|traceEventWith|traceEventIO|flushEventLog|traceMarker|traceMarkerIO)$")) - -;; Misc remaining structural -;; #C6B5FF #000000 0 0 0 0 1 -(wildcard) @literal.special -;; #BFBDB6 #000000 0 0 0 0 1 -[ "," ";" ] @punctuation.delimiter -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" ")" "{" "}" "[" "]" -] @punctuation.bracket -;; #7dcfff #000000 0 0 0 0 1 -(type/unit) @type.unit -(type/list) @type.list -(type/star) @type.star -;; #FFFFFF #000000 0 0 0 0 1 -(field_name (variable) @variable.member) -(import_name (name) . (children (variable) @variable.member)) - -;; Numbers (bright yellow-green) -;; #DFFFA0 #000000 0 0 0 0 2 -(integer) @number.integer -;; #DFFFA0 #000000 0 0 0 0 2 -(negation) @number.integer -;; #DFFFA0 #000000 0 0 0 0 2 -(expression/literal - (float) @number.float) diff --git a/grammar/hover.scm b/grammar/hover.scm deleted file mode 100644 index bc32830..0000000 --- a/grammar/hover.scm +++ /dev/null @@ -1,334 +0,0 @@ -;; #82AAFF #000000 1 0 1 0 4 -(setext_heading - (paragraph) @markup.heading.1 - (setext_h1_underline) @markup.heading.1) - -;; #82AAFF #000000 1 0 1 0 4 -(setext_heading - (paragraph) @markup.heading.2 - (setext_h2_underline) @markup.heading.2) - -(atx_heading - (atx_h1_marker)) @markup.heading.1 - -(atx_heading - (atx_h2_marker)) @markup.heading.2 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h3_marker)) @markup.heading.3 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h4_marker)) @markup.heading.4 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h5_marker)) @markup.heading.5 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h6_marker)) @markup.heading.6 - -;; #82AAFF #000000 0 0 0 0 4 -(info_string) @label - -;; #FF6347 #000000 0 0 0 0 4 -(pipe_table_header - (pipe_table_cell) @markup.heading) - -;; #FF8F40 #000000 0 0 0 0 4 -(pipe_table_header - "|" @punctuation.special) - -(pipe_table_row - "|" @punctuation.special) - -(pipe_table_delimiter_row - "|" @punctuation.special) - -(pipe_table_delimiter_cell) @punctuation.special - -;; #AAD94C #000000 0 0 0 0 2 -(indented_code_block) @markup.raw.block - -(fenced_code_block) @markup.raw.block - -(fenced_code_block - (fenced_code_block_delimiter) @markup.raw.block) - -(fenced_code_block - (info_string - (language) @label)) - -;; #7dcfff #000000 0 0 1 0 6 -(link_destination) @markup.link.url - -;; #7dcfff #000000 0 0 1 0 6 -[ - (link_title) - (link_label) -] @markup.link.label - -;; #FF8F40 #000000 0 0 0 0 4 -((link_label) - . - ":" @punctuation.delimiter) - -;; #9ADE7A #000000 0 0 0 0 4 -[ - (list_marker_plus) - (list_marker_minus) - (list_marker_star) - (list_marker_dot) - (list_marker_parenthesis) -] @markup.list - -(thematic_break) @punctuation.special - -;; #FF8F40 #000000 0 0 0 0 4 -(task_list_marker_unchecked) @markup.list.unchecked - -;; #AAD94C #000000 0 0 0 0 4 -(task_list_marker_checked) @markup.list.checked - -[ - (plus_metadata) - (minus_metadata) -] @keyword.directive - -[ - (block_continuation) - (block_quote_marker) -] @punctuation.special - -;; #AAD94C #000000 0 0 0 0 6 -(backslash_escape) @string.escape - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^ruby$")) -;; !ruby - (code_fence_content) @injection.ruby) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^bash$")) -;; !bash - (code_fence_content) @injection.bash) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^cpp$")) -;; !cpp - (code_fence_content) @injection.cpp) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^objective-cpp$")) -;; !cpp - (code_fence_content) @injection.cpp) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^h$")) -;; !h - (code_fence_content) @injection.h) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^c$")) -;; !c - (code_fence_content) @injection.h) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^css$")) -;; !css - (code_fence_content) @injection.css) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^fish$")) -;; !fish - (code_fence_content) @injection.fish) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^go$")) -;; !go - (code_fence_content) @injection.go) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^haskell$")) -;; !haskell - (code_fence_content) @injection.haskell) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^html$")) -;; !html - (code_fence_content) @injection.html) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^javascript$")) -;; !javascript - (code_fence_content) @injection.javascript) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^json$")) -;; !json - (code_fence_content) @injection.json) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^lua$")) -; - lua format in hover boxes is typed making it unparsable as normal lua -; - TODO: add a lua grammar with typing or remove this injection - (code_fence_content) @injection.lua) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^regex$")) -;; !regex - (code_fence_content) @injection.regex) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^query$")) -;; !query - (code_fence_content) @injection.query) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^markdown$")) -;; !markdown - (code_fence_content) @injection.markdown) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^markdown_inline$")) -;; !markdown_inline - (code_fence_content) @injection.markdown_inline) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^erb$")) -;; !embedded_template - (code_fence_content) @injection.embedded_template) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^python$")) -;; !python - (code_fence_content) @injection.python) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^php$")) -;; !php - (code_fence_content) @injection.php) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^rust$")) -;; !rust - (code_fence_content) @injection.rust) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^sql$")) -;; !sql - (code_fence_content) @injection.sql) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gitattributes$")) -;; !gitattributes - (code_fence_content) @injection.gitattributes) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gitignore$")) -;; !gitignore - (code_fence_content) @injection.gitignore) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gdscript$")) -;; !gdscript - (code_fence_content) @injection.gdscript) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^make$")) -;; !make - (code_fence_content) @injection.make) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^diff$")) -;; !diff - (code_fence_content) @injection.diff) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^ini$")) -;; !ini - (code_fence_content) @injection.ini) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^nginx$")) -;; !nginx - (code_fence_content) @injection.nginx) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^toml$")) -;; !toml - (code_fence_content) @injection.toml) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^yaml$")) -;; !yaml - (code_fence_content) @injection.yaml) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gomod$")) -;; !gomod - (code_fence_content) @injection.gomod) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^man$")) -;; !man - (code_fence_content) @injection.man) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^cabal$")) -;; !cabal - (code_fence_content) @injection.cabal) - -;; !html -(html_block) @injection.html - -;; !yaml -(minus_metadata) @injection.yaml - -;; !toml -(plus_metadata) @injection.toml - -;; !markdown_inline -(paragraph) @inline - -(pipe_table_row - (pipe_table_cell) @inline) - -(block_quote ((paragraph) @inline)) diff --git a/grammar/html.scm b/grammar/html.scm deleted file mode 100644 index 349ca7d..0000000 --- a/grammar/html.scm +++ /dev/null @@ -1,146 +0,0 @@ -;; #99ADBF #000000 0 1 0 0 5 -(comment) @comment @spell - -;; #9ADE7A #000000 0 0 0 0 1 -(attribute_name) @tag.attribute - -;; #FF8F40 #000000 0 0 0 0 0 -((attribute - (quoted_attribute_value) @string)) - -(attribute_value) @string - -[ - "'" - "\"" -] @string - -;; #82AAFF #000000 1 0 0 0 3 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.heading) - (#match? @_tag "^title$")) - -;; #82AAFF #000000 1 0 1 0 3 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.heading.1) - (#match? @_tag "^h[1-6]$")) - -;; #FFD700 #000000 1 0 0 0 2 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.strong) - (#match? @_tag "^(strong|b)$")) - -;; #FF8F40 #000000 0 1 0 0 2 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.italic) - (#match? @_tag "^(em|i)$")) - -;; #FF6347 #000000 0 0 0 1 2 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.strikethrough) - (#match? @_tag "^(s|del)$")) - -;; #82AAFF #000000 0 0 1 0 2 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.underline) - (#match? @_tag "^u$")) - -;; #9ADE7A #000000 0 0 0 0 2 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.raw) - (#match? @_tag "^(code|kbd)$")) - -;; #7dcfff #000000 0 0 1 0 2 -((element - (start_tag - (tag_name) @_tag) - (text) @markup.link.label) - (#match? @_tag "^a$")) - -((attribute - (attribute_name) @_attr - (quoted_attribute_value -;; #7dcfff #000000 0 0 1 0 5 - (attribute_value) @string.special.url)) - (#match? @_attr "^(href|src)$")) - -;; Punctuation -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "<" - ">" - "" -] @tag.delimiter - -;; #FFFFFF #000000 0 1 0 0 1 -"=" @operator - -;; #7dcfff #000000 0 0 0 0 1 -(tag_name) @tag - -;; #FF8F40 #000000 0 0 0 0 1 -(erroneous_end_tag_name) @tag.error - -;; #FFD700 #000000 0 0 0 0 1 -(doctype) @constant - -;; #9ADE7A #000000 0 0 0 0 1 -(attribute_name) @attribute - -; Injections - -((style_element - (start_tag) @_start_tag - ;; !css - (raw_text) @injection.css)) - -((attribute - (attribute_name) @_attr - (quoted_attribute_value - (attribute_value) @injection.css)) - (#match? @_attr "^style$")) - -((script_element - (start_tag) @_start - ;; !javascript - (raw_text) @injection.javascript) - (#match? @_start "^]*\\btype\\s*=\\s*\\\"(?!module|text/javascript)[^\\\"]*\\\")[^>]*>$")) - -((attribute - (attribute_name) @_name - (quoted_attribute_value - (attribute_value) @injection.javascript)) - (#match? @_name "^on[a-z]+$")) - -((attribute - (quoted_attribute_value - (attribute_value) @injection.javascript)) - (#match? @injection.javascript "\\$\\{")) - -((script_element - (start_tag) @_start - ;; !json - (raw_text) @injection.json) - (#match? @_start "^]*\\btype\\s*=\\s*\\\"(?!importmap)[^\\\"]*\\\")[^>]*>$")) - -((attribute - (attribute_name) @_name - (quoted_attribute_value - ;; !regex - (attribute_value) @injection.regex)) - (#match? @_name "^pattern$")) diff --git a/grammar/ini.scm b/grammar/ini.scm deleted file mode 100644 index 82211c6..0000000 --- a/grammar/ini.scm +++ /dev/null @@ -1,34 +0,0 @@ -;; #7dcfff #000000 0 0 0 0 2 -(section_name - (text) @type) - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #888888 #000000 0 0 0 0 3 -[ - "[" - "]" -] @punctuation.bracket - -;; #F29668 #000000 0 1 0 0 1 -"=" @operator - -;; #F0F8FF #000000 0 0 0 0 2 -(setting - (setting_name) @property) - -;; #F29668 #000000 0 0 0 0 2 -((setting_value) @boolean - (#match? @boolean "^\\s*(true|false|True|False|yes|no|Yes|No|on|off|On|Off|)\\s*$")) - -;; #FF8F40 #000000 0 0 0 0 2 -((setting_value) @number - (#match? @number "^\\s*[-+0-9]+\\s*$")) - -;; #A6E3A1 #000000 0 0 0 0 2 -((setting_value) @float - (#match? @float "^\\s*[-+0-9\\.]+\\s*$")) - -;; #AAD94C #000000 0 0 0 0 1 -(setting_value) @string diff --git a/grammar/javascript.scm b/grammar/javascript.scm deleted file mode 100644 index 76e7076..0000000 --- a/grammar/javascript.scm +++ /dev/null @@ -1,316 +0,0 @@ -; ============================================================ -; Identifiers -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 1 -(identifier) @variable - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z_][A-Z0-9_]*$")) - -;; #F07178 #000000 0 0 0 0 3 -((identifier) @variable.builtin - (#match? @variable.builtin - "^(arguments|console|window|document|globalThis|process|module|exports)$")) - -;; #59C2FF #000000 0 0 0 0 1 -((identifier) @constructor - (#match? @constructor "^[A-Z][a-zA-Z0-9]*$")) - -; ============================================================ -; Properties -; ============================================================ - -;; #F07178 #000000 0 0 0 0 1 -(property_identifier) @property - -; ============================================================ -; Functions -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 3 -(function_declaration - name: (identifier) @function) - -(function_expression - name: (identifier) @function) - -;; #FFB454 #000000 0 0 0 0 2 -(method_definition - name: (property_identifier) @function.method) - -(variable_declarator - name: (identifier) @function - value: [(function_expression) (arrow_function)]) - -(assignment_expression - left: (identifier) @function - right: [(function_expression) (arrow_function)]) - -(pair - key: (property_identifier) @function.method - value: [(function_expression) (arrow_function)]) - -; ------------------------------------------------------------ -; Function calls -; ------------------------------------------------------------ - -;; #FFB454 #000000 0 0 0 0 2 -(call_expression - function: (identifier) @function.call) - -;; #FFB454 #000000 0 0 0 0 2 -(call_expression - function: (member_expression - property: (property_identifier) @function.method)) - -; ============================================================ -; Highlighted definitions & references -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 3 -(assignment_expression - left: [ - (identifier) @name - (member_expression - property: (property_identifier) @name) - ] - right: [(arrow_function) (function_expression)] -) @definition.function - -;; #FFB454 #000000 0 0 0 0 3 -(pair - key: (property_identifier) @name - value: [(arrow_function) (function_expression)]) @definition.function - -;; #59C2FF #000000 0 0 0 0 0 -((call_expression - function: (identifier) @name) @reference.call - (#not-match? @name "^(require)$")) - -;; #7dcfff #000000 0 0 0 0 2 -(new_expression - constructor: (_) @name) @reference.class - -;; #D2A6FF #000000 0 0 0 0 2 -(export_statement value: (assignment_expression left: (identifier) @name right: ([ - (number) - (string) - (identifier) - (undefined) - (null) - (new_expression) - (binary_expression) - (call_expression) -]))) @definition.constant - -; ============================================================ -; Parameters -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 1 -(formal_parameters - [ - (identifier) @variable.parameter - (array_pattern - (identifier) @variable.parameter) - (object_pattern - [ - (pair_pattern value: (identifier) @variable.parameter) - (shorthand_property_identifier_pattern) @variable.parameter - ]) - ]) - -; ============================================================ -; Keywords (split into semantic groups) -; ============================================================ - -;; #FF8F40 #000000 0 0 0 0 1 -; Declarations -[ - "var" - "let" - "const" - "function" - "class" -] @keyword.declaration - -;; #FF8F40 #000000 0 0 0 0 1 -; Control flow -[ - "if" - "else" - "switch" - "case" - "default" - "for" - "while" - "do" - "break" - "continue" - "return" - "throw" - "try" - "catch" - "finally" - "extends" -] @keyword.control - -;; #FF8F40 #000000 0 0 0 0 1 -; Imports / exports -[ - "import" - "export" - "from" - "as" -] @keyword.import - -;; #F29668 #000000 0 0 0 0 1 -; Operators-as-keywords -[ - "in" - "instanceof" - "new" - "delete" - "typeof" - "void" - "await" - "yield" -] @keyword.operator - -;; #FF8F40 #000000 0 0 0 0 1 -; Modifiers -[ - "async" - "static" - "get" - "set" -] @keyword.modifier - -; ============================================================ -; Literals -; ============================================================ - -;; #F07178 #000000 0 0 0 0 1 -(this) @variable.builtin -(super) @variable.builtin - -;; #D2A6FF #000000 0 0 0 0 4 -[ - (true) - (false) - (null) - (undefined) -] @constant.builtin - -;; #D2A6FF #000000 0 0 0 0 2 -(number) @number - -;; #D2A6FF #000000 0 1 0 0 2 -((string) @use_strict - (#match? @use_strict "^['\"]use strict['\"]$")) - -;; #AAD94C #000000 0 0 0 0 0 -(string) @string - -;; #AAD94C #000000 0 0 0 0 0 -(template_string) @string.special - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -; ============================================================ -; Operators & punctuation -; ============================================================ - -;; #F29668 #000000 0 1 0 0 1 -[ - "+" - "-" - "*" - "/" - "%" - "**" - "++" - "--" - "==" - "!=" - "===" - "!==" - "<" - "<=" - ">" - ">=" - "&&" - "||" - "??" - "!" - "~" - "&" - "|" - "^" - "<<" - ">>" - ">>>" - "=" - "+=" - "-=" - "*=" - "/=" - "%=" - "<<=" - ">>=" - ">>>=" - "&=" - "|=" - "^=" - "&&=" - "||=" - "??=" - "=>" -] @operator - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "." - "," - ";" -] @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #7dcfff #000000 0 0 0 0 2 -(template_substitution - "${" @punctuation.special - "}" @punctuation.special) - -; ============================================================ -; JSX -; ============================================================ - -;; #59C2FF #000000 0 0 0 0 4 -(jsx_opening_element (identifier) @tag2) -(jsx_closing_element (identifier) @tag2) -(jsx_self_closing_element (identifier) @tag2) - -;; #F07178 #000000 0 0 0 0 3 -(jsx_attribute (property_identifier) @attribute2) - -;; #BFBDB6 #000000 0 0 0 0 3 -(jsx_opening_element (["<" ">"]) @punctuation.bracket2) -(jsx_closing_element ([""]) @punctuation.bracket2) -(jsx_self_closing_element (["<" "/>"]) @punctuation.bracket2) - -; Injections - -;; !regex -(regex) @string.regex diff --git a/grammar/json.scm b/grammar/json.scm deleted file mode 100644 index b21f6a0..0000000 --- a/grammar/json.scm +++ /dev/null @@ -1,22 +0,0 @@ -;; #D2A6FF #000000 0 0 0 0 2 -(pair - key: (_) @string.special.key) - -;; #AAD94C #000000 0 0 0 0 1 -(string) @string - -;; #7dcfff #000000 0 0 0 0 2 -(number) @number - -;; #F07178 #000000 0 0 0 0 1 -[ - (null) - (true) - (false) -] @constant.builtin - -;; #7dcfff #000000 0 0 0 0 2 -(escape_sequence) @escape - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment diff --git a/grammar/jsonc.scm b/grammar/jsonc.scm deleted file mode 100644 index b21f6a0..0000000 --- a/grammar/jsonc.scm +++ /dev/null @@ -1,22 +0,0 @@ -;; #D2A6FF #000000 0 0 0 0 2 -(pair - key: (_) @string.special.key) - -;; #AAD94C #000000 0 0 0 0 1 -(string) @string - -;; #7dcfff #000000 0 0 0 0 2 -(number) @number - -;; #F07178 #000000 0 0 0 0 1 -[ - (null) - (true) - (false) -] @constant.builtin - -;; #7dcfff #000000 0 0 0 0 2 -(escape_sequence) @escape - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment diff --git a/grammar/lua.scm b/grammar/lua.scm deleted file mode 100644 index e5e8d2a..0000000 --- a/grammar/lua.scm +++ /dev/null @@ -1,312 +0,0 @@ -; ============================================================ -; Identifiers -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 1 -(identifier) @variable - -;; #C9B4FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z][A-Z_0-9]*$")) - -;; #F28FAD #000000 0 0 0 0 3 -((identifier) @variable.builtin - (#match? @variable.builtin "^self$")) - -; Attributes (generic parameters) -;; #7CD5CF #000000 0 0 0 0 2 -(variable_list - (attribute - "<" @punctuation.bracket - (identifier) @attribute - ">" @punctuation.bracket)) - -; ============================================================ -; Control flow & keywords -; ============================================================ - -;; #9AD4FF #000000 0 0 0 0 2 -"return" @keyword.return - -;; #FF9E64 #000000 0 0 0 0 2 -[ - "goto" - "in" - "local" -] @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -(label_statement) @label - -;; #FF9E64 #000000 0 0 0 0 2 -(break_statement) @keyword - -;; #9AD4FF #000000 0 0 0 0 2 -(do_statement -[ - "do" - "end" -] @keyword) - -;; #9AD4FF #000000 0 0 0 0 2 -(while_statement -[ - "while" - "do" - "end" -] @repeat) - -;; #9AD4FF #000000 0 0 0 0 2 -(repeat_statement -[ - "repeat" - "until" -] @repeat) - -;; #FFB870 #000000 0 0 0 0 2 -(if_statement -[ - "if" - "elseif" - "else" - "then" - "end" -] @conditional) - -;; #9AD4FF #000000 0 0 0 0 2 -(elseif_statement -[ - "elseif" - "then" - "end" -] @conditional) - -;; #9AD4FF #000000 0 0 0 0 2 -(else_statement -[ - "else" - "end" -] @conditional) - -;; #9AD4FF #000000 0 0 0 0 2 -(for_statement -[ - "for" - "do" - "end" -] @repeat) - -;; #FFB870 #000000 0 0 0 0 2 -(function_declaration -[ - "function" - "end" -] @keyword.function) - -;; #FFB870 #000000 0 0 0 0 2 -(function_definition -[ - "function" - "end" -] @keyword.function) - -; ============================================================ -; Operators -; ============================================================ - -;; #6BD9DF #000000 0 1 0 0 1 -(binary_expression operator: _ @operator) - -;; #6BD9DF #000000 0 1 0 0 1 -(unary_expression operator: _ @operator) - -;; #F29CC3 #000000 0 0 0 0 1 -[ - "and" - "not" - "or" -] @keyword.operator - -; ============================================================ -; Punctuation -; ============================================================ - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - ";" - ":" - "," - "." -] @punctuation.delimiter - -; Brackets -;; #B6BEC8 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -; ============================================================ -; Tables & fields -; ============================================================ - -;; #9AD4FF #000000 0 0 0 0 1 -(field name: (identifier) @field) - -;; #9AD4FF #000000 0 0 0 0 1 -(dot_index_expression field: (identifier) @field) - -;; #7CD5CF #000000 0 0 0 0 1 -(table_constructor -[ - "{" - "}" -] @constructor) - -; ============================================================ -; Functions -; ============================================================ - -;; #FFC877 #000000 0 0 0 0 3 -(parameters (identifier) @parameter) - -;; #FFC877 #000000 0 0 0 0 3 -(function_declaration - name: [ - (identifier) @function - (dot_index_expression - field: (identifier) @function) - ]) - -;; #FFC877 #000000 0 0 0 0 3 -(function_declaration - name: (method_index_expression - method: (identifier) @method)) - -;; #FFC877 #000000 0 0 0 0 3 -(assignment_statement - (variable_list . - name: [ - (identifier) @function - (dot_index_expression - field: (identifier) @function) - ]) - (expression_list . - value: (function_definition))) - -;; #FFC877 #000000 0 0 0 0 3 -(table_constructor - (field - name: (identifier) @function - value: (function_definition))) - -; Function calls -;; #78C2FF #000000 0 0 0 0 2 -(function_call - name: [ - (identifier) @function.call - (dot_index_expression - field: (identifier) @function.call) - (method_index_expression - method: (identifier) @method.call) - ]) - -; Highlighted definitions & references -;; #FFC877 #000000 0 0 0 0 3 -(function_declaration - name: [ - (identifier) @name - (dot_index_expression - field: (identifier) @name) - ]) @definition.function - -;; #FFC877 #000000 0 0 0 0 3 -(function_declaration - name: (method_index_expression - method: (identifier) @name)) @definition.method - -;; #FFC877 #000000 0 0 0 0 3 -(assignment_statement - (variable_list . - name: [ - (identifier) @name - (dot_index_expression - field: (identifier) @name) - ]) - (expression_list . - value: (function_definition))) @definition.function - -;; #FFC877 #000000 0 0 0 0 3 -(table_constructor - (field - name: (identifier) @name - value: (function_definition))) @definition.function - -;; #78C2FF #000000 0 0 0 0 2 -(function_call - name: [ - (identifier) @name - (dot_index_expression - field: (identifier) @name) - (method_index_expression - method: (identifier) @name) - ]) @reference.call - -; Builtins -;; #F28FAD #000000 0 0 0 0 2 -(function_call - (identifier) @function.builtin - (#match? @function.builtin "^(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|load|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawset|required|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)$")) - -; ============================================================ -; Literals & constants -; ============================================================ - -;; #B8E986 #000000 0 0 0 0 5 -(number) @number - -;; #A6E3A1 #000000 0 0 0 0 5 -(string) @string - -;; #A6E3A1 #000000 0 0 0 0 6 -(escape_sequence) @string.escape - -;; #C9B4FF #000000 0 0 0 0 2 -(vararg_expression) @constant - -;; #C9B4FF #000000 0 0 0 0 2 -(nil) @constant.builtin - -;; #C2E8FF #000000 0 0 0 0 2 -[ - (false) - (true) -] @boolean - -; ============================================================ -; Comments & directives -; ============================================================ - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #7CD5CF #000000 0 0 0 0 1 -(hash_bang_line) @preproc - -; ============================================================ -; Injections -; ============================================================ - -;; #7CD5CF #000000 0 1 0 0 2 -((function_call - name: [ - (identifier) @_cdef_identifier - (_ _ (identifier) @_cdef_identifier) - ] - ;; !c - arguments: (arguments (string content: _ @injection.c))) - (#match? @_cdef_identifier "^cdef$")) diff --git a/grammar/make.scm b/grammar/make.scm deleted file mode 100644 index 6ff11a2..0000000 --- a/grammar/make.scm +++ /dev/null @@ -1,191 +0,0 @@ -;; #9CDCFE #000000 0 0 0 0 3 -[ - "(" - ")" - "{" - "}" -] @punctuation.bracket - -;; #C2E8FF #000000 0 1 0 0 2 -[ - ":" - "&:" - "::" - "|" - ";" - "\"" - "'" - "," -] @punctuation.delimiter - -;; #FFD700 #000000 0 0 0 0 2 -[ - "$" - "$$" -] @punctuation.special - -;; #FF8F40 #000000 0 0 0 0 2 -(automatic_variable - [ "@" "%" "<" "?" "^" "+" "/" "*" "D" "F"] @punctuation.special) - -;; #FF6347 #000000 0 0 0 0 2 -(automatic_variable - "/" @error . ["D" "F"]) - -;; #F29668 #000000 0 1 0 0 2 -[ - "=" - ":=" - "::=" - "?=" - "+=" - "!=" - "@" - "-" - "+" -] @operator - -;; #FFFFFF #000000 0 0 0 0 1 -[ - (text) - (string) - (raw_text) -] @string - -;; #9AD4FF #000000 0 0 0 0 2 -(variable_assignment (word) @string) - -;; #7AA2F7 #000000 0 0 0 0 1 -[ - "ifeq" - "ifneq" - "ifdef" - "ifndef" - "else" - "endif" - "if" - "or" ; boolean functions are conditional in make grammar - "and" -] @conditional - -;; #9ADE7A #000000 0 0 0 0 2 -"foreach" @repeat - -;; #D2A6FF #000000 0 0 0 0 1 -[ - "define" - "endef" - "vpath" - "undefine" - "export" - "unexport" - "override" - "private" -; "load" -] @keyword - -;; #C6B5FF #000000 0 0 0 0 2 -[ - "include" - "sinclude" - "-include" -] @include - -;; #82AAFF #000000 0 0 0 0 2 -[ - "subst" - "patsubst" - "strip" - "findstring" - "filter" - "filter-out" - "sort" - "word" - "words" - "wordlist" - "firstword" - "lastword" - "dir" - "notdir" - "suffix" - "basename" - "addsuffix" - "addprefix" - "join" - "wildcard" - "realpath" - "abspath" - "call" - "eval" - "file" - "value" - "shell" -] @keyword.function - -;; #FF9D5C #000000 0 0 0 0 2 -[ - "error" - "warning" - "info" -] @exception - -;; #B8E986 #000000 0 0 0 0 2 -(variable_assignment - name: (word) @constant) - -;; #B8E986 #000000 0 0 0 0 2 -(variable_reference - (word) @constant) - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #F28FAD #000000 0 0 0 0 2 -((word) @clean @string.regex - (#match? @clean "[%\*\?]")) - -;; #F07178 #000000 0 0 0 0 2 -(function_call - function: "error" - (arguments (text) @text.danger)) - -;; #FFC877 #000000 0 0 0 0 2 -(function_call - function: "warning" - (arguments (text) @text.warning)) - -;; #61AFEF #000000 0 0 0 0 2 -(function_call - function: "info" - (arguments (text) @text.note)) - -;; #95E6CB #000000 0 0 0 0 2 -[ - "VPATH" - ".RECIPEPREFIX" -] @constant.builtin - -;; #95E6CB #000000 0 0 0 0 2 -(variable_assignment - name: (word) @clean @constant.builtin - (#match? @clean "^(AR|AS|CC|CXX|CPP|FC|M2C|PC|CO|GET|LEX|YACC|LINT|MAKEINFO|TEX|TEXI2DVI|WEAVE|CWEAVE|TANGLE|CTANGLE|RM|ARFLAGS|ASFLAGS|CFLAGS|CXXFLAGS|COFLAGS|CPPFLAGS|FFLAGS|GFLAGS|LDFLAGS|LDLIBS|LFLAGS|YFLAGS|PFLAGS|RFLAGS|LINTFLAGS|PRE_INSTALL|POST_INSTALL|NORMAL_INSTALL|PRE_UNINSTALL|POST_UNINSTALL|NORMAL_UNINSTALL|MAKEFILE_LIST|MAKE_RESTARTS|MAKE_TERMOUT|MAKE_TERMERR|\\.DEFAULT_GOAL|\\.RECIPEPREFIX|\\.EXTRA_PREREQS)$")) - -;; #95E6CB #000000 0 0 0 0 2 -(variable_reference - (word) @clean @constant.builtin - (#match? @clean "^(AR|AS|CC|CXX|CPP|FC|M2C|PC|CO|GET|LEX|YACC|LINT|MAKEINFO|TEX|TEXI2DVI|WEAVE|CWEAVE|TANGLE|CTANGLE|RM|ARFLAGS|ASFLAGS|CFLAGS|CXXFLAGS|COFLAGS|CPPFLAGS|FFLAGS|GFLAGS|LDFLAGS|LDLIBS|LFLAGS|YFLAGS|PFLAGS|RFLAGS|LINTFLAGS|PRE_INSTALL|POST_INSTALL|NORMAL_INSTALL|PRE_UNINSTALL|POST_UNINSTALL|NORMAL_UNINSTALL|MAKEFILE_LIST|MAKE_RESTARTS|MAKE_TERMOUT|MAKE_TERMERR|\\.DEFAULT_GOAL|\\.RECIPEPREFIX|\\.EXTRA_PREREQS\\.VARIABLES|\\.FEATURES|\\.INCLUDE_DIRS|\\.LOADED)$")) - -;; #C792EA #000000 0 0 0 0 2 -(targets - (word) @constant.macro - (#match? @constant.macro "^(all|install|install-html|install-dvi|install-pdf|install-ps|uninstall|install-strip|clean|distclean|mostlyclean|maintainer-clean|TAGS|info|dvi|html|pdf|ps|dist|check|installcheck|installdirs)$")) - -;; #C792EA #000000 0 0 0 0 2 -(targets - (word) @constant.macro - (#match? @constant.macro "^(all|install|install-html|install-dvi|install-pdf|install-ps|uninstall|install-strip|clean|distclean|mostlyclean|maintainer-clean|TAGS|info|dvi|html|pdf|ps|dist|check|installcheck|installdirs)$")) - -;; #C792EA #000000 0 0 0 0 2 -(targets - (word) @constant.macro - (#match? @constant.macro "^\\.(PHONY|SUFFIXES|DEFAULT|PRECIOUS|INTERMEDIATE|SECONDARY|SECONDEXPANSION|DELETE_ON_ERROR|IGNORE|LOW_RESOLUTION_TIME|SILENT|EXPORT_ALL_VARIABLES|NOTPARALLEL|ONESHELL|POSIX)$")) diff --git a/grammar/man.scm b/grammar/man.scm deleted file mode 100644 index 16d8a3b..0000000 --- a/grammar/man.scm +++ /dev/null @@ -1,23 +0,0 @@ -;; #82AAFF #000000 1 0 1 0 2 -(title) @markup.heading.1 - -;; #ccefc9 #000000 0 0 0 0 0 -(section_title) @markup.heading.2 - -;; #FF8F40 #000000 1 0 0 0 2 -(subsection_title) @markup.heading.3 - -;; #AAD94C #000000 0 0 0 0 3 -(option) @variable.parameter - -;; #FFD700 #000000 1 0 0 0 3 -(reference) @markup.link.label - -;; #C792EA #000000 0 0 0 0 3 -(footer) @markup.heading - -(section_heading - (section_title) @_title -;; #FFD700 #000000 1 0 0 0 1 - (block) @injection.content - (#match? @_title "SYNOPSIS")) diff --git a/grammar/markdown.scm b/grammar/markdown.scm deleted file mode 100644 index b66dce9..0000000 --- a/grammar/markdown.scm +++ /dev/null @@ -1,327 +0,0 @@ -;; #82AAFF #000000 1 0 1 0 4 -(setext_heading - (paragraph) @markup.heading.1 - (setext_h1_underline) @markup.heading.1) - -;; #82AAFF #000000 1 0 1 0 4 -(setext_heading - (paragraph) @markup.heading.2 - (setext_h2_underline) @markup.heading.2) - -(atx_heading - (atx_h1_marker)) @markup.heading.1 - -(atx_heading - (atx_h2_marker)) @markup.heading.2 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h3_marker)) @markup.heading.3 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h4_marker)) @markup.heading.4 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h5_marker)) @markup.heading.5 - -;; #82AAFF #000000 1 0 0 0 4 -(atx_heading - (atx_h6_marker)) @markup.heading.6 - -;; #82AAFF #000000 0 0 0 0 4 -(info_string) @label - -;; #FF6347 #000000 0 0 0 0 4 -(pipe_table_header - (pipe_table_cell) @markup.heading) - -;; #FF8F40 #000000 0 0 0 0 4 -(pipe_table_header - "|" @punctuation.special) - -(pipe_table_row - "|" @punctuation.special) - -(pipe_table_delimiter_row - "|" @punctuation.special) - -(pipe_table_delimiter_cell) @punctuation.special - -;; #AAD94C #000000 0 0 0 0 2 -(indented_code_block) @markup.raw.block - -(fenced_code_block) @markup.raw.block - -(fenced_code_block - (fenced_code_block_delimiter) @markup.raw.block) - -(fenced_code_block - (info_string - (language) @label)) - -;; #7dcfff #000000 0 0 1 0 6 -(link_destination) @markup.link.url - -;; #7dcfff #000000 0 0 1 0 6 -[ - (link_title) - (link_label) -] @markup.link.label - -;; #FF8F40 #000000 0 0 0 0 4 -((link_label) - . - ":" @punctuation.delimiter) - -;; #9ADE7A #000000 0 0 0 0 4 -[ - (list_marker_plus) - (list_marker_minus) - (list_marker_star) - (list_marker_dot) - (list_marker_parenthesis) -] @markup.list - -(thematic_break) @punctuation.special - -;; #FF8F40 #000000 0 0 0 0 4 -(task_list_marker_unchecked) @markup.list.unchecked - -;; #AAD94C #000000 0 0 0 0 4 -(task_list_marker_checked) @markup.list.checked - -[ - (plus_metadata) - (minus_metadata) -] @keyword.directive - -[ - (block_continuation) - (block_quote_marker) -] @punctuation.special - -;; #AAD94C #000000 0 0 0 0 6 -(backslash_escape) @string.escape - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^ruby$")) -;; !ruby - (code_fence_content) @injection.ruby) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^bash$")) -;; !bash - (code_fence_content) @injection.bash) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^cpp$")) -;; !cpp - (code_fence_content) @injection.cpp) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^h$")) -;; !h - (code_fence_content) @injection.h) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^c$")) -;; !c - (code_fence_content) @injection.h) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^css$")) -;; !css - (code_fence_content) @injection.css) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^fish$")) -;; !fish - (code_fence_content) @injection.fish) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^go$")) -;; !go - (code_fence_content) @injection.go) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^haskell$")) -;; !haskell - (code_fence_content) @injection.haskell) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^html$")) -;; !html - (code_fence_content) @injection.html) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^javascript$")) -;; !javascript - (code_fence_content) @injection.javascript) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^json$")) -;; !json - (code_fence_content) @injection.json) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^lua$")) -;; !lua - (code_fence_content) @injection.lua) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^regex$")) -;; !regex - (code_fence_content) @injection.regex) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^query$")) -;; !query - (code_fence_content) @injection.query) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^markdown$")) -;; !markdown - (code_fence_content) @injection.markdown) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^markdown_inline$")) -;; !markdown_inline - (code_fence_content) @injection.markdown_inline) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^erb$")) -;; !embedded_template - (code_fence_content) @injection.embedded_template) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^python$")) -;; !python - (code_fence_content) @injection.python) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^php$")) -;; !php - (code_fence_content) @injection.php) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^rust$")) -;; !rust - (code_fence_content) @injection.rust) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^sql$")) -;; !sql - (code_fence_content) @injection.sql) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gitattributes$")) -;; !gitattributes - (code_fence_content) @injection.gitattributes) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gitignore$")) -;; !gitignore - (code_fence_content) @injection.gitignore) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gdscript$")) -;; !gdscript - (code_fence_content) @injection.gdscript) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^make$")) -;; !make - (code_fence_content) @injection.make) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^diff$")) -;; !diff - (code_fence_content) @injection.diff) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^ini$")) -;; !ini - (code_fence_content) @injection.ini) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^nginx$")) -;; !nginx - (code_fence_content) @injection.nginx) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^toml$")) -;; !toml - (code_fence_content) @injection.toml) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^yaml$")) -;; !yaml - (code_fence_content) @injection.yaml) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^gomod$")) -;; !gomod - (code_fence_content) @injection.gomod) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^man$")) -;; !man - (code_fence_content) @injection.man) - -(fenced_code_block - (info_string - (language) @injection.language (#match? @injection.language "^cabal$")) -;; !cabal - (code_fence_content) @injection.cabal) - -;; !html -(html_block) @injection.html - -;; !yaml -(minus_metadata) @injection.yaml - -;; !toml -(plus_metadata) @injection.toml - -;; !markdown_inline -(paragraph) @inline - -(pipe_table_row - (pipe_table_cell) @inline) - -(block_quote ((paragraph) @inline)) diff --git a/grammar/markdown_inline.scm b/grammar/markdown_inline.scm deleted file mode 100644 index ea0b6f3..0000000 --- a/grammar/markdown_inline.scm +++ /dev/null @@ -1,92 +0,0 @@ -;; #AAD94C #000000 0 0 0 0 1 -(code_span) @markup.raw - -;; #FF8F40 #000000 0 1 0 0 1 -(emphasis) @markup.italic - -;; #FFD700 #000000 1 0 0 0 1 -(strong_emphasis) @markup.strong - -;; #FF6347 #000000 0 0 0 1 1 -(strikethrough) @markup.strikethrough - -;; #7dcfff #000000 0 0 0 0 1 -[ - (backslash_escape) - (hard_line_break) -] @string.escape - -;; #7dcfff #000000 0 0 1 0 1 -(inline_link - [ - "[" - "]" - "(" - (link_destination) - ")" - ] @markup.link) - -;; #7dcfff #000000 0 0 1 0 1 -[ - (link_label) - (link_text) - (link_title) - (image_description) -] @markup.link.label - -;; #7dcfff #000000 0 0 1 0 1 -((inline_link - (link_destination) @_url) @_label) - -;; #7dcfff #000000 0 0 1 0 1 -((image - (link_destination) @_url) @_label) - -;; #7dcfff #000000 0 0 1 0 1 -(image - [ - "!" - "[" - "]" - "(" - (link_destination) - ")" - ] @markup.link) - -;; #7dcfff #000000 0 0 1 0 1 -(full_reference_link - [ - "[" - "]" - (link_label) - ] @markup.link) - -;; #7dcfff #000000 0 0 1 0 1 -(collapsed_reference_link - [ - "[" - "]" - ] @markup.link) - -;; #7dcfff #000000 0 0 1 0 1 -(shortcut_link - [ - "[" - "]" - ] @markup.link) - -;; #FF8F40 #000000 0 0 0 0 0 -">" @markup.quote - -;; #7dcfff #000000 0 0 1 0 1 -[ - (link_destination) - (uri_autolink) - (email_autolink) -] @markup.link.url @nospell - -;; #7dcfff #000000 0 0 1 0 1 -(uri_autolink) @_url - -;; !html -(html_tag) @injection.html diff --git a/grammar/nginx.scm b/grammar/nginx.scm deleted file mode 100644 index dd9d942..0000000 --- a/grammar/nginx.scm +++ /dev/null @@ -1,54 +0,0 @@ -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #7dcfff #000000 0 0 0 0 2 -(number) @number -(metric) @number - -;; !regex -(regex) @regex - -;; #FFFFFF #000000 0 0 0 0 1 -(variable) @variable - -;; #F29668 #000000 0 0 0 0 1 -(modifier) @operator - -;; #D2A6FF #000000 0 0 0 0 1 -(simple_directive - name: (directive) @function) - -;; #D2A6FF #000000 0 0 0 0 1 -(block_directive - name: (directive) @function) - -;; #D2A6FF #000000 0 0 0 0 1 -(lua_block_directive - "access_by_lua_block" @function) - -;; #F07178 #000000 0 0 0 0 1 -((generic) @constant.builtin - (#match? @constant.builtin "^(off|on)$")) - -;; #AAD94C #000000 0 0 0 0 2 -(generic) @string -(string) @string - -;; #FFFFFF #000000 0 0 0 0 1 -(scheme) @string -(ipv4) @number - -;; #888888 #000000 0 1 0 0 3 -[ - ";" -] @delimiter - -;; #888888 #000000 0 0 0 0 3 -[ - "{" - "}" - "(" - ")" - "[" - "]" -] @punctuation.bracket diff --git a/grammar/php.scm b/grammar/php.scm deleted file mode 100644 index 5b226a3..0000000 --- a/grammar/php.scm +++ /dev/null @@ -1,453 +0,0 @@ -;; ========================================================= -;; PHP SYNTAX HIGHLIGHTING -;; Cool–warm balanced palette (blue / teal / purple / orange) -;; ========================================================= - -;; #FF9D5C #000000 0 0 0 0 1 -;; Keywords (logic / flow) -[ - "and" - "as" - "instanceof" - "or" - "xor" -] @keyword.operator - -;; #FF9D5C #000000 0 0 0 0 1 -[ - "fn" - "function" -] @keyword.function - -;; #FF9D5C #000000 0 0 0 0 1 -[ - "clone" - "declare" - "default" - "echo" - "enddeclare" - "extends" - "global" - "goto" - "implements" - "insteadof" - "print" - "new" - "unset" -] @keyword - -;; #6FB3FF #000000 0 0 0 0 1 -[ - "enum" - "class" - "interface" - "namespace" - "trait" -] @keyword.type - -;; #FF9D5C #000000 0 0 0 0 1 -[ - "abstract" - "const" - "final" - "private" - "protected" - "public" - "readonly" - "static" -] @keyword.modifier - -;; #FF9D5C #000000 0 0 0 0 1 -[ - "return" - "exit" - "yield" - "yield from" -] @keyword.return - -;; #FF9D5C #000000 0 0 0 0 1 -[ - "case" - "else" - "elseif" - "endif" - "endswitch" - "if" - "switch" - "match" - "??" -] @keyword.conditional - -;; #FF9D5C #000000 0 0 0 0 1 -[ - "break" - "continue" - "do" - "endfor" - "endforeach" - "endwhile" - "for" - "foreach" - "while" -] @keyword.repeat - -;; #FF9D5C #000000 0 0 0 0 1 -[ - "catch" - "finally" - "throw" - "try" -] @keyword.exception - -;; #8BD5CA #000000 0 0 0 0 1 -[ - "include_once" - "include" - "require_once" - "require" - "use" -] @keyword.import - -;; #B0BEC5 #000000 0 0 0 0 1 -[ - "," - ";" - ":" - "\\" -] @punctuation.delimiter - -;; #B0BEC5 #000000 0 0 0 0 1 -[ - (php_tag) - (php_end_tag) - "(" - ")" - "[" - "]" - "{" - "}" - "#[" -] @punctuation.bracket - -;; #F29668 #000000 0 1 0 0 1 -[ - "=" - "." - "-" - "*" - "/" - "+" - "%" - "**" - "~" - "|" - "^" - "&" - "<<" - ">>" - "<<<" - "->" - "?->" - "=>" - "<" - "<=" - ">=" - ">" - "<>" - "<=>" - "==" - "!=" - "===" - "!==" - "!" - "&&" - "||" - ".=" - "-=" - "+=" - "*=" - "/=" - "%=" - "**=" - "&=" - "|=" - "^=" - "<<=" - ">>=" - "??=" - "--" - "++" - "@" - "::" -] @operator - -;; #7DCFFF #000000 0 0 0 0 1 -(variable_name) @variable - -;; #C792EA #000000 0 0 0 0 1 -((name) @constant - (#lua-match? @constant "^_?[A-Z][A-Z%d_]*$")) - -;; #C792EA #000000 0 0 0 0 1 -((name) @constant.builtin - (#lua-match? @constant.builtin "^__[A-Z][A-Z%d_]+__$")) - -;; #6FB3FF #000000 0 0 0 0 1 -(const_declaration - (const_element - (name) @constant)) - -;; #82AAFF #000000 0 0 0 0 1 -[ - (primitive_type) - (cast_type) - (bottom_type) -] @type.builtin - -;; #82AAFF #000000 0 0 0 0 1 -(named_type - [ - (name) @type - (qualified_name (name) @type) - (relative_name (name) @type) - ]) - -;; #82AAFF #000000 0 0 0 0 1 -(named_type - (name) @type.builtin - (#any-of? @type.builtin "static" "self")) - -;; #82AAFF #000000 0 0 0 0 1 -(class_declaration - name: (name) @type) - -;; #82AAFF #000000 0 0 0 0 1 -(enum_declaration - name: (name) @type) - -;; #82AAFF #000000 0 0 0 0 1 -(interface_declaration - name: (name) @type) - -;; #7DCFFF #000000 0 0 0 0 1 -(namespace_use_clause - [ - (name) @type - (qualified_name (name) @type) - alias: (name) @type.definition - ]) - -;; #7DCFFF #000000 0 0 0 0 1 -(namespace_use_clause - type: "function" - [ - (name) @function - (qualified_name (name) @function) - alias: (name) @function - ]) - -;; #7DCFFF #000000 0 0 0 0 1 -(namespace_use_clause - type: "const" - [ - (name) @constant - (qualified_name (name) @constant) - alias: (name) @constant - ]) - -;; #7DCFFF #000000 0 0 0 0 1 -(scoped_call_expression - scope: [ - (name) @type - (qualified_name (name) @type) - (relative_name (name) @type) - ]) - -;; #7DCFFF #000000 0 0 0 0 1 -(class_constant_access_expression - . - [ - (name) @type - (qualified_name (name) @type) - (relative_name (name) @type) - ] - (name) @constant) - -;; #A6E3A1 #000000 0 0 0 0 1 -(scoped_property_access_expression - name: (variable_name) @variable.member) - -;; #A6E3A1 #000000 0 0 0 0 1 -(trait_declaration - name: (name) @type) - -;; #A6E3A1 #000000 0 0 0 0 1 -(use_declaration - (name) @type) - -;; #FF9D5C #000000 0 0 0 0 1 -(binary_expression - operator: "instanceof" - right: [ - (name) @type - (qualified_name (name) @type) - (relative_name (name) @type) - ]) - -;; #FFD580 #000000 0 0 0 0 1 -(array_creation_expression - "array" @function.builtin) - -;; #FFD580 #000000 0 0 0 0 1 -(list_literal - "list" @function.builtin) - -;; #FFD580 #000000 0 0 0 0 1 -(exit_statement - "exit" @function.builtin - "(") - -;; #89DDFF #000000 0 0 0 0 1 -(method_declaration - name: (name) @function.method) - -;; #89DDFF #000000 0 0 0 0 1 -(function_call_expression - function: [ - (name) @function.call - (qualified_name (name) @function.call) - (relative_name (name) @function.call) - ]) - -;; #89DDFF #000000 0 0 0 0 1 -(scoped_call_expression - name: (name) @function.call) - -;; #89DDFF #000000 0 0 0 0 1 -(member_call_expression - name: (name) @function.method) - -;; #89DDFF #000000 0 0 0 0 1 -(nullsafe_member_call_expression - name: (name) @function.method) - -;; #FFD580 #000000 0 0 0 0 1 -(method_declaration - name: (name) @constructor - (#eq? @constructor "__construct")) - -;; #FFD580 #000000 0 0 0 0 1 -(object_creation_expression - [ - (name) @constructor - (qualified_name (name) @constructor) - (relative_name (name) @constructor) - ]) - -;; #9CDCFE #000000 0 0 0 0 1 -(variadic_parameter - "..." @operator - name: (variable_name) @variable.parameter) - -;; #9CDCFE #000000 0 0 0 0 1 -(simple_parameter - name: (variable_name) @variable.parameter) - -;; #9CDCFE #000000 0 0 0 0 1 -(argument - (name) @variable.parameter) - -;; #9CDCFE #000000 0 0 0 0 1 -(property_element - (variable_name) @property) - -;; #9CDCFE #000000 0 0 0 0 1 -(member_access_expression - name: (variable_name (name)) @variable.member) - -;; #9CDCFE #000000 0 0 0 0 1 -(relative_scope) @variable.builtin - -;; #7AA2F7 #000000 0 0 0 0 1 -((variable_name) @variable.builtin - (#eq? @variable.builtin "$this")) - -;; #C792EA #000000 0 0 0 0 1 -(namespace_definition - name: (namespace_name (name) @module)) - -;; #C792EA #000000 0 0 0 0 1 -(namespace_name - (name) @module) - -;; #7AA2F7 #000000 0 0 0 0 1 -(relative_name - "namespace" @module.builtin) - -;; #89DDFF #000000 0 0 0 0 1 -(attribute_list) @attribute - -;; #FF9D5C #000000 0 0 0 0 1 -(conditional_expression - "?" @keyword.conditional.ternary - ":" @keyword.conditional.ternary) - -;; #9CDCFE #000000 0 0 0 0 1 -(declare_directive - [ - "strict_types" - "ticks" - "encoding" - ] @variable.parameter) - -;; #A6E3A1 #000000 0 0 0 0 1 -[ - (string) - (encapsed_string) - (heredoc_body) - (nowdoc_body) - (shell_command_expression) -] @string - -;; #A6E3A1 #000000 0 0 0 0 1 -(escape_sequence) @string.escape - -;; #A6E3A1 #000000 0 0 0 0 1 -[ - (heredoc_start) - (heredoc_end) -] @label - -;; #DDB6F2 #000000 0 0 0 0 1 -(nowdoc - "'" @label) - -;; #F38BA8 #000000 0 0 0 0 1 -(boolean) @boolean - -;; #F38BA8 #000000 0 0 0 0 1 -(null) @constant.builtin - -;; #F38BA8 #000000 0 0 0 0 1 -(integer) @number - -;; #F38BA8 #000000 0 0 0 0 1 -(float) @number.float - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #A6E3A1 #000000 0 0 0 0 1 -(named_label_statement) @label - -;; #7AA2F7 #000000 0 0 0 0 1 -(property_hook - (name) @label) - -;; #7AA2F7 #000000 0 0 0 0 1 -(visibility_modifier - (operation) @label) - -;; #89DDFF #000000 0 0 0 0 1 -;; !html -(text) @injection.html diff --git a/grammar/python.scm b/grammar/python.scm deleted file mode 100644 index fc9ab61..0000000 --- a/grammar/python.scm +++ /dev/null @@ -1,412 +0,0 @@ -; ============================================================ -; Identifiers -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 1 -(identifier) @variable - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @type - (#match? @type "^[A-Z].*[a-z]")) - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z][A-Z_0-9]*$")) - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @constant.builtin - (#match? @constant.builtin "^__[a-zA-Z0-9_]*__$")) - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @constant.builtin - (#match? @constant.builtin "^(NotImplemented|Ellipsis|quit|exit|copyright|credits|license)$")) - -;; #FFB454 #000000 0 0 0 0 3 -((assignment - left: (identifier) @type.definition - (type - (identifier) @_annotation)) - (#match? @_annotation "^TypeAlias$")) - -;; #FFB454 #000000 0 0 0 0 3 -((assignment - left: (identifier) @type.definition - right: (call - function: (identifier) @_func)) - (#match? @_func "^(TypeVar|NewType)$")) - -; ============================================================ -; Function definitions -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 3 -(function_definition - name: (identifier) @function) - -;; #FFB454 #000000 0 0 0 0 2 -(type - (identifier) @type) - -;; #FFB454 #000000 0 0 0 0 2 -(type - (subscript - (identifier) @type)) - -;; #FFB454 #000000 0 0 0 0 2 -((call - function: (identifier) @_isinstance - arguments: (argument_list - (_) - (identifier) @type)) - (#match? @_isinstance "^isinstance$")) - -; ============================================================ -; Literals -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 2 -(none) @constant.builtin - -;; #D2A6FF #000000 0 0 0 0 2 -[ - (true) - (false) -] @boolean - -;; #D2A6FF #000000 0 0 0 0 2 -(integer) @number - -;; #D2A6FF #000000 0 0 0 0 2 -(float) @number.float - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell - -;; #F29668 #000000 0 0 0 0 1 -((module - . - (comment) @keyword.directive @nospell) - (#match? @keyword.directive "^#!/")) - -;; #AAD94C #000000 0 0 0 0 0 -(string) @string - -;; #AAD94C #000000 0 0 0 0 0 -[ - (escape_sequence) - (escape_interpolation) -] @string.escape - -;; #AAD94C #000000 0 0 0 0 0 -(expression_statement - (string - (string_content) @spell) @string.documentation) - -; ============================================================ -; Operators -; ============================================================ - -;; #FF8F40 #000000 0 0 0 0 1 -[ "if" "elif" "else" "for" "while" "break" "continue" ] @keyword.control_flow_loops - -;; #FF8F40 #000000 0 0 0 0 1 -[ "def" "return" "lambda" "yield" "async" "await" ] @keyword.functions_coroutines - -;; #7dcfff #000000 0 0 0 0 2 -[ "class" ] @keyword.class - -;; #F07178 #000000 0 0 0 0 1 -[ "try" "except" "finally" "raise" ] @keyword.exceptions - -;; #D2A6FF #000000 0 0 0 0 2 -[ "with" ] @keyword.context_management - -;; #7dcfff #000000 0 0 0 0 2 -[ "import" "from" "exec" ] @keyword.imports_execution - -;; #D2A6FF #000000 0 0 0 0 2 -[ "match" "case" ] @keyword.pattern_matching - -;; #F07178 #000000 0 0 0 0 1 -[ "global" "nonlocal" ] @keyword.scope_bindings - -;; #FF8F40 #000000 0 0 0 0 1 -[ "del" ] @keyword.deletion - -;; #FF8F40 #000000 0 0 0 0 1 -[ "pass" "assert" "as" "print" ] @keyword.utility - -;; #F29668 #000000 0 1 0 0 1 -[ - "-" - "-=" - "!=" - "*" - "**" - "**=" - "*=" - "/" - "//" - "//=" - "/=" - "&" - "&=" - "%" - "%=" - "^" - "^=" - "+" - "->" - "+=" - "<" - "<<" - "<<=" - "<=" - "<>" - "=" - ":=" - "==" - ">" - ">=" - ">>" - ">>=" - "|" - "|=" - "~" - "@=" - "and" - "in" - "is" - "not" - "or" - "is not" - "not in" -] @operatoroperator - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "," - "." - ":" - ";" - (ellipsis) -] @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #7dcfff #000000 0 0 0 0 2 -(interpolation - "{" @punctuation.special - "}" @punctuation.special) - -;; #7dcfff #000000 0 0 0 0 2 -(format_expression - "{" @punctuation.special - "}" @punctuation.special) - -;; #7dcfff #000000 0 0 0 0 2 -(line_continuation) @punctuation.special - -;; #FFB454 #000000 0 0 0 0 2 -(type_conversion) @function.macro - -; ============================================================ -; Builtins / Exception types -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @type.builtin - (#match? @type.builtin - "^(BaseException|Exception|ArithmeticError|BufferError|LookupError|AssertionError|AttributeError|EOFError|FloatingPointError|GeneratorExit|ImportError|ModuleNotFoundError|IndexError|KeyError|KeyboardInterrupt|MemoryError|NameError|NotImplementedError|OSError|OverflowError|RecursionError|ReferenceError|RuntimeError|StopIteration|StopAsyncIteration|SyntaxError|IndentationError|TabError|SystemError|SystemExit|TypeError|UnboundLocalError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ValueError|ZeroDivisionError|EnvironmentError|IOError|WindowsError|BlockingIOError|ChildProcessError|ConnectionError|BrokenPipeError|ConnectionAbortedError|ConnectionRefusedError|ConnectionResetError|FileExistsError|FileNotFoundError|InterruptedError|IsADirectoryError|NotADirectoryError|PermissionError|ProcessLookupError|TimeoutError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|RuntimeWarning|FutureWarning|ImportWarning|UnicodeWarning|BytesWarning|ResourceWarning)$")) - -; ============================================================ -; Function / Lambda parameters -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 1 -(parameters - (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(lambda_parameters - (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(lambda_parameters - (tuple_pattern - (identifier) @variable.parameter)) - -;; #D2A6FF #000000 0 0 0 0 1 -(keyword_argument - name: (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(default_parameter - name: (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(typed_parameter - (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(typed_default_parameter - name: (identifier) @variable.parameter) - -;; #D2A6FF #000000 0 0 0 0 1 -(parameters - (list_splat_pattern - (identifier) @variable.parameter)) - -;; #D2A6FF #000000 0 0 0 0 1 -(parameters - (dictionary_splat_pattern - (identifier) @variable.parameter)) - -;; #D2A6FF #000000 0 0 0 0 1 -(lambda_parameters - (list_splat_pattern - (identifier) @variable.parameter)) - -;; #D2A6FF #000000 0 0 0 0 1 -(lambda_parameters - (dictionary_splat_pattern - (identifier) @variable.parameter)) - -;; #FFB454 #000000 0 0 0 0 2 -((identifier) @variable.builtin - (#match? @variable.builtin "^(self|cls)$")) - -; ============================================================ -; Attributes / Class members -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 2 -((attribute - attribute: (identifier) @variable.member) - (#match? @variable.member "^[%l_].*$")) - -; ============================================================ -; Class definitions -; ============================================================ - -;; #59C2FF #000000 0 0 0 0 2 -(class_definition - name: (identifier) @type) - -;; #FFB454 #000000 0 0 0 0 2 -(class_definition - body: (block - (function_definition - name: (identifier) @function.method))) - -;; #D2A6FF #000000 0 0 0 0 2 -(class_definition - superclasses: (argument_list - (identifier) @type)) - -;; #FFB454 #000000 0 0 0 0 2 -((class_definition - body: (block - (expression_statement - (assignment - left: (identifier) @variable.member)))) - (#match? @variable.member "^[%l_].*$")) - -;; #FFB454 #000000 0 0 0 0 2 -((class_definition - body: (block - (expression_statement - (assignment - left: (_ - (identifier) @variable.member))))) - (#match? @variable.member "^[%l_].*$")) - -;; #FFB454 #000000 0 0 0 0 2 -((class_definition - (block - (function_definition - name: (identifier) @constructor))) - (#match? @constructor "^(__new__|__init__)$")) - -; ============================================================ -; Function calls -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 2 -(call - function: (identifier) @function.call) - -;; #FFB454 #000000 0 0 0 0 2 -(call - function: (attribute - attribute: (identifier) @function.method.call)) - -;; #59C2FF #000000 0 0 0 0 3 -((call - function: (identifier) @constructor) - (#match? @constructor "^[A-Z]")) - -;; #59C2FF #000000 0 0 0 0 3 -((call - function: (attribute - attribute: (identifier) @constructor)) - (#match? @constructor "^[A-Z]")) - -;; #FFB454 #000000 0 0 0 0 2 -((call - function: (identifier) @function.builtin) - (#match? @function.builtin - "^(abs|all|any|ascii|bin|bool|breakpoint|bytearray|bytes|callable|chr|classmethod|compile|complex|delattr|dict|dir|divmod|enumerate|eval|exec|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|isinstance|issubclass|iter|len|list|locals|map|max|memoryview|min|next|object|oct|open|ord|pow|print|property|range|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|vars|zip|__import__)$")) - -; ============================================================ -; Regex call -; ============================================================ - -(call - function: (identifier) @_re - arguments: (argument_list -;; !regex - (string) @string.regexp - ) - (#match? @_re "re")) - -; ============================================================ -; Decorators -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 2 -(decorator - "@" @attribute) - -;; #FFB454 #000000 0 0 0 0 2 -(decorator - (identifier) @attribute) - -;; #FFB454 #000000 0 0 0 0 2 -(decorator - (attribute - attribute: (identifier) @attribute)) - -;; #FFB454 #000000 0 0 0 0 2 -(decorator - (call - (identifier) @attribute)) - -;; #FFB454 #000000 0 0 0 0 2 -(decorator - (call - (attribute - attribute: (identifier) @attribute))) - -;; #59C2FF #000000 0 0 0 0 3 -((decorator - (identifier) @attribute.builtin) - (#match? @attribute.builtin "^(classmethod|property|staticmethod)$")) diff --git a/grammar/query.scm b/grammar/query.scm deleted file mode 100644 index d7e7b80..0000000 --- a/grammar/query.scm +++ /dev/null @@ -1,122 +0,0 @@ -;; ============================================================ -;; Strings & escapes -;; ============================================================ - -;; #AAD94C #000000 0 0 0 0 2 -(string) @string - -;; #95E6CB #000000 0 0 0 0 2 -(escape_sequence) @string.escape - -;; ============================================================ -;; Identifiers -;; ============================================================ - -;; #C4B5FF #000000 0 0 0 0 2 -(capture - (identifier) @type) - -;; #FFB454 #000000 0 0 0 0 2 -(predicate - name: (identifier) @function.call) - -;; #F29CC3 #000000 0 0 0 0 2 -(named_node - name: (identifier) @variable) - -;; #F29CC3 #000000 0 0 0 0 2 -(missing_node - name: (identifier) @variable) - -;; #F07178 #000000 0 0 0 0 2 -(field_definition - name: (identifier) @variable.member) - -;; #F29CC3 #000000 0 0 0 0 2 -(negated_field - "!" @operator - (identifier) @property) - -;; ============================================================ -;; Comments -;; ============================================================ - -;; #99ADBF #000000 0 1 0 0 2 -(comment) @comment @spell - -;; ============================================================ -;; Operators & punctuation -;; ============================================================ - -;; #F29668 #000000 0 0 0 0 2 -(quantifier) @operator - -;; #BFBDB6 #000000 0 0 0 0 2 -(predicate_type) @punctuation.special - -;; #F29668 #000000 0 0 0 0 2 -"." @operator - -;; #BFBDB6 #000000 0 0 0 0 2 -[ - "[" - "]" - "(" - ")" -] @punctuation.bracket - -;; #BFBDB6 #000000 0 0 0 0 2 -[ - ":" - "/" -] @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 2 -[ - "@" - "#" -] @punctuation.special - -;; #BFBDB6 #000000 0 0 0 0 2 -(predicate - "." @punctuation.special) - -;; #D2A6FF #000000 0 0 0 0 2 -"_" @character.special - -;; #FF8F40 #000000 0 0 0 0 2 -"MISSING" @keyword - -;; ============================================================ -;; Numbers -;; ============================================================ - -;; #B8E986 #000000 0 0 0 0 2 -((parameters - (identifier) @number) - (#match? @number "^[-+]?[0-9]+(.[0-9]+)?$")) - -;; ============================================================ -;; Predicate parameters -;; ============================================================ - -;; #F29CC3 #000000 0 0 0 0 2 -((predicate - name: (identifier) @_name - parameters: (parameters - . - (capture)? - . - (identifier) @property)) - (#match? @_name "^set$")) - -;; #AAD94C #000000 0 0 0 0 2 -((predicate - name: (identifier) @_name - parameters: (parameters - (string - "\"" @string - "\"" @string) -;; !regex - @string.regexp)) - (#match? @_name "^(match|not-match)$")) diff --git a/grammar/regex.scm b/grammar/regex.scm deleted file mode 100644 index ff9272b..0000000 --- a/grammar/regex.scm +++ /dev/null @@ -1,77 +0,0 @@ -;; ============================================================ -;; Punctuation / brackets -;; ============================================================ - -;; #B6BEC8 #000000 0 0 0 0 1 -[ - "(" - ")" - "(?" - "(?:" - "(?<" - "(?P<" - "(?P=" - ">" - "[" - "]" - "{" - "}" - "[:" - ":]" -] @punctuation.bracket - -;; #F29CC3 #000000 0 0 0 0 2 -(group_name) @property - -;; #F29668 #000000 0 0 0 0 1 -[ - "*" - "+" - "?" - "|" - "=" - "!" -] @operator - -;; #B8E986 #000000 0 0 0 0 2 -(count_quantifier - [ - (decimal_digits) @number - "," @punctuation.delimiter - ]) - -;; #F29668 #000000 0 0 0 0 2 -(inline_flags_group - "-"? @operator - ":"? @punctuation.delimiter) - -;; #F29CC3 #000000 0 0 0 0 2 -(flags) @character.special - -;; #C2E8FF #000000 0 0 0 0 2 -(character_class - [ - "^" @operator - (class_range "-" @operator) - ]) - -;; #D2A6FF #000000 0 0 0 0 2 -[ - (class_character) - (posix_class_name) -] @constant.character - -;; #D2A6FF #000000 0 0 0 0 2 -(pattern_character) @string - -;; #95E6CB #000000 0 0 0 0 2 -[ - (identity_escape) - (control_letter_escape) - (character_class_escape) - (control_escape) - (start_assertion) - (end_assertion) - (boundary_assertion) - (non_boundary_assertion) -] @escape diff --git a/grammar/ruby.scm b/grammar/ruby.scm deleted file mode 100644 index bba6457..0000000 --- a/grammar/ruby.scm +++ /dev/null @@ -1,515 +0,0 @@ -;; #FFFFFF #000000 0 0 0 0 1 -[ - (identifier) - (global_variable) -] @variable - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "alias" - "begin" - "do" - "end" - "ensure" - "module" - "rescue" - "then" -] @keyword - -;; #FF8F40 #000000 0 0 0 0 1 -"class" @keyword.type - - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "return" - "yield" -] @keyword.return - -;; #F29668 #000000 0 0 0 0 1 -[ - "and" - "or" - "in" - "not" -] @keyword.operator - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "def" - "undef" -] @keyword.function - -(method - "end" @keyword.function) - - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "case" - "else" - "elsif" - "if" - "unless" - "when" - "then" -] @keyword.conditional - -(if - "end" @keyword.conditional) - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "for" - "until" - "while" - "break" - "redo" - "retry" - "next" -] @keyword.repeat - -;; #D2A6FF #000000 0 0 0 0 1 -(constant) @constant - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "rescue" - "ensure" -] @keyword.exception - -;; #FFB454 #000000 0 0 0 0 3 -"defined?" @function - -;; #FFB454 #000000 0 0 0 0 3 -(call - receiver: (constant)? @type - method: [ - (identifier) - (constant) -;; #FFB454 #000000 0 0 0 0 2 - ] @function.call) - -;; #FFB454 #000000 0 0 0 0 2 -(alias - (identifier) @function) - -(setter - (identifier) @function) - -(method - name: [ - (identifier) @function - (constant) @type - ]) - -(singleton_method - name: [ - (identifier) @function - (constant) @type - ]) - -;; #59C2FF #000000 0 0 0 0 2 -(class - name: (constant) @type) - -(module - name: (constant) @type) - -(superclass - (constant) @type) - -;; #F07178 #000000 0 0 0 0 2 -[ - (class_variable) - (instance_variable) -] @variable.member - -;; #FF8F40 #000000 0 0 0 0 2 -((identifier) @keyword.modifier - (#match? @keyword.modifier "^(private|protected|public)$" )) - -;; #FF8F40 #000000 0 0 0 0 3 -(program - (call - (identifier) @keyword.import) - (#match? @keyword.import "^(require|require_relative|load)$")) - -;; #D2A6FF #000000 0 0 0 0 4 -((identifier) @constant.builtin - (#match? @constant.builtin "^(__callee__|__dir__|__id__|__method__|__send__|__ENCODING__|__FILE__|__LINE__)$" )) - -;; #FFB454 #000000 0 0 0 0 3 -((identifier) @function.builtin - (#match? @function.builtin "^(attr_reader|attr_writer|attr_accessor|module_function)$" )) - -((call - !receiver - method: (identifier) @function.builtin) - (#match? @function.builtin "^(include|extend|prepend|refine|using)$")) - -;; #FF8F40 #000000 0 0 0 0 3 -((identifier) @keyword.exception - (#match? @keyword.exception "^(raise|fail|catch|throw)$" )) - -;; #F07178 #000000 0 0 0 0 1 -[ - (self) - (super) -] @variable.builtin - -;; #D2A6FF #000000 0 0 0 0 1 -(method_parameters - (identifier) @variable.parameter) - -(lambda_parameters - (identifier) @variable.parameter) - -(block_parameters - (identifier) @variable.parameter) - -(splat_parameter - (identifier) @variable.parameter) - -(hash_splat_parameter - (identifier) @variable.parameter) - -(optional_parameter - (identifier) @variable.parameter) - -(destructured_parameter - (identifier) @variable.parameter) - -(block_parameter - (identifier) @variable.parameter) - -(keyword_parameter - (identifier) @variable.parameter) - -;; #AAD94C #000000 0 0 0 0 1 -[ - (string_content) - (heredoc_content) - "\"" - "`" -] @string - -;; #E6C08A #000000 0 0 0 0 1 -[ - (heredoc_beginning) - (heredoc_end) -] @label - -;; #39BAE6 #000000 0 0 0 0 2 -[ - (bare_symbol) - (simple_symbol) - (delimited_symbol) - (hash_key_symbol) -] @string.special.symbol - -;; #95E6CB #000000 0 0 0 0 2 -(escape_sequence) @string.escape - -;; #D2A6FF #000000 0 0 0 0 2 -(integer) @number - -;; #D2A6FF #000000 0 0 0 0 2 -(float) @number.float - -;; #D2A6FF #000000 0 0 0 0 1 -(true) @boolean.true - -;; #D2A6FF #000000 0 0 0 0 1 -(false) @boolean.false - -;; #D2A6FF #000000 0 0 0 0 1 -(nil) @constant.nil - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #AAD94C #000000 0 0 0 0 3 -((program - . - (comment) @shebang @nospell) - (#match? @shebang "^#!/")) - -;; #F29668 #000000 0 0 0 0 1 -[ - "!" - "=" - ">>" - "<<" - ">" - "<" - "**" - "*" - "/" - "%" - "+" - "-" - "&" - "|" - "^" - "%=" - "+=" - "-=" - "*=" - "/=" - "=~" - "!~" - "?" - ":" -] @operator - -;; #F29668 #000000 0 1 0 0 1 -[ - "==" - "===" - "<=>" - "=>" - "->" - ">=" - "<=" - "||" - "||=" - "&&=" - "&&" - "!=" - ".." - "..." -] @operator.ligature - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "," - ";" - "." - "&." - "::" -] @punctuation.delimiter - -(pair - ":" @punctuation.delimiter) - -;; #BFBDB6 #000000 0 0 0 0 3 -[ - "(" - ")" - "[" - "]" - "{" - "}" - "%w(" - "%i(" -] @punctuation.bracket - -(regex - "/" @punctuation.bracket) - -(block_parameters - "|" @punctuation.bracket) - -;; #7dcfff #000000 0 0 0 0 2 -(interpolation - "#{" @punctuation.special - "}" @punctuation.special) - -; Injections - -;; !regex -(regex - (string_content) @string.regexp) - -(heredoc_body -;; !bash - (heredoc_content) @bash_injection - ((heredoc_end) @lang - (#match? @lang "BASH"))) - -(heredoc_body -;; !c - (heredoc_content) @c_injection - ((heredoc_end) @lang - (#match? @lang "C$"))) - -(heredoc_body -;; !cpp - (heredoc_content) @cpp_injection - ((heredoc_end) @lang - (#match? @lang "CPP"))) - -(heredoc_body -;; !css - (heredoc_content) @css_injection - ((heredoc_end) @lang - (#match? @lang "CSS"))) - -(heredoc_body -;; !fish - (heredoc_content) @fish_injection - ((heredoc_end) @lang - (#match? @lang "FISH"))) - -(heredoc_body -;; !go - (heredoc_content) @go_injection - ((heredoc_end) @lang - (#match? @lang "GO"))) - -(heredoc_body -;; !haskell - (heredoc_content) @haskell_injection - ((heredoc_end) @lang - (#match? @lang "HASKELL"))) - -(heredoc_body -;; !html - (heredoc_content) @html_injection - ((heredoc_end) @lang - (#match? @lang "HTML"))) - -(heredoc_body -;; !javascript - (heredoc_content) @javascript_injection - ((heredoc_end) @lang - (#match? @lang "JAVASCRIPT"))) - -(heredoc_body -;; !json - (heredoc_content) @json_injection - ((heredoc_end) @lang - (#match? @lang "JSON"))) - -(heredoc_body -;; !lua - (heredoc_content) @lua_injection - ((heredoc_end) @lang - (#match? @lang "LUA"))) - -(heredoc_body -;; !make - (heredoc_content) @make_injection - ((heredoc_end) @lang - (#match? @lang "MAKE"))) - -(heredoc_body -;; !python - (heredoc_content) @python_injection - ((heredoc_end) @lang - (#match? @lang "PYTHON"))) - -(heredoc_body -;; !ruby - (heredoc_content) @ruby_injection - ((heredoc_end) @lang - (#match? @lang "RUBY"))) - -(heredoc_body -;; !rust - (heredoc_content) @rust_injection - ((heredoc_end) @lang - (#match? @lang "RUST"))) - -(heredoc_body -;; !diff - (heredoc_content) @diff_injection - ((heredoc_end) @lang - (#match? @lang "DIFF"))) - -(heredoc_body -;; !embedded_template - (heredoc_content) @embedded_template_injection - ((heredoc_end) @lang - (#match? @lang "ERB"))) - -(heredoc_body -;; !gdscript - (heredoc_content) @gdscript_injection - ((heredoc_end) @lang - (#match? @lang "GDSCRIPT"))) - -(heredoc_body -;; !gitattributes - (heredoc_content) @gitattributes_injection - ((heredoc_end) @lang - (#match? @lang "GITATTRIBUTES"))) - -(heredoc_body -;; !gitignore - (heredoc_content) @gitignore_injection - ((heredoc_end) @lang - (#match? @lang "GITIGNORE"))) - -(heredoc_body -;; !gomod - (heredoc_content) @gomod_injection - ((heredoc_end) @lang - (#match? @lang "GOMOD"))) - -(heredoc_body -;; !ini - (heredoc_content) @ini_injection - ((heredoc_end) @lang - (#match? @lang "INI"))) - -(heredoc_body -;; !markdown - (heredoc_content) @markdown_injection - ((heredoc_end) @lang - (#match? @lang "MARKDOWN"))) - -(heredoc_body -;; !nginx - (heredoc_content) @nginx_injection - ((heredoc_end) @lang - (#match? @lang "NGINX"))) - -(heredoc_body -;; !php - (heredoc_content) @php_injection - ((heredoc_end) @lang - (#match? @lang "PHP"))) - -(heredoc_body -;; !query - (heredoc_content) @query_injection - ((heredoc_end) @lang - (#match? @lang "QUERY"))) - -(heredoc_body -;; !regex - (heredoc_content) @regex_injection - ((heredoc_end) @lang - (#match? @lang "REGEX"))) - -(heredoc_body -;; !sql - (heredoc_content) @sql_injection - ((heredoc_end) @lang - (#match? @lang "SQL"))) - -(heredoc_body -;; !toml - (heredoc_content) @toml_injection - ((heredoc_end) @lang - (#match? @lang "TOML"))) - -(heredoc_body -;; !yaml - (heredoc_content) @yaml_injection - ((heredoc_end) @lang - (#match? @lang "YAML"))) - -(heredoc_body -;; !cabal - (heredoc_content) @cabal_injection - ((heredoc_end) @lang - (#match? @lang "CABAL"))) - -(heredoc_body -;; !man - (heredoc_content) @man_injection - ((heredoc_end) @lang - (#match? @lang "MAN"))) diff --git a/grammar/rust.scm b/grammar/rust.scm deleted file mode 100644 index 0758e58..0000000 --- a/grammar/rust.scm +++ /dev/null @@ -1,663 +0,0 @@ -; ============================================================ -; Identifiers & Modules -; ============================================================ - -;; #82AAFF #000000 0 0 0 0 1 -(shebang) @keyword.directive1 - -;; #E5C07B #000000 0 0 0 0 1 -(identifier) @variable1 - -;; #A6E22E #000000 0 0 0 0 2 -((identifier) @type1 - (#match? @type1 "^[A-Z]")) - -;; #FFD700 #000000 0 0 0 0 2 -(const_item - name: (identifier) @constant1) - -;; #FF9E64 #000000 0 0 0 0 3 -((identifier) @constant2 - (#match? @constant2 "^[A-Z][A-Z%d_]*$")) - -;; #7DCFFF #000000 0 0 0 0 4 -(type_identifier) @type2 - -;; #7DCFFF #000000 0 0 0 0 2 -(primitive_type) @type.builtin1 - -;; #C678DD #000000 0 0 0 0 2 -(field_identifier) @variable.member1 - -;; #C678DD #000000 0 0 0 0 2 -(shorthand_field_identifier) @variable.member2 - -;; #C678DD #000000 0 0 0 0 2 -(shorthand_field_initializer - (identifier) @variable.member3) - -;; #61AFEF #000000 0 0 0 0 2 -(mod_item - name: (identifier) @module1) - -;; #D19A66 #000000 0 0 0 0 2 -(self) @variable.builtin1 - -;; #5C6370 #000000 0 0 0 0 1 -"_" @character.special1 - -;; #61AFEF #000000 0 0 1 0 2 -(label - [ - "'" - (identifier) - ] @label1) - -; ============================================================ -; Functions & Parameters -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 3 -(function_item - (identifier) @function1) - -;; #FFB454 #000000 0 0 0 0 3 -(function_signature_item - (identifier) @function2) - -;; #D2A6FF #000000 0 0 0 0 1 -(parameter - [ - (identifier) - "_" - ] @variable.parameter1) - -;; #D2A6FF #000000 0 0 0 0 1 -(parameter - (ref_pattern - [ - (mut_pattern - (identifier) @variable.parameter2) - (identifier) @variable.parameter3 - ])) - -;; #D2A6FF #000000 0 0 0 0 1 -(closure_parameters - (_) @variable.parameter4) - -; ============================================================ -; Function Calls & Constructors -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 2 -(call_expression - function: (identifier) @function.call1) - -;; #FFB454 #000000 0 0 0 0 2 -(call_expression - function: (scoped_identifier - (identifier) @function.call2 .)) - -;; #FFB454 #000000 0 0 0 0 2 -(call_expression - function: (field_expression - field: (field_identifier) @function.call3)) - -;; #FFB454 #000000 0 0 0 0 2 -(generic_function - function: (identifier) @function.call4) - -;; #FFB454 #000000 0 0 0 0 2 -(generic_function - function: (scoped_identifier - name: (identifier) @function.call5)) - -;; #FFB454 #000000 0 0 0 0 2 -(generic_function - function: (field_expression - field: (field_identifier) @function.call6)) - -;; #9ADE7A #000000 0 0 0 0 32 -((field_identifier) @constant3 - (#match? @constant3 "^[A-Z]")) - -;; #9ADE7A #000000 0 0 0 0 32 -(enum_variant - name: (identifier) @constant4) - -; ============================================================ -; Scoped Identifiers & Paths -; ============================================================ - -;; #82AAFF #000000 0 0 0 0 9 -(scoped_identifier - path: (identifier) @module2) - -;; #82AAFF #000000 0 0 0 0 9 -(scoped_identifier - (scoped_identifier - name: (identifier) @module3)) - -;; #7DCFFF #000000 0 0 0 0 9 -(scoped_type_identifier - path: (identifier) @module4) - -;; #7DCFFF #000000 0 0 0 0 9 -(scoped_type_identifier - path: (identifier) @type3 - (#match? @type3 "^[A-Z]")) - -;; #7DCFFF #000000 0 0 0 0 9 -(scoped_type_identifier - (scoped_identifier - name: (identifier) @module5)) - -;; #7DCFFF #000000 0 0 0 0 9 -((scoped_identifier - path: (identifier) @type4) - (#match? @type4 "^[A-Z]")) - -;; #7DCFFF #000000 0 0 0 0 9 -((scoped_identifier - name: (identifier) @type5) - (#match? @type5 "^[A-Z]")) - -;; #FFD700 #000000 0 0 0 0 7 -((scoped_identifier - name: (identifier) @constant5) - (#match? @constant5 "^[A-Z][A-Z%d_]*$")) - -;; #FFD700 #000000 0 0 0 0 7 -((scoped_identifier - path: (identifier) @type6 - name: (identifier) @constant6) - (#match? @type6 "^[A-Z]") - (#match? @constant6 "^[A-Z]")) - -;; #FFD700 #000000 0 0 0 0 7 -((scoped_type_identifier - path: (identifier) @type7 - name: (type_identifier) @constant7) - (#match? @type7 "^[A-Z]") - (#match? @constant7 "^[A-Z]")) - -;; #61AFEF #000000 0 0 0 0 0 -[ - (crate) - (super) -] @module6 - -;; #61AFEF #000000 0 0 0 0 0 -(scoped_use_list - path: (identifier) @module7) - -;; #61AFEF #000000 0 0 0 0 0 -(scoped_use_list - path: (scoped_identifier - (identifier) @module8)) - -;; #7DCFFF #000000 0 0 0 0 0 -(use_list - (scoped_identifier - (identifier) @module9 - . - (_))) - -;; #7DCFFF #000000 0 0 0 0 0 -(use_list - (identifier) @type8 - (#match? @type8 "^[A-Z]")) - -;; #7DCFFF #000000 0 0 0 0 0 -(use_as_clause - alias: (identifier) @type9 - (#match? @type9 "^[A-Z]")) - -; ============================================================ -; Enum Constructors & Match Arms -; ============================================================ - -;; #9ADE7A #000000 0 0 0 0 9 -; Correct enum constructors -(call_expression - function: (scoped_identifier - "::" - name: (identifier) @constant8) - (#match? @constant8 "^[A-Z]")) - -;; #FFD700 #000000 0 0 0 0 2 -; Assume uppercase names in a match arm are constants. -((match_arm - pattern: (match_pattern - (identifier) @constant9)) - (#match? @constant9 "^[A-Z]")) - -;; #FFD700 #000000 0 0 0 0 2 -((match_arm - pattern: (match_pattern - (scoped_identifier - name: (identifier) @constant10))) - (#match? @constant10 "^[A-Z]")) - -;; #D2A6FF #000000 0 0 0 0 3 -((identifier) @constant.builtin1 - (#match? @constant.builtin1 "^(Some|None|Ok|Err)$")) - -; ============================================================ -; Macros -; ============================================================ - -;; #FF8F40 #000000 0 0 0 0 2 -"$" @function.macro1 - -;; #FF8F40 #000000 0 0 0 0 2 -(metavariable) @function.macro2 - -;; #FF8F40 #000000 0 0 0 0 2 -(macro_definition - "macro_rules!" @function.macro3) - -;; #FF8F40 #000000 0 0 0 0 2 -(attribute_item - (attribute - (identifier) @function.macro4)) - -;; #FF8F40 #000000 0 0 0 0 2 -(inner_attribute_item - (attribute - (identifier) @function.macro5)) - -;; #FF8F40 #000000 0 0 0 0 2 -(attribute - (scoped_identifier - (identifier) @function.macro6 .)) - -;; #FF8F40 #000000 0 0 0 0 2 -(macro_invocation - macro: (identifier) @function.macro7) - -;; #FF8F40 #000000 0 0 0 0 2 -(macro_invocation - macro: (scoped_identifier - (identifier) @function.macro8 .)) - -; ============================================================ -; Literals -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 1 -(boolean_literal) @boolean1 - -;; #D2A6FF #000000 0 0 0 0 1 -(integer_literal) @number1 - -;; #D2A6FF #000000 0 0 0 0 1 -(float_literal) @number.float1 - -;; #AAD94C #000000 0 0 0 0 0 -[ - (raw_string_literal) - (string_literal) -] @string1 - -;; #AAD94C #000000 0 0 0 0 0 -(escape_sequence) @string.escape1 - -;; #F07178 #000000 0 0 0 0 1 -(char_literal) @character1 - -; ============================================================ -; Keywords -; ============================================================ - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "use" - "mod" -] @keyword.import1 - -;; #FF8F40 #000000 0 0 0 0 1 -(use_as_clause - "as" @keyword.import2) - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "default" - "impl" - "let" - "move" - "unsafe" - "where" -] @keyword1 - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "enum" - "struct" - "union" - "trait" - "type" -] @keyword.type1 - -;; #82AAFF #000000 0 0 0 0 1 -[ - "async" - "await" - "gen" -] @keyword.coroutine1 - -;; #FF6347 #000000 0 0 0 0 1 -"try" @keyword.exception1 - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "ref" - "pub" - "raw" - (mutable_specifier) - "const" - "static" - "dyn" - "extern" -] @keyword.modifier1 - -;; #FF8F40 #000000 0 0 0 0 1 -(lifetime - "'" @keyword.modifier2) - -;; #9ADE7A #000000 0 0 0 0 5 -(lifetime - (identifier) @attribute1) - -;; #9ADE7A #000000 0 0 0 0 5 -(lifetime - (identifier) @attribute.builtin1 - (#match? @attribute.builtin1 "^(static|_)$")) - -;; #FF8F40 #000000 0 0 0 0 1 -"fn" @keyword.function1 - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "return" - "yield" -] @keyword.return1 - -;; #F29668 #000000 0 0 0 0 1 -(type_cast_expression - "as" @keyword.operator1) - -;; #F29668 #000000 0 0 0 0 1 -(qualified_type - "as" @keyword.operator2) - -;; #61AFEF #000000 0 0 0 0 9 -(use_list - (self) @module10) - -;; #61AFEF #000000 0 0 0 0 9 -(scoped_use_list - (self) @module11) - -;; #61AFEF #000000 0 0 0 0 9 -(scoped_identifier - [ - (crate) - (super) - (self) - ] @module12) - -;; #61AFEF #000000 0 0 0 0 9 -(visibility_modifier - [ - (crate) - (super) - (self) - ] @module13) - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "if" - "else" - "match" -] @keyword.conditional1 - -;; #FF8F40 #000000 0 0 0 0 1 -[ - "break" - "continue" - "in" - "loop" - "while" -] @keyword.repeat1 - -;; #FF8F40 #000000 0 0 0 0 1 -"for" @keyword2 - -;; #FF8F40 #000000 0 0 0 0 1 -(for_expression - "for" @keyword.repeat2) - -; ============================================================ -; Operators -; ============================================================ - -;; #F29668 #000000 0 1 0 0 1 -[ - "!" - "!=" - "%" - "%=" - "&" - "&&" - "&=" - "*" - "*=" - "+" - "+=" - "-" - "-=" - ".." - "..=" - "..." - "/" - "/=" - "<" - "<<" - "<<=" - "<=" - "=" - "==" - ">" - ">=" - ">>" - ">>=" - "?" - "@" - "^" - "^=" - "|" - "|=" - "||" -] @operator1 - -;; #BFBDB6 #000000 0 0 0 0 1 -(use_wildcard - "*" @character.special2) - -;; #BFBDB6 #000000 0 0 0 0 1 -(remaining_field_pattern - ".." @character.special3) - -;; #BFBDB6 #000000 0 0 0 0 1 -(range_pattern - [ - ".." - "..=" - "..." - ] @character.special4) - -; ============================================================ -; Punctuation -; ============================================================ - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket1 - -;; #BFBDB6 #000000 0 0 0 0 1 -(closure_parameters - "|" @punctuation.bracket2) - -;; #BFBDB6 #000000 0 0 0 0 1 -(type_arguments - [ - "<" - ">" - ] @punctuation.bracket3) - -;; #BFBDB6 #000000 0 0 0 0 1 -(type_parameters - [ - "<" - ">" - ] @punctuation.bracket4) - -;; #BFBDB6 #000000 0 0 0 0 1 -(bracketed_type - [ - "<" - ">" - ] @punctuation.bracket5) - -;; #BFBDB6 #000000 0 0 0 0 1 -(for_lifetimes - [ - "<" - ">" - ] @punctuation.bracket6) - -;; #BFBDB6 #000000 0 1 0 0 1 -[ - "," - "." - ":" - "::" - ";" - "->" - "=>" -] @punctuation.delimiter1 - -;; #BFBDB6 #000000 0 0 0 0 1 -(attribute_item - "#" @punctuation.special1) - -;; #BFBDB6 #000000 0 0 0 0 1 -(inner_attribute_item - [ - "!" - "#" - ] @punctuation.special2) - -;; #FF8F40 #000000 0 0 0 0 2 -(macro_invocation - "!" @function.macro9) - -;; #7DCFFF #000000 0 0 0 0 1 -(never_type - "!" @type.builtin2) - -; ============================================================ -; Panic / Assert / Debug Macros -; ============================================================ - -;; #FF6347 #000000 0 0 0 0 2 -(macro_invocation - macro: (identifier) @_identifier1 @keyword.exception2 - "!" @keyword.exception2 - (#match? @_identifier1 "^panic$")) - -;; #FF8F40 #000000 0 0 0 0 2 -(macro_invocation - macro: (identifier) @_identifier2 @keyword.exception3 - "!" @keyword.exception3 - (#match? @_identifier2 "assert")) - -;; #7DCFFF #000000 0 0 0 0 2 -(macro_invocation - macro: (identifier) @_identifier3 @keyword.debug1 - "!" @keyword.debug1 - (#match? @_identifier3 "^dbg$")) - -; ============================================================ -; Comments -; ============================================================ - -;; #99ADBF #000000 0 1 0 0 1 -[ - (line_comment) - (block_comment) - (outer_doc_comment_marker) - (inner_doc_comment_marker) -] @comment1 - -(line_comment - (doc_comment)) @comment2 - -(block_comment - (doc_comment)) @comment3 - -; ============================================================ -; Regex Strings (highlighted) -; ============================================================ - -(call_expression - function: (scoped_identifier - path: (identifier) @_regex1 - (#match? @_regex1 "Regex") - name: (identifier) @_new1 - (#match? @_new1 "^new$")) - arguments: (arguments - (raw_string_literal -;; !regex - (string_content) @string.regexp))) - -(call_expression - function: (scoped_identifier - path: (scoped_identifier - (identifier) @_regex2 - (#match? @_regex2 "Regex") .) - name: (identifier) @_new2 - (#match? @_new2 "^new$")) - arguments: (arguments - (raw_string_literal - (string_content) @string.regexp))) - -(call_expression - function: (scoped_identifier - path: (identifier) @_regex3 - (#match? @_regex3 "Regex") - name: (identifier) @_new3 - (#match? @_new3 "^new$")) - arguments: (arguments - (array_expression - (raw_string_literal - (string_content) @string.regexp)))) - -(call_expression - function: (scoped_identifier - path: (scoped_identifier - (identifier) @_regex4 - (#match? @_regex4 "Regex") .) - name: (identifier) @_new4 - (#match? @_new4 "^new$")) - arguments: (arguments - (array_expression - (raw_string_literal - (string_content) @string.regexp)))) diff --git a/grammar/sql.scm b/grammar/sql.scm deleted file mode 100644 index 370839c..0000000 --- a/grammar/sql.scm +++ /dev/null @@ -1,469 +0,0 @@ -;; #D2A6FF #000000 0 0 0 0 1 -(object_reference - name: (identifier) @type) - -;; #7dcfff #000000 0 0 0 0 2 -(invocation - (object_reference - name: (identifier) @function.call)) - -((term - value: (cast - name: (keyword_cast) @function.call - parameter: [(literal)]?))) - -[ - (keyword_gist) - (keyword_btree) - (keyword_hash) - (keyword_spgist) - (keyword_gin) - (keyword_brin) - (keyword_array) - (keyword_object_id) -] @function.call - -;; #D2A6FF #000000 0 0 0 0 1 -(relation - alias: (identifier) @variable) - -(term - alias: (identifier) @variable) - -;; #7dcfff #000000 0 0 0 0 2 -(field - name: (identifier) @field) - -;; #FF8F40 #000000 0 0 0 0 2 -((literal) @number - (#match? @number "^[-+0-9]+$")) - -;; #F29668 #000000 0 0 0 0 2 -((literal) @float - (#match? @float "^[-+0-9]+\\.[0-9]+$")) - -;; #AAD94C #000000 0 0 0 0 0 -(literal) @string - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment @spell -(marginalia) @comment - -(parameter) @parameter - -;; #F29668 #000000 0 0 0 0 1 -[ - (keyword_true) - (keyword_false) -] @boolean - -;; #F07178 #000000 0 0 0 0 1 -[ - (keyword_asc) - (keyword_desc) - (keyword_terminated) - (keyword_escaped) - (keyword_unsigned) - (keyword_nulls) - (keyword_last) - (keyword_delimited) - (keyword_replication) - (keyword_auto_increment) - (keyword_default) - (keyword_collate) - (keyword_concurrently) - (keyword_engine) - (keyword_always) - (keyword_generated) - (keyword_preceding) - (keyword_following) - (keyword_first) - (keyword_current_timestamp) - (keyword_immutable) - (keyword_atomic) - (keyword_parallel) - (keyword_leakproof) - (keyword_safe) - (keyword_cost) - (keyword_strict) -] @attribute - -;; #7dcfff #000000 0 0 0 0 2 -[ - (keyword_materialized) - (keyword_recursive) - (keyword_temp) - (keyword_temporary) - (keyword_unlogged) - (keyword_external) - (keyword_parquet) - (keyword_csv) - (keyword_rcfile) - (keyword_textfile) - (keyword_orc) - (keyword_avro) - (keyword_jsonfile) - (keyword_sequencefile) - (keyword_volatile) -] @storageclass - -;; #F29668 #000000 0 0 0 0 1 -[ - (keyword_case) - (keyword_when) - (keyword_then) - (keyword_else) -] @conditional - -;; #D2A6FF #000000 0 0 0 0 1 -[ - (keyword_select) - (keyword_from) - (keyword_where) - (keyword_index) - (keyword_join) - (keyword_primary) - (keyword_delete) - (keyword_create) - (keyword_show) - (keyword_unload) - (keyword_insert) - (keyword_merge) - (keyword_distinct) - (keyword_replace) - (keyword_update) - (keyword_into) - (keyword_overwrite) - (keyword_matched) - (keyword_values) - (keyword_value) - (keyword_attribute) - (keyword_set) - (keyword_left) - (keyword_right) - (keyword_outer) - (keyword_inner) - (keyword_full) - (keyword_order) - (keyword_partition) - (keyword_group) - (keyword_with) - (keyword_without) - (keyword_as) - (keyword_having) - (keyword_limit) - (keyword_offset) - (keyword_table) - (keyword_tables) - (keyword_key) - (keyword_references) - (keyword_foreign) - (keyword_constraint) - (keyword_force) - (keyword_use) - (keyword_include) - (keyword_for) - (keyword_if) - (keyword_exists) - (keyword_column) - (keyword_columns) - (keyword_cross) - (keyword_lateral) - (keyword_natural) - (keyword_alter) - (keyword_drop) - (keyword_add) - (keyword_view) - (keyword_end) - (keyword_is) - (keyword_using) - (keyword_between) - (keyword_window) - (keyword_no) - (keyword_data) - (keyword_type) - (keyword_rename) - (keyword_to) - (keyword_schema) - (keyword_owner) - (keyword_authorization) - (keyword_all) - (keyword_any) - (keyword_some) - (keyword_returning) - (keyword_begin) - (keyword_commit) - (keyword_rollback) - (keyword_transaction) - (keyword_only) - (keyword_like) - (keyword_similar) - (keyword_over) - (keyword_change) - (keyword_modify) - (keyword_after) - (keyword_before) - (keyword_range) - (keyword_rows) - (keyword_groups) - (keyword_exclude) - (keyword_current) - (keyword_ties) - (keyword_others) - (keyword_zerofill) - (keyword_format) - (keyword_fields) - (keyword_row) - (keyword_sort) - (keyword_compute) - (keyword_comment) - (keyword_location) - (keyword_cached) - (keyword_uncached) - (keyword_lines) - (keyword_stored) - (keyword_virtual) - (keyword_partitioned) - (keyword_analyze) - (keyword_explain) - (keyword_verbose) - (keyword_truncate) - (keyword_rewrite) - (keyword_optimize) - (keyword_vacuum) - (keyword_cache) - (keyword_language) - (keyword_called) - (keyword_conflict) - (keyword_declare) - (keyword_filter) - (keyword_function) - (keyword_input) - (keyword_name) - (keyword_oid) - (keyword_oids) - (keyword_precision) - (keyword_regclass) - (keyword_regnamespace) - (keyword_regproc) - (keyword_regtype) - (keyword_restricted) - (keyword_return) - (keyword_returns) - (keyword_separator) - (keyword_setof) - (keyword_stable) - (keyword_support) - (keyword_tblproperties) - (keyword_trigger) - (keyword_unsafe) - (keyword_admin) - (keyword_connection) - (keyword_cycle) - (keyword_database) - (keyword_encrypted) - (keyword_increment) - (keyword_logged) - (keyword_none) - (keyword_owned) - (keyword_password) - (keyword_reset) - (keyword_role) - (keyword_sequence) - (keyword_start) - (keyword_restart) - (keyword_tablespace) - (keyword_split) - (keyword_tablets) - (keyword_until) - (keyword_user) - (keyword_valid) - (keyword_action) - (keyword_definer) - (keyword_invoker) - (keyword_security) - (keyword_extension) - (keyword_version) - (keyword_out) - (keyword_inout) - (keyword_variadic) - (keyword_ordinality) - (keyword_session) - (keyword_isolation) - (keyword_level) - (keyword_serializable) - (keyword_repeatable) - (keyword_read) - (keyword_write) - (keyword_committed) - (keyword_uncommitted) - (keyword_deferrable) - (keyword_names) - (keyword_zone) - (keyword_immediate) - (keyword_deferred) - (keyword_constraints) - (keyword_snapshot) - (keyword_characteristics) - (keyword_off) - (keyword_follows) - (keyword_precedes) - (keyword_each) - (keyword_instead) - (keyword_of) - (keyword_initially) - (keyword_old) - (keyword_new) - (keyword_referencing) - (keyword_statement) - (keyword_execute) - (keyword_procedure) - (keyword_copy) - (keyword_delimiter) - (keyword_encoding) - (keyword_escape) - (keyword_force_not_null) - (keyword_force_null) - (keyword_force_quote) - (keyword_freeze) - (keyword_header) - (keyword_match) - (keyword_program) - (keyword_quote) - (keyword_stdin) - (keyword_extended) - (keyword_main) - (keyword_plain) - (keyword_storage) - (keyword_compression) - (keyword_duplicate) - (keyword_while) -] @keyword - -;; #F07178 #000000 0 0 0 0 1 -[ - (keyword_restrict) - (keyword_unbounded) - (keyword_unique) - (keyword_cascade) - (keyword_delayed) - (keyword_high_priority) - (keyword_low_priority) - (keyword_ignore) - (keyword_nothing) - (keyword_check) - (keyword_option) - (keyword_local) - (keyword_cascaded) - (keyword_wait) - (keyword_nowait) - (keyword_metadata) - (keyword_incremental) - (keyword_bin_pack) - (keyword_noscan) - (keyword_stats) - (keyword_statistics) - (keyword_maxvalue) - (keyword_minvalue) -] @type.qualifier - -;; #7dcfff #000000 0 0 0 0 2 -[ - (keyword_int) - (keyword_null) - (keyword_boolean) - (keyword_binary) - (keyword_varbinary) - (keyword_image) - (keyword_bit) - (keyword_inet) - (keyword_character) - (keyword_smallserial) - (keyword_serial) - (keyword_bigserial) - (keyword_smallint) - (keyword_mediumint) - (keyword_bigint) - (keyword_tinyint) - (keyword_decimal) - (keyword_float) - (keyword_double) - (keyword_numeric) - (keyword_real) - (double) - (keyword_money) - (keyword_smallmoney) - (keyword_char) - (keyword_nchar) - (keyword_varchar) - (keyword_nvarchar) - (keyword_varying) - (keyword_text) - (keyword_string) - (keyword_uuid) - (keyword_json) - (keyword_jsonb) - (keyword_xml) - (keyword_bytea) - (keyword_enum) - (keyword_date) - (keyword_datetime) - (keyword_time) - (keyword_datetime2) - (keyword_datetimeoffset) - (keyword_smalldatetime) - (keyword_timestamp) - (keyword_timestamptz) - (keyword_geometry) - (keyword_geography) - (keyword_box2d) - (keyword_box3d) - (keyword_interval) -] @type.builtin - -;; #F29668 #000000 0 0 0 0 1 -[ - (keyword_in) - (keyword_and) - (keyword_or) - (keyword_not) - (keyword_by) - (keyword_on) - (keyword_do) - (keyword_union) - (keyword_except) - (keyword_intersect) -] @keyword.operator - -;; #F29668 #000000 0 1 0 0 1 -[ - "+" - "-" - "*" - "/" - "%" - "^" - ":=" - "=" - "<" - "<=" - "!=" - ">=" - ">" - "<>" - (op_other) - (op_unary_other) -] @operator - -;; #888888 #000000 0 0 0 0 1 -[ - "(" - ")" -] @punctuation.bracket - -;; #888888 #000000 0 1 0 0 1 -[ - ";" - "," - "." -] @punctuation.delimiter diff --git a/grammar/toml.scm b/grammar/toml.scm deleted file mode 100644 index 255b0da..0000000 --- a/grammar/toml.scm +++ /dev/null @@ -1,56 +0,0 @@ -;; #F0F8FF #000000 0 0 0 0 2 -(bare_key) @type - -;; #FFFFFF #000000 0 0 0 0 1 -(quoted_key) @string.quoted - -;; #D2A6FF #000000 0 0 0 0 0 -(pair - (bare_key)) @property - -;; #D2A6FF #000000 0 0 0 0 0 -(pair - (dotted_key - (bare_key) @property)) - -;; #F29668 #000000 0 0 0 0 1 -(boolean) @boolean - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #AAD94C #000000 0 0 0 0 1 -(string) @string - -;; #7dcfff #000000 0 0 0 0 2 -[ - (integer) - (float) -] @number - -;; #FFFFFF #000000 0 0 0 0 1 -[ - (offset_date_time) - (local_date_time) - (local_date) - (local_time) -] @string.special - -;; #888888 #000000 0 1 0 0 3 -[ - "." - "," -] @punctuation.delimiter - -;; #F29668 #000000 0 0 0 0 1 -"=" @operator - -;; #888888 #000000 0 0 0 0 3 -[ - "[" - "]" - "[[" - "]]" - "{" - "}" -] @punctuation.bracket diff --git a/grammar/typescript.scm b/grammar/typescript.scm deleted file mode 100644 index 76e7076..0000000 --- a/grammar/typescript.scm +++ /dev/null @@ -1,316 +0,0 @@ -; ============================================================ -; Identifiers -; ============================================================ - -;; #FFFFFF #000000 0 0 0 0 1 -(identifier) @variable - -;; #D2A6FF #000000 0 0 0 0 2 -((identifier) @constant - (#match? @constant "^[A-Z_][A-Z0-9_]*$")) - -;; #F07178 #000000 0 0 0 0 3 -((identifier) @variable.builtin - (#match? @variable.builtin - "^(arguments|console|window|document|globalThis|process|module|exports)$")) - -;; #59C2FF #000000 0 0 0 0 1 -((identifier) @constructor - (#match? @constructor "^[A-Z][a-zA-Z0-9]*$")) - -; ============================================================ -; Properties -; ============================================================ - -;; #F07178 #000000 0 0 0 0 1 -(property_identifier) @property - -; ============================================================ -; Functions -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 3 -(function_declaration - name: (identifier) @function) - -(function_expression - name: (identifier) @function) - -;; #FFB454 #000000 0 0 0 0 2 -(method_definition - name: (property_identifier) @function.method) - -(variable_declarator - name: (identifier) @function - value: [(function_expression) (arrow_function)]) - -(assignment_expression - left: (identifier) @function - right: [(function_expression) (arrow_function)]) - -(pair - key: (property_identifier) @function.method - value: [(function_expression) (arrow_function)]) - -; ------------------------------------------------------------ -; Function calls -; ------------------------------------------------------------ - -;; #FFB454 #000000 0 0 0 0 2 -(call_expression - function: (identifier) @function.call) - -;; #FFB454 #000000 0 0 0 0 2 -(call_expression - function: (member_expression - property: (property_identifier) @function.method)) - -; ============================================================ -; Highlighted definitions & references -; ============================================================ - -;; #FFB454 #000000 0 0 0 0 3 -(assignment_expression - left: [ - (identifier) @name - (member_expression - property: (property_identifier) @name) - ] - right: [(arrow_function) (function_expression)] -) @definition.function - -;; #FFB454 #000000 0 0 0 0 3 -(pair - key: (property_identifier) @name - value: [(arrow_function) (function_expression)]) @definition.function - -;; #59C2FF #000000 0 0 0 0 0 -((call_expression - function: (identifier) @name) @reference.call - (#not-match? @name "^(require)$")) - -;; #7dcfff #000000 0 0 0 0 2 -(new_expression - constructor: (_) @name) @reference.class - -;; #D2A6FF #000000 0 0 0 0 2 -(export_statement value: (assignment_expression left: (identifier) @name right: ([ - (number) - (string) - (identifier) - (undefined) - (null) - (new_expression) - (binary_expression) - (call_expression) -]))) @definition.constant - -; ============================================================ -; Parameters -; ============================================================ - -;; #D2A6FF #000000 0 0 0 0 1 -(formal_parameters - [ - (identifier) @variable.parameter - (array_pattern - (identifier) @variable.parameter) - (object_pattern - [ - (pair_pattern value: (identifier) @variable.parameter) - (shorthand_property_identifier_pattern) @variable.parameter - ]) - ]) - -; ============================================================ -; Keywords (split into semantic groups) -; ============================================================ - -;; #FF8F40 #000000 0 0 0 0 1 -; Declarations -[ - "var" - "let" - "const" - "function" - "class" -] @keyword.declaration - -;; #FF8F40 #000000 0 0 0 0 1 -; Control flow -[ - "if" - "else" - "switch" - "case" - "default" - "for" - "while" - "do" - "break" - "continue" - "return" - "throw" - "try" - "catch" - "finally" - "extends" -] @keyword.control - -;; #FF8F40 #000000 0 0 0 0 1 -; Imports / exports -[ - "import" - "export" - "from" - "as" -] @keyword.import - -;; #F29668 #000000 0 0 0 0 1 -; Operators-as-keywords -[ - "in" - "instanceof" - "new" - "delete" - "typeof" - "void" - "await" - "yield" -] @keyword.operator - -;; #FF8F40 #000000 0 0 0 0 1 -; Modifiers -[ - "async" - "static" - "get" - "set" -] @keyword.modifier - -; ============================================================ -; Literals -; ============================================================ - -;; #F07178 #000000 0 0 0 0 1 -(this) @variable.builtin -(super) @variable.builtin - -;; #D2A6FF #000000 0 0 0 0 4 -[ - (true) - (false) - (null) - (undefined) -] @constant.builtin - -;; #D2A6FF #000000 0 0 0 0 2 -(number) @number - -;; #D2A6FF #000000 0 1 0 0 2 -((string) @use_strict - (#match? @use_strict "^['\"]use strict['\"]$")) - -;; #AAD94C #000000 0 0 0 0 0 -(string) @string - -;; #AAD94C #000000 0 0 0 0 0 -(template_string) @string.special - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -; ============================================================ -; Operators & punctuation -; ============================================================ - -;; #F29668 #000000 0 1 0 0 1 -[ - "+" - "-" - "*" - "/" - "%" - "**" - "++" - "--" - "==" - "!=" - "===" - "!==" - "<" - "<=" - ">" - ">=" - "&&" - "||" - "??" - "!" - "~" - "&" - "|" - "^" - "<<" - ">>" - ">>>" - "=" - "+=" - "-=" - "*=" - "/=" - "%=" - "<<=" - ">>=" - ">>>=" - "&=" - "|=" - "^=" - "&&=" - "||=" - "??=" - "=>" -] @operator - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "." - "," - ";" -] @punctuation.delimiter - -;; #BFBDB6 #000000 0 0 0 0 1 -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #7dcfff #000000 0 0 0 0 2 -(template_substitution - "${" @punctuation.special - "}" @punctuation.special) - -; ============================================================ -; JSX -; ============================================================ - -;; #59C2FF #000000 0 0 0 0 4 -(jsx_opening_element (identifier) @tag2) -(jsx_closing_element (identifier) @tag2) -(jsx_self_closing_element (identifier) @tag2) - -;; #F07178 #000000 0 0 0 0 3 -(jsx_attribute (property_identifier) @attribute2) - -;; #BFBDB6 #000000 0 0 0 0 3 -(jsx_opening_element (["<" ">"]) @punctuation.bracket2) -(jsx_closing_element ([""]) @punctuation.bracket2) -(jsx_self_closing_element (["<" "/>"]) @punctuation.bracket2) - -; Injections - -;; !regex -(regex) @string.regex diff --git a/grammar/yaml.scm b/grammar/yaml.scm deleted file mode 100644 index a401251..0000000 --- a/grammar/yaml.scm +++ /dev/null @@ -1,98 +0,0 @@ -;; #F29668 #000000 0 0 0 0 1 -(boolean_scalar) @boolean - -;; #F07178 #000000 0 0 0 0 1 -(null_scalar) @constant.builtin - -;; #AAD94C #000000 0 0 0 0 0 -[ - (double_quote_scalar) - (single_quote_scalar) -] @string - -;; #FFFFFF #000000 0 0 0 0 0 -[ - (block_scalar) - (string_scalar) -] @string.abs - -;; #7dcfff #000000 0 0 0 0 2 -[ - (integer_scalar) - (float_scalar) -] @number - -;; #99ADBF #000000 0 1 0 0 1 -(comment) @comment - -;; #D2A6FF #000000 0 0 0 0 1 -[ - (anchor_name) - (alias_name) -] @label - -;; #7dcfff #000000 0 0 0 0 2 -(tag) @type - -;; #F07178 #000000 0 0 0 0 1 -[ - (yaml_directive) - (tag_directive) - (reserved_directive) -] @attribute - -;; #D2A6FF #000000 0 0 0 0 1 -(block_mapping_pair - key: (flow_node - [ - (double_quote_scalar) - (single_quote_scalar) - ] @property)) - -;; #D2A6FF #000000 0 0 0 0 1 -(block_mapping_pair - key: (flow_node - (plain_scalar - (string_scalar) @property))) - -;; #D2A6FF #000000 0 0 0 0 1 -(flow_mapping - (_ - key: (flow_node - [ - (double_quote_scalar) - (single_quote_scalar) - ] @property))) - -;; #D2A6FF #000000 0 0 0 0 1 -(flow_mapping - (_ - key: (flow_node - (plain_scalar - (string_scalar) @property)))) - -;; #F38BA8 #000000 0 1 0 0 3 -[ - "," - "-" - ":" - ">" - "?" - "|" -] @punctuation.delimiter - -;; #888888 #000000 0 0 0 0 3 -[ - "[" - "]" - "{" - "}" -] @punctuation.bracket - -;; #AAD94C #000000 0 1 0 0 3 -[ - "*" - "&" - "---" - "..." -] @punctuation.special