mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 01:16:18 +04:00
GN language support (#6969)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
This commit is contained in:
parent
6bf5548dbd
commit
b306b25e82
@ -54,6 +54,7 @@
|
||||
| git-rebase | ✓ | | | |
|
||||
| gleam | ✓ | ✓ | | `gleam` |
|
||||
| glsl | ✓ | ✓ | ✓ | |
|
||||
| gn | ✓ | | | |
|
||||
| go | ✓ | ✓ | ✓ | `gopls`, `golangci-lint-langserver` |
|
||||
| godot-resource | ✓ | | | |
|
||||
| gomod | ✓ | | | `gopls` |
|
||||
|
@ -2740,6 +2740,20 @@ indent = { tab-width = 4, unit = "\t" }
|
||||
name = "just"
|
||||
source = { git = "https://github.com/IndianBoy42/tree-sitter-just", rev = "8af0aab79854aaf25b620a52c39485849922f766" }
|
||||
|
||||
[[language]]
|
||||
name = "gn"
|
||||
scope = "source.gn"
|
||||
injection-regex = "gn"
|
||||
file-types = ["gn", "gni"]
|
||||
roots = []
|
||||
comment-token = "#"
|
||||
indent = { tab-width = 2, unit = " " }
|
||||
formatter = { command = "gn", args = ["format", "--stdin"] }
|
||||
|
||||
[[grammar]]
|
||||
name = "gn"
|
||||
source = { git = "https://github.com/willcassella/tree-sitter-gn", rev = "e18d6e36a79b20dafb58f19d407bd38b0e60260e" }
|
||||
|
||||
[[language]]
|
||||
name = "blueprint"
|
||||
scope = "source.blueprint"
|
||||
|
42
runtime/queries/gn/highlights.scm
Normal file
42
runtime/queries/gn/highlights.scm
Normal file
@ -0,0 +1,42 @@
|
||||
; Copyright (C) 2021 Will Cassella (github@willcassella.com)
|
||||
;
|
||||
; Licensed under the Apache License, Version 2.0 (the "License");
|
||||
; you may not use this file except in compliance with the License.
|
||||
; You may obtain a copy of the License at
|
||||
;
|
||||
; http://www.apache.org/licenses/LICENSE-2.0
|
||||
;
|
||||
; Unless required by applicable law or agreed to in writing, software
|
||||
; distributed under the License is distributed on an "AS IS" BASIS,
|
||||
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
; See the License for the specific language governing permissions and
|
||||
; limitations under the License.
|
||||
|
||||
(identifier) @variable.builtin
|
||||
|
||||
(scope_access field: (_) @variable.other.member)
|
||||
|
||||
(call target: (_) @function)
|
||||
|
||||
[ "if" "else" ] @keyword.control.conditional
|
||||
|
||||
[
|
||||
(assign_op)
|
||||
(arithmetic_binary_op)
|
||||
(comparison_binary_op)
|
||||
(equivalence_binary_op)
|
||||
(logical_and_binary_op)
|
||||
(logical_or_binary_op)
|
||||
(negation_unary_op)
|
||||
] @operator
|
||||
|
||||
[ "(" ")" "[" "]" "{" "}" ] @punctuation.bracket
|
||||
[ "." "," ] @punctuation.delimiter
|
||||
|
||||
(string) @string
|
||||
(string_escape) @constant.character.escape
|
||||
(string_expansion [ "$" "${" "}" ] @constant.character.escape)
|
||||
[ (integer) (hex) ] @constant.numeric
|
||||
(boolean) @constant.builtin.boolean
|
||||
|
||||
(comment) @comment
|
15
runtime/queries/gn/injections.scm
Normal file
15
runtime/queries/gn/injections.scm
Normal file
@ -0,0 +1,15 @@
|
||||
; Copyright (C) 2021 Will Cassella (github@willcassella.com)
|
||||
;
|
||||
; Licensed under the Apache License, Version 2.0 (the "License");
|
||||
; you may not use this file except in compliance with the License.
|
||||
; You may obtain a copy of the License at
|
||||
;
|
||||
; http://www.apache.org/licenses/LICENSE-2.0
|
||||
;
|
||||
; Unless required by applicable law or agreed to in writing, software
|
||||
; distributed under the License is distributed on an "AS IS" BASIS,
|
||||
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
; See the License for the specific language governing permissions and
|
||||
; limitations under the License.
|
||||
|
||||
((comment) @injection.content (#set! injection.language "comment"))
|
16
runtime/queries/gn/locals.scm
Normal file
16
runtime/queries/gn/locals.scm
Normal file
@ -0,0 +1,16 @@
|
||||
; Copyright (C) 2021 Will Cassella (github@willcassella.com)
|
||||
;
|
||||
; Licensed under the Apache License, Version 2.0 (the "License");
|
||||
; you may not use this file except in compliance with the License.
|
||||
; You may obtain a copy of the License at
|
||||
;
|
||||
; http://www.apache.org/licenses/LICENSE-2.0
|
||||
;
|
||||
; Unless required by applicable law or agreed to in writing, software
|
||||
; distributed under the License is distributed on an "AS IS" BASIS,
|
||||
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
; See the License for the specific language governing permissions and
|
||||
; limitations under the License.
|
||||
|
||||
(source_file) @local.scope
|
||||
(assignment target: (identifier) @local.definition)
|
Loading…
Reference in New Issue
Block a user