diff options
| author | TravonteD <tman1300@aol.com> | 2020-08-16 20:11:56 -0400 |
|---|---|---|
| committer | TravonteD <tman1300@aol.com> | 2020-08-16 20:40:33 -0400 |
| commit | 72905524c2ef78536dbe148f311e634815ead40b (patch) | |
| tree | 4f5bbe65d3aa4af51afe9e50e39fe061c22406f8 /queries | |
| parent | cf37d143bf29901bb59a3215085944322566568c (diff) | |
Add fennel support
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/fennel/highlights.scm | 123 | ||||
| -rw-r--r-- | queries/fennel/locals.scm | 45 |
2 files changed, 168 insertions, 0 deletions
diff --git a/queries/fennel/highlights.scm b/queries/fennel/highlights.scm new file mode 100644 index 00000000..f5f88962 --- /dev/null +++ b/queries/fennel/highlights.scm @@ -0,0 +1,123 @@ +(boolean) @boolean +(nil) @constant.builtin +(string) @string +(number) @number +(field) @constant +(comment) @comment +(identifier) @variable + +[ + "fn" + "lambda" + "hashfn" + "set" + "tset" + "λ" + "global" + "var" + "local" + "let" + "do" + "not" + "not=" + "_ENV" + "_G" + "_VERSION" + "arg" + "assert" + "collectgarbage" + "coroutine" + "debug" + "dofile" + "doto" + "error" + "eval-compiler" + "gensym" + "getmetatable" + "in-scope?" + "ipairs" + "list" + "list?" + "load" + "loadfile" + "loadstring" + "match" + "macro" + "macrodebug" + "macroexpand" + "macros" + "multi-sym?" + "next" + "pairs" + "package" + "pcall" + "print" + "rawequal" + "rawget" + "rawlen" + "rawset" + "select" + "sequence?" + "setmetatable" + "string" + "sym" + "sym?" + "table" + "table?" + "tonumber" + "tostring" + "type" + "unpack" + "varg?" + "xpcall" +] @keyword + +[ + "require" + "require-macros" + "import-macros" + "include" + ] @include + +[ + "each" + "for" + "while" +] @repeat + +[ + "if" + "when" +] @conditional + +[ + "(" + ")" + "{" + "}" + "[" + "]" +] @punctuation.bracket + +; hash function +"#" @function + +(function_definition + name: (identifier) @function) + +(lambda_definition + name: (identifier) @function) + +(function_call + name: (identifier) @function) + +(field_expression + (identifier) + "." @punctuation.delimiter + (identifier) @function) + +(field_expression + (identifier) + (field) @function) + +(parameters (identifier) @parameter) diff --git a/queries/fennel/locals.scm b/queries/fennel/locals.scm new file mode 100644 index 00000000..fb260596 --- /dev/null +++ b/queries/fennel/locals.scm @@ -0,0 +1,45 @@ +; Scope +[ + (program) + (function_definition) + (lambda_definition) + (let_definition) +] @scope + +; Functions +(function_definition + name: (identifier) @definition.function) +(lambda_definition + name: (identifier) @definition.function) + +; Variable Definitions +(local_definition + (assignment + (identifier) @definition.var)) +(var_definition + (assignment + (identifier) @definition.var)) +(global_definition + (assignment + (identifier) @definition.var)) +(assignment + (identifier) @definition.var) +(multi_value_assignment + (value_list + (identifier) @definition.var)) +(parameters + ((identifier) @definition.var)) +; iterators/loops +((each + (each_clause + (identifier) @definition.var)) @scope) +((for + (for_clause + (identifier) @definition.var)) @scope) + +; references +(set + (assignment (identifier) @reference)) +(function_call + name: (identifier) @reference) +(identifier) @reference |
