add tree-sitter-edoc (#2640)
* add tree-sitter-edoc * fix escape character capture in markdown queries * add field negation operator "!" to tsq highlights
This commit is contained in:
parent
4f3d0a7706
commit
42d780b103
7 changed files with 88 additions and 4 deletions
|
@ -12,6 +12,7 @@
|
|||
| dart | ✓ | | ✓ | `dart` |
|
||||
| devicetree | ✓ | | ✓ | |
|
||||
| dockerfile | ✓ | | | `docker-langserver` |
|
||||
| edoc | ✓ | | | |
|
||||
| eex | ✓ | | | |
|
||||
| ejs | ✓ | | | |
|
||||
| elixir | ✓ | | | `elixir-ls` |
|
||||
|
|
|
@ -1049,7 +1049,7 @@ language-server = { command = "erlang_ls" }
|
|||
|
||||
[[grammar]]
|
||||
name = "erlang"
|
||||
source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "6cd8f956ada445b277de1581b5328ae8e8be9aac" }
|
||||
source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "481e7f8ddf27f07a47d1531b6e2b154b89ece31d" }
|
||||
|
||||
[[language]]
|
||||
name = "kotlin"
|
||||
|
@ -1409,3 +1409,15 @@ injection-regex = "verilog"
|
|||
[[grammar]]
|
||||
name = "verilog"
|
||||
source = { git = "https://github.com/andreytkachenko/tree-sitter-verilog", rev = "514d8d70593d29ef3ef667fa6b0e504ae7c977e3" }
|
||||
|
||||
[[language]]
|
||||
name = "edoc"
|
||||
scope = "source.edoc"
|
||||
file-types = ["edoc", "edoc.in"]
|
||||
injection-regex = "edoc"
|
||||
roots = []
|
||||
indent = { tab-width = 4, unit = " " }
|
||||
|
||||
[[grammar]]
|
||||
name = "edoc"
|
||||
source = { git = "https://github.com/the-mikedavis/tree-sitter-edoc", rev = "1691ec0aa7ad1ed9fa295590545f27e570d12d60" }
|
||||
|
|
50
runtime/queries/edoc/highlights.scm
Normal file
50
runtime/queries/edoc/highlights.scm
Normal file
|
@ -0,0 +1,50 @@
|
|||
((section
|
||||
(section_marker) @markup.heading.marker
|
||||
(section_content) @markup.heading.1
|
||||
(section_marker) @markup.heading.marker)
|
||||
(#eq? @markup.heading.marker "=="))
|
||||
|
||||
((section
|
||||
(section_marker) @markup.heading.marker
|
||||
(section_content) @markup.heading.2
|
||||
(section_marker) @markup.heading.marker)
|
||||
(#eq? @markup.heading.marker "==="))
|
||||
|
||||
((section
|
||||
(section_marker) @markup.heading.marker
|
||||
(section_content) @markup.heading.3
|
||||
(section_marker) @markup.heading.marker)
|
||||
(#eq? @markup.heading.marker "===="))
|
||||
|
||||
(macro (tag) @function.macro)
|
||||
(tag) @keyword
|
||||
(macro_escape) @constant.character.escape
|
||||
(inline_quote) @markup.raw.inline
|
||||
(email_address) @markup.link.url
|
||||
|
||||
(em_xhtml_tag
|
||||
(open_xhtml_tag) @tag
|
||||
(xhtml_tag_content) @markup.italic
|
||||
(close_xhtml_tag) @tag)
|
||||
|
||||
(strong_xhtml_tag
|
||||
(open_xhtml_tag) @tag
|
||||
(xhtml_tag_content) @markup.bold
|
||||
(close_xhtml_tag) @tag)
|
||||
|
||||
(module) @namespace
|
||||
(function) @function
|
||||
(type) @type
|
||||
|
||||
; could be @constant.numeric.integer but this looks similar to a capture
|
||||
(arity) @operator
|
||||
|
||||
[":" "/"] @operator
|
||||
["(" ")"] @punctuation.delimiter
|
||||
["{" "}"] @function.macro
|
||||
|
||||
[
|
||||
(quote_marker)
|
||||
(language_identifier)
|
||||
(quote_content)
|
||||
] @markup.raw.block
|
20
runtime/queries/edoc/injections.scm
Normal file
20
runtime/queries/edoc/injections.scm
Normal file
|
@ -0,0 +1,20 @@
|
|||
((xhtml_tag) @injection.content
|
||||
(#set! injection.combined)
|
||||
(#set! injection.include-children)
|
||||
(#set! injection.language "html"))
|
||||
|
||||
((block_quote
|
||||
!language
|
||||
(quote_content) @injection.content)
|
||||
(#set! injection.language "erlang"))
|
||||
|
||||
(block_quote
|
||||
language: (language_identifier) @injection.language
|
||||
(quote_content) @injection.content)
|
||||
|
||||
((macro
|
||||
(tag) @_tag
|
||||
(argument) @injection.content)
|
||||
(#eq? @_tag "@type")
|
||||
(#set injection.language "erlang")
|
||||
(#set injection.include-children))
|
|
@ -1,2 +1,2 @@
|
|||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
((comment_content) @injection.content
|
||||
(#set! injection.language "edoc"))
|
||||
|
|
|
@ -45,5 +45,5 @@
|
|||
[
|
||||
(backslash_escape)
|
||||
(hard_line_break)
|
||||
] @string.character.escape
|
||||
] @constant.character.escape
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
] @punctuation.bracket
|
||||
|
||||
":" @punctuation.delimiter
|
||||
"!" @operator
|
||||
|
||||
[
|
||||
(one_or_more)
|
||||
|
|
Loading…
Reference in a new issue