mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-25 10:56:19 +04:00
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
@ -12,6 +12,7 @@
|
|||||||
| dart | ✓ | | ✓ | `dart` |
|
| dart | ✓ | | ✓ | `dart` |
|
||||||
| devicetree | ✓ | | ✓ | |
|
| devicetree | ✓ | | ✓ | |
|
||||||
| dockerfile | ✓ | | | `docker-langserver` |
|
| dockerfile | ✓ | | | `docker-langserver` |
|
||||||
|
| edoc | ✓ | | | |
|
||||||
| eex | ✓ | | | |
|
| eex | ✓ | | | |
|
||||||
| ejs | ✓ | | | |
|
| ejs | ✓ | | | |
|
||||||
| elixir | ✓ | | | `elixir-ls` |
|
| elixir | ✓ | | | `elixir-ls` |
|
||||||
|
@ -1049,7 +1049,7 @@ language-server = { command = "erlang_ls" }
|
|||||||
|
|
||||||
[[grammar]]
|
[[grammar]]
|
||||||
name = "erlang"
|
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]]
|
[[language]]
|
||||||
name = "kotlin"
|
name = "kotlin"
|
||||||
@ -1409,3 +1409,15 @@ injection-regex = "verilog"
|
|||||||
[[grammar]]
|
[[grammar]]
|
||||||
name = "verilog"
|
name = "verilog"
|
||||||
source = { git = "https://github.com/andreytkachenko/tree-sitter-verilog", rev = "514d8d70593d29ef3ef667fa6b0e504ae7c977e3" }
|
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
|
((comment_content) @injection.content
|
||||||
(#set! injection.language "comment"))
|
(#set! injection.language "edoc"))
|
||||||
|
@ -45,5 +45,5 @@
|
|||||||
[
|
[
|
||||||
(backslash_escape)
|
(backslash_escape)
|
||||||
(hard_line_break)
|
(hard_line_break)
|
||||||
] @string.character.escape
|
] @constant.character.escape
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
] @punctuation.bracket
|
] @punctuation.bracket
|
||||||
|
|
||||||
":" @punctuation.delimiter
|
":" @punctuation.delimiter
|
||||||
|
"!" @operator
|
||||||
|
|
||||||
[
|
[
|
||||||
(one_or_more)
|
(one_or_more)
|
||||||
|
Loading…
Reference in New Issue
Block a user