From 30744646cb0fab64a87f20c98bff033007512323 Mon Sep 17 00:00:00 2001 From: ath3 Date: Mon, 8 Nov 2021 02:05:12 +0100 Subject: Perl support (#978) --- runtime/queries/perl/highlights.scm | 181 +++++++++++++++++++++++++++++++++++ runtime/queries/perl/textobjects.scm | 8 ++ 2 files changed, 189 insertions(+) create mode 100644 runtime/queries/perl/highlights.scm create mode 100644 runtime/queries/perl/textobjects.scm (limited to 'runtime/queries') diff --git a/runtime/queries/perl/highlights.scm b/runtime/queries/perl/highlights.scm new file mode 100644 index 00000000..b6f04291 --- /dev/null +++ b/runtime/queries/perl/highlights.scm @@ -0,0 +1,181 @@ +; Variables +(variable_declaration + . + (scope) @keyword) +[ +(single_var_declaration) +(scalar_variable) +(array_variable) +(hash_variable) +(hash_variable) +] @variable + + +[ +(package_name) +(special_scalar_variable) +(special_array_variable) +(special_hash_variable) +(special_literal) +(super) +] @constant + +( + [ + (package_name) + (super) + ] + . + ("::" @operator) +) + +(comments) @comment +(pod_statement) @comment.block.documentation + +[ +(use_no_statement) +(use_no_feature_statement) +(use_no_if_statement) +(use_no_version) +(use_constant_statement) +(use_parent_statement) +] @keyword + +(use_constant_statement + constant: (identifier) @constant) + +[ +"require" +] @keyword + +(method_invocation + . + (identifier) @variable) + +(method_invocation + (arrow_operator) + . + (identifier) @function) +(method_invocation + function_name: (identifier) @function) +(named_block_statement + function_name: (identifier) @function) + +(call_expression + function_name: (identifier) @function) +(function_definition + name: (identifier) @function) +[ +(function) +(map) +(grep) +(bless) +] @function + +[ +"return" +"sub" +"package" +"BEGIN" +"END" +] @keyword.function + +[ +"(" +")" +"[" +"]" +"{" +"}" +] @punctuation.bracket +(standard_input_to_variable) @punctuation.bracket + +[ +"=~" +"or" +"=" +"==" +"+" +"-" +"." +"//" +"||" +(arrow_operator) +(hash_arrow_operator) +(array_dereference) +(hash_dereference) +(to_reference) +(type_glob) +(hash_access_variable) +(ternary_expression) +(ternary_expression_in_hash) +] @operator + +[ +(regex_option) +(regex_option_for_substitution) +(regex_option_for_transliteration) +] @variable.parameter + +(type_glob + (identifier) @variable) +( + (scalar_variable) + . + ("->" @operator)) + +[ +(word_list_qw) +(command_qx_quoted) +(string_single_quoted) +(string_double_quoted) +(string_qq_quoted) +(bareword) +(transliteration_tr_or_y) +] @string + +[ +(regex_pattern_qr) +(patter_matcher_m) +(substitution_pattern_s) +] @string.regexp + +(escape_sequence) @string.special + +[ +"," +(semi_colon) +(start_delimiter) +(end_delimiter) +(ellipsis_statement) +] @punctuation.delimiter + +[ +(integer) +(floating_point) +(scientific_notation) +(hexadecimal) +] @constant.numeric + +[ +; (if_statement) +(unless_statement) +(if_simple_statement) +(unless_simple_statement) +] @keyword.control.conditional + +[ +"if" +"elsif" +"else" +] @keyword.control.conditional + +(foreach_statement) @keyword.control.repeat +(foreach_statement + . + (scope) @keyword) + +(function_attribute) @label + +(function_signature) @type + diff --git a/runtime/queries/perl/textobjects.scm b/runtime/queries/perl/textobjects.scm new file mode 100644 index 00000000..988e22b4 --- /dev/null +++ b/runtime/queries/perl/textobjects.scm @@ -0,0 +1,8 @@ +(function_definition + (identifier) (_) @function.inside) @function.around + +(anonymous_function + (_) @function.inside) @function.around + +(argument + (_) @parameter.inside) -- cgit v1.2.3-70-g09d2 From 3f0345ff5814cea1d733ec2c5d846db66de29af6 Mon Sep 17 00:00:00 2001 From: Mateusz S. Szczygieł Date: Mon, 8 Nov 2021 16:48:00 +0100 Subject: glsl support (#993) * add glsl language support * glsl: use indents.toml file--- .gitmodules | 4 ++++ helix-syntax/languages/tree-sitter-glsl | 1 + languages.toml | 8 +++++++ runtime/queries/glsl/folds.scm | 1 + runtime/queries/glsl/highlights.scm | 37 +++++++++++++++++++++++++++++++++ runtime/queries/glsl/indents.toml | 19 +++++++++++++++++ runtime/queries/glsl/injections.scm | 3 +++ runtime/queries/glsl/locals.scm | 1 + 8 files changed, 74 insertions(+) create mode 160000 helix-syntax/languages/tree-sitter-glsl create mode 100644 runtime/queries/glsl/folds.scm create mode 100644 runtime/queries/glsl/highlights.scm create mode 100644 runtime/queries/glsl/indents.toml create mode 100644 runtime/queries/glsl/injections.scm create mode 100644 runtime/queries/glsl/locals.scm (limited to 'runtime/queries') diff --git a/.gitmodules b/.gitmodules index 5c6f22cd..bf596bdc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -134,6 +134,10 @@ path = helix-syntax/languages/tree-sitter-cmake url = https://github.com/uyha/tree-sitter-cmake shallow = true +[submodule "helix-syntax/languages/tree-sitter-glsl"] + path = helix-syntax/languages/tree-sitter-glsl + url = https://github.com/theHamsta/tree-sitter-glsl.git + shallow = true [submodule "helix-syntax/languages/tree-sitter-perl"] path = helix-syntax/languages/tree-sitter-perl url = https://github.com/ganezdragon/tree-sitter-perl diff --git a/helix-syntax/languages/tree-sitter-glsl b/helix-syntax/languages/tree-sitter-glsl new file mode 160000 index 00000000..88408ffc --- /dev/null +++ b/helix-syntax/languages/tree-sitter-glsl @@ -0,0 +1 @@ +Subproject commit 88408ffc5e27abcffced7010fc77396ae3636d7e diff --git a/languages.toml b/languages.toml index 067138e4..45fc2ab2 100644 --- a/languages.toml +++ b/languages.toml @@ -401,6 +401,14 @@ comment-token = "#" indent = { tab-width = 2, unit = " " } language-server = { command = "cmake-language-server" } +[[language]] +name = "glsl" +scope = "source.glsl" +file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ] +roots = [] +comment-token = "//" +indent = { tab-width = 4, unit = " " } + [[language]] name = "perl" scope = "source.perl" diff --git a/runtime/queries/glsl/folds.scm b/runtime/queries/glsl/folds.scm new file mode 100644 index 00000000..a5a5208c --- /dev/null +++ b/runtime/queries/glsl/folds.scm @@ -0,0 +1 @@ +; inherits: c diff --git a/runtime/queries/glsl/highlights.scm b/runtime/queries/glsl/highlights.scm new file mode 100644 index 00000000..af2a049f --- /dev/null +++ b/runtime/queries/glsl/highlights.scm @@ -0,0 +1,37 @@ +; inherits: c + +[ + "in" + "out" + "inout" + "uniform" + "shared" + "layout" + "attribute" + "varying" + "buffer" + "coherent" + "readonly" + "writeonly" + "precision" + "highp" + "mediump" + "lowp" + "centroid" + "sample" + "patch" + "smooth" + "flat" + "noperspective" + "invariant" + "precise" +] @keyword + +"subroutine" @keyword.function + +(extension_storage_class) @attribute + +( + (identifier) @variable.builtin + (#match? @variable.builtin "^gl_") +) diff --git a/runtime/queries/glsl/indents.toml b/runtime/queries/glsl/indents.toml new file mode 100644 index 00000000..a7fd499a --- /dev/null +++ b/runtime/queries/glsl/indents.toml @@ -0,0 +1,19 @@ +indent = [ + "init_declarator", + "compound_statement", + "preproc_arg", + "field_declaration_list", + "case_statement", + "conditional_expression", + "enumerator_list", + "struct_specifier", + "compound_literal_expression" +] + +outdent = [ + "#define", + "#ifdef", + "#endif", + "{", + "}" +] diff --git a/runtime/queries/glsl/injections.scm b/runtime/queries/glsl/injections.scm new file mode 100644 index 00000000..7d3323b1 --- /dev/null +++ b/runtime/queries/glsl/injections.scm @@ -0,0 +1,3 @@ +(preproc_arg) @glsl + +(comment) @comment diff --git a/runtime/queries/glsl/locals.scm b/runtime/queries/glsl/locals.scm new file mode 100644 index 00000000..a5a5208c --- /dev/null +++ b/runtime/queries/glsl/locals.scm @@ -0,0 +1 @@ +; inherits: c -- cgit v1.2.3-70-g09d2 From e0540fbcc4f0c31cc968a127dedc9a6d594603ae Mon Sep 17 00:00:00 2001 From: Mateusz S. Szczygieł Date: Wed, 10 Nov 2021 17:01:19 +0100 Subject: Add json indents.toml file (#1055) * add glsl language support * glsl: use indents.toml file * add json indents.toml--- runtime/queries/json/indents.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 runtime/queries/json/indents.toml (limited to 'runtime/queries') diff --git a/runtime/queries/json/indents.toml b/runtime/queries/json/indents.toml new file mode 100644 index 00000000..64a8d175 --- /dev/null +++ b/runtime/queries/json/indents.toml @@ -0,0 +1,9 @@ +indent = [ + "object", + "array" +] + +outdent = [ + "]", + "}" +] -- cgit v1.2.3-70-g09d2