mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 01:16:18 +04:00
Add initial Smithy support (#6370)
This commit is contained in:
parent
b0ceac608e
commit
0e0c16e6fa
@ -123,6 +123,7 @@
|
||||
| scheme | ✓ | | | |
|
||||
| scss | ✓ | | | `vscode-css-language-server` |
|
||||
| slint | ✓ | | ✓ | `slint-lsp` |
|
||||
| smithy | ✓ | | | `cs` |
|
||||
| sml | ✓ | | | |
|
||||
| solidity | ✓ | | | `solc` |
|
||||
| sql | ✓ | | | |
|
||||
|
@ -2355,3 +2355,17 @@ indent = { tab-width = 2, unit = " " }
|
||||
[[grammar]]
|
||||
name = "capnp"
|
||||
source = { git = "https://github.com/amaanq/tree-sitter-capnp", rev = "fc6e2addf103861b9b3dffb82c543eb6b71061aa" }
|
||||
|
||||
[[language]]
|
||||
name = "smithy"
|
||||
scope = "source.smithy"
|
||||
injection-regex = "smithy"
|
||||
file-types = ["smithy"]
|
||||
roots = ["smithy-build.json"]
|
||||
comment-token = "//"
|
||||
indent = { tab-width = 4, unit = " " }
|
||||
language-server = { command = "cs", args = ["launch", "com.disneystreaming.smithy:smithy-language-server:latest.release", "--", "0"] }
|
||||
|
||||
[[grammar]]
|
||||
name = "smithy"
|
||||
source = { git = "https://github.com/indoorvivants/tree-sitter-smithy", rev = "cf8c7eb9faf7c7049839585eac19c94af231e6a0" }
|
||||
|
102
runtime/queries/smithy/highlights.scm
Normal file
102
runtime/queries/smithy/highlights.scm
Normal file
@ -0,0 +1,102 @@
|
||||
; Queries are taken from: https://github.com/indoorvivants/tree-sitter-smithy/blob/main/queries/highlights.scm
|
||||
; Preproc
|
||||
(control_key) @keyword.directive
|
||||
|
||||
; Namespace
|
||||
(namespace) @namespace
|
||||
|
||||
; Includes
|
||||
[
|
||||
"use"
|
||||
] @keyword.control.import
|
||||
|
||||
; Builtins
|
||||
(primitive) @type.builtin
|
||||
[
|
||||
"enum"
|
||||
"intEnum"
|
||||
"list"
|
||||
"map"
|
||||
"set"
|
||||
] @type.builtin
|
||||
|
||||
; Fields (Members)
|
||||
; (field) @variable.other.member
|
||||
|
||||
(key_identifier) @variable.other.member
|
||||
(shape_member
|
||||
(field) @variable.other.member)
|
||||
(operation_field) @variable.other.member
|
||||
(operation_error_field) @variable.other.member
|
||||
|
||||
; Constants
|
||||
(enum_member
|
||||
(enum_field) @type.enum)
|
||||
|
||||
; Types
|
||||
(identifier) @type
|
||||
(structure_resource
|
||||
(shape_id) @type)
|
||||
|
||||
; Attributes
|
||||
(mixins
|
||||
(shape_id) @attribute)
|
||||
(trait_statement
|
||||
(shape_id) @attribute)
|
||||
|
||||
; Operators
|
||||
[
|
||||
"@"
|
||||
"-"
|
||||
"="
|
||||
":="
|
||||
] @operator
|
||||
|
||||
; Keywords
|
||||
[
|
||||
"namespace"
|
||||
"service"
|
||||
"structure"
|
||||
"operation"
|
||||
"union"
|
||||
"resource"
|
||||
"metadata"
|
||||
"apply"
|
||||
"for"
|
||||
"with"
|
||||
] @keyword
|
||||
|
||||
; Literals
|
||||
(string) @string
|
||||
(escape_sequence) @constant.character.escape
|
||||
|
||||
(number) @constant.numeric
|
||||
|
||||
(float) @constant.numeric.float
|
||||
|
||||
(boolean) @constant.builtin.boolean
|
||||
|
||||
(null) @constant.builtin
|
||||
|
||||
; Misc
|
||||
[
|
||||
"$"
|
||||
"#"
|
||||
] @punctuation.special
|
||||
|
||||
["{" "}"] @punctuation.bracket
|
||||
|
||||
["(" ")"] @punctuation.bracket
|
||||
|
||||
["[" "]"] @punctuation.bracket
|
||||
|
||||
[
|
||||
":"
|
||||
"."
|
||||
] @punctuation.delimiter
|
||||
|
||||
; Comments
|
||||
[
|
||||
(comment)
|
||||
(documentation_comment)
|
||||
] @comment
|
Loading…
Reference in New Issue
Block a user