mirror of
https://github.com/chenasraf/nvim-treesitter.git
synced 2026-05-17 17:38:02 +00:00
feat(parsers)!: remove gitlab-hosted blueprint, fusion, jsonc
Problem: Gitlab has too frequent outages, which break automation. Solution: Drop all Gitlab-hosted parsers (two of which have been unmaintained for years).
This commit is contained in:
committed by
Christian Clason
parent
d72fa25b54
commit
d2350758b3
@@ -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);
|
||||
|
||||
3
SUPPORTED_LANGUAGES.md
generated
3
SUPPORTED_LANGUAGES.md
generated
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
@@ -1,2 +0,0 @@
|
||||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
@@ -1,6 +0,0 @@
|
||||
[
|
||||
(comment)
|
||||
(block)
|
||||
(afx_comment)
|
||||
(afx_element)
|
||||
] @fold
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -1,5 +0,0 @@
|
||||
([
|
||||
(comment)
|
||||
(afx_comment)
|
||||
] @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
@@ -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)
|
||||
@@ -1 +0,0 @@
|
||||
; inherits: json
|
||||
@@ -1,3 +0,0 @@
|
||||
; inherits: json
|
||||
|
||||
(comment) @comment @spell
|
||||
@@ -1,3 +0,0 @@
|
||||
; inherits: json
|
||||
|
||||
(comment) @indent.ignore
|
||||
@@ -1,2 +0,0 @@
|
||||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
@@ -1 +0,0 @@
|
||||
; inherits: json
|
||||
@@ -1,17 +0,0 @@
|
||||
property = afx`
|
||||
<!-- some comment -->
|
||||
<!-- ^@comment -->
|
||||
|
||||
<div attribute="value">text</div>
|
||||
<!-- ^@tag -->
|
||||
<!-- ^@tag.attribute -->
|
||||
<!-- ^@string -->
|
||||
<!-- ^@punctuation.bracket -->
|
||||
<!-- ^@tag -->
|
||||
|
||||
<Namespace:Type {...spread} some={(a) => true} />
|
||||
<!-- ^@tag -->
|
||||
<!-- ^@variable -->
|
||||
<!-- ^@variable -->
|
||||
<!-- ^@boolean -->
|
||||
`
|
||||
@@ -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
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user