diff options
author | Dan Field | 2023-11-18 08:11:18 +0000 |
---|---|---|
committer | GitHub | 2023-11-18 08:11:18 +0000 |
commit | b306b25e82a33b4704846ab4fce9b10b2ee7f67c (patch) | |
tree | 8b01712f83992e30da8a0ffc8b307b6a59d68f1b /runtime/queries/gn | |
parent | 6bf5548dbdfd1df6abe6323bd46b6e051168d94e (diff) |
GN language support (#6969)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
Diffstat (limited to 'runtime/queries/gn')
-rw-r--r-- | runtime/queries/gn/highlights.scm | 42 | ||||
-rw-r--r-- | runtime/queries/gn/injections.scm | 15 | ||||
-rw-r--r-- | runtime/queries/gn/locals.scm | 16 |
3 files changed, 73 insertions, 0 deletions
diff --git a/runtime/queries/gn/highlights.scm b/runtime/queries/gn/highlights.scm new file mode 100644 index 00000000..ff619db1 --- /dev/null +++ b/runtime/queries/gn/highlights.scm @@ -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 diff --git a/runtime/queries/gn/injections.scm b/runtime/queries/gn/injections.scm new file mode 100644 index 00000000..55864c29 --- /dev/null +++ b/runtime/queries/gn/injections.scm @@ -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")) diff --git a/runtime/queries/gn/locals.scm b/runtime/queries/gn/locals.scm new file mode 100644 index 00000000..e8bd995c --- /dev/null +++ b/runtime/queries/gn/locals.scm @@ -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) |