diff options
| author | Romain Beauxis <toots@rastageeks.org> | 2023-10-04 09:58:10 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-04 10:58:10 -0400 |
| commit | 691fdc61a13ecca2f5cf0c2abda4b5da87c54893 (patch) | |
| tree | b5edb683047e9d41267f087401c5c8622c488398 /queries/liquidsoap | |
| parent | fix(c): add missing folds (diff) | |
| download | nvim-treesitter-691fdc61a13ecca2f5cf0c2abda4b5da87c54893.tar nvim-treesitter-691fdc61a13ecca2f5cf0c2abda4b5da87c54893.tar.gz nvim-treesitter-691fdc61a13ecca2f5cf0c2abda4b5da87c54893.tar.bz2 nvim-treesitter-691fdc61a13ecca2f5cf0c2abda4b5da87c54893.tar.lz nvim-treesitter-691fdc61a13ecca2f5cf0c2abda4b5da87c54893.tar.xz nvim-treesitter-691fdc61a13ecca2f5cf0c2abda4b5da87c54893.tar.zst nvim-treesitter-691fdc61a13ecca2f5cf0c2abda4b5da87c54893.zip | |
feat: add liquidsoap
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Diffstat (limited to 'queries/liquidsoap')
| -rw-r--r-- | queries/liquidsoap/folds.scm | 21 | ||||
| -rw-r--r-- | queries/liquidsoap/highlights.scm | 85 | ||||
| -rw-r--r-- | queries/liquidsoap/indents.scm | 54 | ||||
| -rw-r--r-- | queries/liquidsoap/locals.scm | 15 |
4 files changed, 175 insertions, 0 deletions
diff --git a/queries/liquidsoap/folds.scm b/queries/liquidsoap/folds.scm new file mode 100644 index 000000000..9b0d12efa --- /dev/null +++ b/queries/liquidsoap/folds.scm @@ -0,0 +1,21 @@ +[ + (let) + (binding) + (simple_fun) + (def) + (arglist) + (if) + (if_condition) + (if_then) + (elsif_condition) + (elsif_then) + (if_else) + (for) + (for_do) + (while) + (while_do) + (try) + (try_body) + (try_do) + (block) +] @fold diff --git a/queries/liquidsoap/highlights.scm b/queries/liquidsoap/highlights.scm new file mode 100644 index 000000000..fcf553e3b --- /dev/null +++ b/queries/liquidsoap/highlights.scm @@ -0,0 +1,85 @@ +(var) @variable + +(op) @operator +["and" "or" "not"] @keyword.operator + +[ + "def" + "fun" + "def_end" +] @keyword.function + +(let_decoration) @keyword.coroutine + +[ + "open" + "begin" + "block_end" + "let" +] @keyword + +[ + "while" + "do" + "to" + "for" + "for_end" + "while_end" +] @repeat + +[ + "if" + "then" + "elsif" + "else" + "if_end" +] @conditional + +[ + "try" + "catch" + "try_end" +] @exception + +(inline_if [ "?" ":" ] @conditional.ternary) + +[ + "%ifdef" + "%ifndef" + "%ifencoder" + "%ifnencoder" + "%ifversion" + "%else" + "%endif" + "%argsof" + "%include" +] @preproc + +(encoder_name) @constant.builtin + +(anonymous_argument (var) @parameter) +(labeled_argument label: (var) @parameter) + +"." @punctuation.delimiter + +[ + "(" + ")" + "[" + "]" + "{" + "}" +] @punctuation.bracket + +(app name: (var) @function.call) +(method) @method +(method_app) @method.call + +(string) @string +(string_interpolation [ "#{" "}" ] @punctuation.special) +(integer) @number +(float) @float +(bool) @boolean +(comment) @comment +(regexp) @string.regex +(type) @type diff --git a/queries/liquidsoap/indents.scm b/queries/liquidsoap/indents.scm new file mode 100644 index 000000000..ce8c02b53 --- /dev/null +++ b/queries/liquidsoap/indents.scm @@ -0,0 +1,54 @@ +[ + "%ifdef" + "%ifndef" + "%ifencoder" + "%ifnencoder" + "%ifversion" + "%else" + "%endif" + "%argsof" + "%include" +] @indent.zero + +[ + "if" + "def" + "let" + "for" + "while" + "try" + "{" + "[" + "(" +] @indent.begin + +(ERROR "def") @indent.begin + +(def "def_end" @indent.end) +(if "if_end" @indent.end) +(block "block_end" @indent.end) +(for "for_end" @indent.end) +(while "while_end" @indent.end) +(try "try_end" @indent.end) + +[ + "then" + "do" + "else" + "elsif" + "catch" +] @indent.branch + +[ + "def_end" + "if_end" + "block_end" + "for_end" + "while_end" + "try_end" + "}" + "]" + ")" +] @indent.branch @indent.end + +(comment) @indent.auto diff --git a/queries/liquidsoap/locals.scm b/queries/liquidsoap/locals.scm new file mode 100644 index 000000000..1d67bc55a --- /dev/null +++ b/queries/liquidsoap/locals.scm @@ -0,0 +1,15 @@ +[(anonymous_function) (binding) (def) (let)] @scope + +(anonymous_argument (var) @definition.parameter) +(labeled_argument label: (var) @definition.parameter) + +(binding + defined: (var) @definition.var) +(def defined: (var) @definition.var) +(let defined: (var) @definition.var) +(meth_pattern (var) @definition.var) +(list_pattern (var) @definition.var) +(tuple_pattern (var) @definition.var) +(spread (var) @definition.var) + +(var) @reference |
