mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
feat(slim): add parser and queries (#7425)
This commit is contained in:
parent
65c466178e
commit
1c67567464
7 changed files with 144 additions and 0 deletions
|
|
@ -704,6 +704,9 @@
|
|||
"slang": {
|
||||
"revision": "3ed23c04a412a0559162d9cadf96dfff7cb36079"
|
||||
},
|
||||
"slim": {
|
||||
"revision": "23c9917c649659ae8ddf6d88fb9e9c6cfd80b8e0"
|
||||
},
|
||||
"slint": {
|
||||
"revision": "f11da7e62051ba8b9d4faa299c26de8aeedfc1cd"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2042,6 +2042,14 @@ list.slang = {
|
|||
experimental = true,
|
||||
}
|
||||
|
||||
list.slim = {
|
||||
install_info = {
|
||||
url = "https://github.com/theoo/tree-sitter-slim",
|
||||
files = { "src/parser.c", "src/scanner.c" },
|
||||
},
|
||||
maintainers = { "@theoo" },
|
||||
}
|
||||
|
||||
list.slint = {
|
||||
install_info = {
|
||||
url = "https://github.com/slint-ui/tree-sitter-slint",
|
||||
|
|
|
|||
1
queries/slim/folds.scm
Normal file
1
queries/slim/folds.scm
Normal file
|
|
@ -0,0 +1 @@
|
|||
(child) @fold
|
||||
82
queries/slim/highlights.scm
Normal file
82
queries/slim/highlights.scm
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
(comment) @comment @spell
|
||||
|
||||
(tag_id) @keyword.function
|
||||
|
||||
(tag_class) @keyword.type
|
||||
|
||||
(injector) @keyword.import
|
||||
|
||||
(directive_sign) @keyword.directive
|
||||
|
||||
[
|
||||
(string_start)
|
||||
(string_content)
|
||||
(string_end)
|
||||
] @string
|
||||
|
||||
(bracket) @punctuation.bracket
|
||||
|
||||
[
|
||||
"#{"
|
||||
"}"
|
||||
] @punctuation.special
|
||||
|
||||
(delimiter) @tag.delimiter
|
||||
|
||||
(parameter_name) @variable.parameter
|
||||
|
||||
(parameter_value) @tag.attribute
|
||||
|
||||
[
|
||||
(text_inline)
|
||||
(text_block)
|
||||
] @markup.raw.block
|
||||
|
||||
; Markup tags
|
||||
; https://developer.mozilla.org/en-US/docs/Web/HTML/Element
|
||||
(tag_name) @tag
|
||||
|
||||
((tag_name) @tag.builtin
|
||||
(#any-of? @tag.builtin
|
||||
"doctype" "html" "head" "title" "base" "link" "meta" "style" "body" "article" "section" "nav"
|
||||
"aside" "hgroup" "footer" "address" "p" "hr" "pre" "blockquote" "menu" "figure" "figcaption"
|
||||
"main" "div" "small" "s" "cite" "q" "dfn" "abbr" "rt" "rp" "data" "time" "code" "var" "samp"
|
||||
"kbd" "sub" "sup" "u" "mark" "bdi" "bdo" "span" "br" "wbr" "ins" "del" "picture" "source" "img"
|
||||
"iframe" "embed" "object" "param" "video" "audio" "track" "map" "area" "table" "caption"
|
||||
"colgroup" "col" "tbody" "thead" "tfoot" "tr" "td" "th" "form" "label" "input" "button" "select"
|
||||
"datalist" "optgroup" "option" "textarea" "output" "progress" "meter" "fieldset" "legend"
|
||||
"details" "summary" "dialog" "script" "noscript" "template" "slot" "canvas"))
|
||||
|
||||
((tag_name) @markup.strong
|
||||
(#any-of? @markup.strong "b" "strong"))
|
||||
|
||||
((tag_name) @markup.italic
|
||||
(#any-of? @markup.italic "i" "em"))
|
||||
|
||||
((tag_name) @markup.link
|
||||
(#any-of? @markup.link "a"))
|
||||
|
||||
; Headings
|
||||
((tag_name) @markup.heading
|
||||
(#any-of? @markup.heading "header"))
|
||||
|
||||
((tag_name) @markup.heading.1
|
||||
(#any-of? @markup.heading.1 "h1"))
|
||||
|
||||
((tag_name) @markup.heading.2
|
||||
(#any-of? @markup.heading.2 "h2"))
|
||||
|
||||
((tag_name) @markup.heading.3
|
||||
(#any-of? @markup.heading.3 "h3"))
|
||||
|
||||
((tag_name) @markup.heading.4
|
||||
(#any-of? @markup.heading.4 "h4"))
|
||||
|
||||
((tag_name) @markup.heading.5
|
||||
(#any-of? @markup.heading.5 "h5"))
|
||||
|
||||
((tag_name) @markup.heading.6
|
||||
(#any-of? @markup.heading.6 "h6"))
|
||||
|
||||
((tag_name) @markup.list
|
||||
(#any-of? @markup.list "ul" "ol" "li" "dl" "dt" "dd"))
|
||||
4
queries/slim/indents.scm
Normal file
4
queries/slim/indents.scm
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
(tag) @indent.begin
|
||||
|
||||
((tag) @indent.zero
|
||||
(#any-of? @indent.zero "doctype" "html"))
|
||||
39
queries/slim/injections.scm
Normal file
39
queries/slim/injections.scm
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
((ruby_inline) @injection.content
|
||||
(#set! injection.language "ruby"))
|
||||
|
||||
((ruby_lang) @injection.content
|
||||
(#set! injection.language "ruby")
|
||||
(#set! injection.combined))
|
||||
|
||||
((javascript_lang) @injection.content
|
||||
(#set! injection.language "javascript")
|
||||
(#set! injection.combined))
|
||||
|
||||
((css_lang) @injection.content
|
||||
(#set! injection.language "css")
|
||||
(#set! injection.combined))
|
||||
|
||||
((sass_lang) @injection.content
|
||||
(#set! injection.language "sass")
|
||||
(#set! injection.combined))
|
||||
|
||||
((scss_lang) @injection.content
|
||||
(#set! injection.language "scss")
|
||||
(#set! injection.combined))
|
||||
|
||||
((less_lang) @injection.content
|
||||
(#set! injection.language "less")
|
||||
(#set! injection.combined))
|
||||
|
||||
((scss_lang) @injection.content
|
||||
(#set! injection.language "scss")
|
||||
(#set! injection.combined))
|
||||
|
||||
((markdown_lang) @injection.content
|
||||
(#set! injection.language "markdown"))
|
||||
|
||||
((rdoc_lang) @injection.content
|
||||
(#set! injection.language "rdoc"))
|
||||
|
||||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
7
queries/slim/locals.scm
Normal file
7
queries/slim/locals.scm
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
(child) @local.scope
|
||||
|
||||
(tag_name) @local.definition.function
|
||||
|
||||
(tag_class) @local.definition.parameter
|
||||
|
||||
(tag_id) @local.definition.constant
|
||||
Loading…
Add table
Add a link
Reference in a new issue