Add svelte language server

Add svelte tree sitter
Add svelte config file
Add svelte highlighting
This commit is contained in:
Mikayla Maki 2023-07-13 21:43:53 -07:00
parent 415b8f0147
commit 1424a7a56a
No known key found for this signature in database
9 changed files with 268 additions and 1 deletions

View file

@ -0,0 +1,18 @@
name = "Svelte"
path_suffixes = ["svelte"]
line_comment = "// "
autoclose_before = ";:.,=}])>"
brackets = [
{ start = "{", end = "}", close = true, newline = true },
{ start = "[", end = "]", close = true, newline = true },
{ start = "(", end = ")", close = true, newline = true },
{ start = "<", end = ">", close = false, newline = true, not_in = ["string", "comment"] },
{ start = "\"", end = "\"", close = true, newline = false, not_in = ["string"] },
{ start = "'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "`", end = "`", close = true, newline = false, not_in = ["string"] },
{ start = "/*", end = " */", close = true, newline = false, not_in = ["string", "comment"] },
]
[overrides.element]
line_comment = { remove = true }
block_comment = ["{/* ", " */}"]

View file

@ -0,0 +1,9 @@
[
(style_element)
(script_element)
(element)
(if_statement)
(else_statement)
(each_statement)
(await_statement)
] @fold

View file

@ -0,0 +1,68 @@
; Special identifiers
;--------------------
[
"<"
">"
"</"
"/>"
"#"
":"
"/"
"@"
] @tag.delimiter
[
"{"
"}"
] @punctuation.bracket
[
(special_block_keyword)
(then)
(as)
] @keyword
[
(text)
(raw_text_expr)
] @none
[
(attribute_value)
(quoted_attribute_value)
] @string
(tag_name) @tag
(attribute_name) @property
(erroneous_end_tag_name) @error
(comment) @comment
((attribute
(attribute_name) @_attr
(quoted_attribute_value (attribute_value) @text.uri))
(#match? @_attr "^(href|src)$"))
; TODO:
((element (start_tag (tag_name) @_tag) (text) @text.uri)
(#eq? @_tag "a"))
((element (start_tag (tag_name) @_tag) (text) @text.literal)
(#match? @_tag "^(code|kbd)$"))
((element (start_tag (tag_name) @_tag) (text) @text.underline)
(#eq? @_tag "u"))
((element (start_tag (tag_name) @_tag) (text) @text.strike)
(#match? @_tag "^(s|del)$"))
((element (start_tag (tag_name) @_tag) (text) @text.emphasis)
(#match? @_tag "^(em|i)$"))
((element (start_tag (tag_name) @_tag) (text) @text.strong)
(#match? @_tag "^(strong|b)$"))
((element (start_tag (tag_name) @_tag) (text) @text.title)
(#match? @_tag "^(h[0-9]|title)$"))
"=" @operator

View file

@ -0,0 +1,20 @@
[
(element)
(if_statement)
(each_statement)
(await_statement)
(script_element)
(style_element)
] @indent
[
(end_tag)
(else_statement)
(if_end_expr)
(each_end_expr)
(await_end_expr)
">"
"/>"
] @branch
(comment) @ignore

View file

@ -0,0 +1,9 @@
; injections.scm
; --------------
(script_element
(raw_text) @content
(#set! "language" "javascript"))
(style_element
(raw_text) @content
(#set! "language" "css"))