diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c4ec8e19..0dc03947 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,6 +42,9 @@ zimbu = { >[!IMPORTANT] > The "maintainers" here refers to the person maintaining the **queries** in `nvim-treesitter`, not the parser maintainers (who likely don't use Neovim). The maintainers' duty is to review issues and PRs related to the query and to keep them updated with respect to parser changes. +>[!IMPORTANT] +> Due to reliability issues with smaller codeforges, only Github-hosted parsers are currently eligible for inclusion. (The development may happen elsewhere, but there must at least exist a Github mirror to pull the source from.) We are monitoring the situation and hope to support more codeforges again in the future. + >[!NOTE] > To qualify for Tier 1 ("stable"), a parser needs to > * make releases following semver (_patch_ for fixes not affecting queries; _minor_ for changes introducing new nodes or patterns; _major_ for changes removing nodes or previously valid patterns); diff --git a/SUPPORTED_LANGUAGES.md b/SUPPORTED_LANGUAGES.md index 7a3380cd..695171c1 100644 --- a/SUPPORTED_LANGUAGES.md +++ b/SUPPORTED_LANGUAGES.md @@ -28,7 +28,6 @@ Language | Tier | Queries | Maintainer [bicep](https://github.com/tree-sitter-grammars/tree-sitter-bicep) | unstable | `HFIJL` | @amaanq [bitbake](https://github.com/tree-sitter-grammars/tree-sitter-bitbake) | unstable | `HFIJL` | @amaanq [blade](https://github.com/EmranMR/tree-sitter-blade) | unstable | `HFIJ ` | @calebdw -[blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint) | unstable | `H  J ` | @gabmus [bp](https://github.com/ambroisie/tree-sitter-bp)[^bp] | unstable | `HFIJL` | @ambroisie [brightscript](https://github.com/ajdelcimmuto/tree-sitter-brightscript) | unstable | `HFIJ ` | @ajdelcimmuto [c](https://github.com/tree-sitter/tree-sitter-c) | unstable | `HFIJL` | @amaanq @@ -89,7 +88,6 @@ ecma (queries only)[^ecma] | unstable | `HFIJL` | @steelsojka [fsh](https://github.com/mgramigna/tree-sitter-fsh) | unstable | `H  J ` | @mgramigna [fsharp](https://github.com/ionide/tree-sitter-fsharp) | unstable | `H  J ` | @nsidorenco [func](https://github.com/tree-sitter-grammars/tree-sitter-func) | unstable | `H  J ` | @amaanq -[fusion](https://gitlab.com/jirgn/tree-sitter-fusion) | unstable | `HFIJL` | @jirgn [gap](https://github.com/gap-system/tree-sitter-gap)[^gap] | unstable | `HF JL` | @reiniscirpons [gaptst](https://github.com/gap-system/tree-sitter-gaptst)[^gaptst] | unstable | `HF J ` | @reiniscirpons [gdscript](https://github.com/PrestonKnopp/tree-sitter-gdscript)[^gdscript] | unmaintained | `HFIJL` | @@ -152,7 +150,6 @@ html_tags (queries only)[^html_tags] | unstable | `H IJ ` | @TravonteD [jsdoc](https://github.com/tree-sitter/tree-sitter-jsdoc) | unstable | `H    ` | @steelsojka [json](https://github.com/tree-sitter/tree-sitter-json) | unstable | `HFI L` | @steelsojka [json5](https://github.com/Joakker/tree-sitter-json5) | unstable | `H  J ` | @Joakker -[jsonc](https://gitlab.com/WhyNotHugo/tree-sitter-jsonc) | unstable | `HFIJL` | @WhyNotHugo [jsonnet](https://github.com/sourcegraph/tree-sitter-jsonnet) | unstable | `HF JL` | @nawordar jsx (queries only)[^jsx] | unstable | `HFIJ ` | @steelsojka [julia](https://github.com/tree-sitter-grammars/tree-sitter-julia) | unstable | `HFIJL` | @clason diff --git a/lua/nvim-treesitter/_meta/parsers.lua b/lua/nvim-treesitter/_meta/parsers.lua index 5af809bb..3a97b35a 100644 --- a/lua/nvim-treesitter/_meta/parsers.lua +++ b/lua/nvim-treesitter/_meta/parsers.lua @@ -3,7 +3,7 @@ error('Cannot require a meta file') ---@class InstallInfo --- ----URL of parser repo (Github/Gitlab) +---URL of parser repo (Github) ---@field url string --- ---Commit hash of parser to download (compatible with queries) diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 304e3a24..1351a00d 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -131,14 +131,6 @@ return { maintainers = { '@calebdw' }, tier = 2, }, - blueprint = { - install_info = { - revision = '355ef84ef8a958ac822117b652cf4d49bac16c79', - url = 'https://gitlab.com/gabmus/tree-sitter-blueprint', - }, - maintainers = { '@gabmus' }, - tier = 2, - }, bp = { install_info = { revision = 'ee641d15390183d7535777947ce0f2f1fbcee69f', @@ -623,14 +615,6 @@ return { maintainers = { '@amaanq' }, tier = 2, }, - fusion = { - install_info = { - revision = '19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6', - url = 'https://gitlab.com/jirgn/tree-sitter-fusion', - }, - maintainers = { '@jirgn' }, - tier = 2, - }, gap = { install_info = { revision = '2bac14863b76ad0ff6fd7204c50574732acd66df', @@ -1142,15 +1126,6 @@ return { maintainers = { '@Joakker' }, tier = 2, }, - jsonc = { - install_info = { - revision = '02b01653c8a1c198ae7287d566efa86a135b30d5', - url = 'https://gitlab.com/WhyNotHugo/tree-sitter-jsonc', - }, - maintainers = { '@WhyNotHugo' }, - requires = { 'json' }, - tier = 2, - }, jsonnet = { install_info = { revision = 'ddd075f1939aed8147b7aa67f042eda3fce22790', diff --git a/runtime/queries/blueprint/highlights.scm b/runtime/queries/blueprint/highlights.scm deleted file mode 100644 index f3c39f23..00000000 --- a/runtime/queries/blueprint/highlights.scm +++ /dev/null @@ -1,75 +0,0 @@ -(object_id) @variable - -(string) @string - -(escape_sequence) @string.escape - -(comment) @comment @spell - -(constant) @constant.builtin - -(boolean) @boolean - -(using) @keyword.import - -(template) @keyword - -(decorator) @attribute - -(property_definition - (property_name) @property) - -(object) @type - -(signal_binding - (signal_name) @function.builtin) - -(signal_binding - (function - (identifier)) @function) - -(signal_binding - "swapped" @keyword) - -(styles_list - "styles" @function.macro) - -(layout_definition - "layout" @function.macro) - -(gettext_string - "_" @function.builtin) - -(menu_definition - "menu" @keyword) - -(menu_section - "section" @keyword) - -(menu_item - "item" @function.macro) - -(import_statement - (gobject_library) @module) - -(import_statement - (version_number) @number.float) - -(float) @number.float - -(number) @number - -[ - ";" - "." - "," -] @punctuation.delimiter - -[ - "(" - ")" - "[" - "]" - "{" - "}" -] @punctuation.bracket diff --git a/runtime/queries/blueprint/injections.scm b/runtime/queries/blueprint/injections.scm deleted file mode 100644 index 2f0e58eb..00000000 --- a/runtime/queries/blueprint/injections.scm +++ /dev/null @@ -1,2 +0,0 @@ -((comment) @injection.content - (#set! injection.language "comment")) diff --git a/runtime/queries/fusion/folds.scm b/runtime/queries/fusion/folds.scm deleted file mode 100644 index 179fc160..00000000 --- a/runtime/queries/fusion/folds.scm +++ /dev/null @@ -1,6 +0,0 @@ -[ - (comment) - (block) - (afx_comment) - (afx_element) -] @fold diff --git a/runtime/queries/fusion/highlights.scm b/runtime/queries/fusion/highlights.scm deleted file mode 100644 index 7108e570..00000000 --- a/runtime/queries/fusion/highlights.scm +++ /dev/null @@ -1,132 +0,0 @@ -(comment) @comment @spell - -(afx_comment) @comment @spell - -; identifiers afx -(afx_opening_element - (afx_identifier) @tag) - -(afx_closing_element - (afx_identifier) @tag) - -(afx_element_self_closing - (afx_identifier) @tag) - -(afx_attribute - (afx_property_identifier) @tag.attribute) - -(afx_text) @spell - -; identifiers eel -(eel_object_path - (eel_path_identifier) @variable.builtin - (#any-of? @variable.builtin "this" "props")) - -(eel_object_path - (eel_path_identifier) @variable) - -(eel_object_pair - key: (eel_property_name) @property) - -(eel_method_name) @function - -(eel_parameter) @variable - -; identifiers fusion -; ----------- -(path_part) @property - -(meta_property) @attribute - -(prototype_signature - "prototype" @keyword) - -(include_statement - "include" @keyword.import - (source_file) @string.special.url) - -(namespace_declaration - "namespace" @keyword.type - (alias_namespace) @module) - -(type - name: (type_name) @type) - -; tokens -; ------ -(afx_opening_element - [ - "<" - ">" - ] @punctuation.bracket) - -(afx_closing_element - [ - "<" - ">" - "/" - ] @punctuation.bracket) - -(afx_element_self_closing - [ - "<" - "/>" - ] @punctuation.bracket) - -[ - (package_name) - (alias_namespace) -] @module - -(namespace_declaration - "=" @operator) - -(assignment - "=" @operator) - -(copy - "<" @operator) - -(deletion) @operator - -(eel_binary_expression - operator: _ @operator) - -(eel_not_expression - [ - "!" - "not" - ] @operator) - -(string) @string - -(number) @number - -(boolean) @boolean - -(null) @constant.builtin - -(value_expression - start: _ @punctuation.special - end: _ @punctuation.special) - -[ - "(" - ")" - "{" - "}" - "[" - "]" -] @punctuation.bracket - -[ - ":" - "." - "?" -] @punctuation.delimiter - -(eel_ternary_expression - [ - "?" - ":" - ] @keyword.conditional.ternary) diff --git a/runtime/queries/fusion/indents.scm b/runtime/queries/fusion/indents.scm deleted file mode 100644 index 0ba6cf75..00000000 --- a/runtime/queries/fusion/indents.scm +++ /dev/null @@ -1,24 +0,0 @@ -[ - (block) - (value_dsl) - (afx_element) - (afx_element_self_closing) - (eel_array) - (eel_object) -] @indent.begin - -(block - end: _ @indent.branch) - -(value_dsl - end: _ @indent.branch) - -(eel_array - end: _ @indent.branch) - -(eel_object - end: _ @indent.branch) - -(afx_closing_element) @indent.branch - -(comment) @indent.ignore diff --git a/runtime/queries/fusion/injections.scm b/runtime/queries/fusion/injections.scm deleted file mode 100644 index 085cdb45..00000000 --- a/runtime/queries/fusion/injections.scm +++ /dev/null @@ -1,5 +0,0 @@ -([ - (comment) - (afx_comment) -] @injection.content - (#set! injection.language "comment")) diff --git a/runtime/queries/fusion/locals.scm b/runtime/queries/fusion/locals.scm deleted file mode 100644 index d23e0ab4..00000000 --- a/runtime/queries/fusion/locals.scm +++ /dev/null @@ -1,23 +0,0 @@ -; Fusion base -(block) @local.scope - -(namespace_declaration - (alias_namespace) @local.definition.namespace) - -(property - (path - (path_part) @local.definition.field)) - -(type - namespace: (package_name)? @local.definition.namespace - name: (type_name) @local.definition.type) - -; Eel Expressions -(eel_arrow_function) @local.scope - -(eel_object) @local.scope - -(eel_parameter) @local.definition.parameter - -(eel_object_pair - key: (eel_property_name) @local.definition.field) diff --git a/runtime/queries/jsonc/folds.scm b/runtime/queries/jsonc/folds.scm deleted file mode 100644 index 41269219..00000000 --- a/runtime/queries/jsonc/folds.scm +++ /dev/null @@ -1 +0,0 @@ -; inherits: json diff --git a/runtime/queries/jsonc/highlights.scm b/runtime/queries/jsonc/highlights.scm deleted file mode 100644 index e5011215..00000000 --- a/runtime/queries/jsonc/highlights.scm +++ /dev/null @@ -1,3 +0,0 @@ -; inherits: json - -(comment) @comment @spell diff --git a/runtime/queries/jsonc/indents.scm b/runtime/queries/jsonc/indents.scm deleted file mode 100644 index 3b01ca99..00000000 --- a/runtime/queries/jsonc/indents.scm +++ /dev/null @@ -1,3 +0,0 @@ -; inherits: json - -(comment) @indent.ignore diff --git a/runtime/queries/jsonc/injections.scm b/runtime/queries/jsonc/injections.scm deleted file mode 100644 index 2f0e58eb..00000000 --- a/runtime/queries/jsonc/injections.scm +++ /dev/null @@ -1,2 +0,0 @@ -((comment) @injection.content - (#set! injection.language "comment")) diff --git a/runtime/queries/jsonc/locals.scm b/runtime/queries/jsonc/locals.scm deleted file mode 100644 index 41269219..00000000 --- a/runtime/queries/jsonc/locals.scm +++ /dev/null @@ -1 +0,0 @@ -; inherits: json diff --git a/tests/query/highlights/fusion/afx.fusion b/tests/query/highlights/fusion/afx.fusion deleted file mode 100644 index 4ccb8174..00000000 --- a/tests/query/highlights/fusion/afx.fusion +++ /dev/null @@ -1,17 +0,0 @@ -property = afx` - - - -
text
- - - - - - - true} /> - - - - -` diff --git a/tests/query/highlights/fusion/basic.fusion b/tests/query/highlights/fusion/basic.fusion deleted file mode 100644 index 5f3cc346..00000000 --- a/tests/query/highlights/fusion/basic.fusion +++ /dev/null @@ -1,60 +0,0 @@ -include: SomeFile.fusion -//<- @keyword.import -// ^ @string.special.url - -namespace: ns = Neos.Fusion.Space -//<- @keyword.type -// ^ @module -// ^ @operator -// ^ @module - -prototype(MyType) < prototype(ns:SuperType) { -//<-keyword -// ^ @punctuation.bracket -// ^ @type -// ^ @punctuation.bracket -// ^ @operator -// ^ @module -// ^ @type - - deleteProp > - // ^ @operator - - string = 'value' - //<- @property - // ^ @operator - // ^ @string - - number = 10.2 - // ^ @number - - null = null - // ^ @constant.builtin - - boolean = true - // ^ @boolean - - property.inner = "value" - //<- @property - // ^ @property - - property.@meta = "value" - //<- @property - // ^ @attribute - - property.type = SomeType - //<- @property - // ^ @type - - property.aliasedType = ns:SomeType - //<- @property - // ^ @module - // ^ @type - - property.fullQualifiedType = SomeNamespace:SomeType - //<- @property - // ^ @module - // ^ @type - -} - diff --git a/tests/query/highlights/fusion/expressions.fusion b/tests/query/highlights/fusion/expressions.fusion deleted file mode 100644 index b1822dda..00000000 --- a/tests/query/highlights/fusion/expressions.fusion +++ /dev/null @@ -1,82 +0,0 @@ -string = ${'foo'} -// ^string - -string = ${'foo \'bar\' baz'} -// ^string - -string = ${"foo"} -// ^string - -string = ${"foo ${test}"} -// ^string - -boolean = ${true} -// ^boolean - -number = ${1} -// ^number - -number = ${1.2} -// ^number - -propertyPath = ${property.path} -// ^variable -// ^variable - -thisorProps = ${this.path} -// ^variable.builtin -// ^variable - -thisorProps = ${props.path} -// ^variable.builtin -// ^variable - -array = ${[]} -// ^punctuation.bracket - -array = ${[true, 'string', 1, [true]]} -// ^punctuation.bracket -// ^boolean -// ^string -// ^number -// ^punctuation.bracket -// ^boolean - -object = ${{}} -// ^punctuation.bracket - -object = ${{first: 'value', second: true, third: [], fourth: object.path }} -// ^property -// ^string -// ^property -// ^boolean -// ^property -// ^punctuation.bracket -// ^property -// ^variable - -result = ${methodCall()} -// ^function - -result = ${Some.methodCall(param, param)} -// ^function -// ^variable -// ^variable - -arrowFunction = ${map(foo, (bar, buz) => bar * buz)} -// ^function -// ^variable -// ^variable - -logic = ${!foo && !(bar || baz) and not 'string'} -// ^operator -// ^operator -// ^operator -// ^operator -// ^operator - -ternary = ${ check ? true : false} -// ^@keyword.conditional.ternary -// ^@keyword.conditional.ternary - -