aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorMichael Davis2022-06-02 23:41:17 +0000
committerGitHub2022-06-02 23:41:17 +0000
commit42d780b1037f36bd37e2a8dc40b5e9bb95fb5be7 (patch)
treea09f476a2f9dfd77714d1deeb62d4542d215525f /runtime
parent4f3d0a77064aac18cc4386df5c43c312c3b03f69 (diff)
add tree-sitter-edoc (#2640)
* add tree-sitter-edoc * fix escape character capture in markdown queries * add field negation operator "!" to tsq highlights
Diffstat (limited to 'runtime')
-rw-r--r--runtime/queries/edoc/highlights.scm50
-rw-r--r--runtime/queries/edoc/injections.scm20
-rw-r--r--runtime/queries/erlang/injections.scm4
-rw-r--r--runtime/queries/markdown/highlights.scm2
-rw-r--r--runtime/queries/tsq/highlights.scm1
5 files changed, 74 insertions, 3 deletions
diff --git a/runtime/queries/edoc/highlights.scm b/runtime/queries/edoc/highlights.scm
new file mode 100644
index 00000000..3a309960
--- /dev/null
+++ b/runtime/queries/edoc/highlights.scm
@@ -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
diff --git a/runtime/queries/edoc/injections.scm b/runtime/queries/edoc/injections.scm
new file mode 100644
index 00000000..9630995b
--- /dev/null
+++ b/runtime/queries/edoc/injections.scm
@@ -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))
diff --git a/runtime/queries/erlang/injections.scm b/runtime/queries/erlang/injections.scm
index 321c90ad..07858185 100644
--- a/runtime/queries/erlang/injections.scm
+++ b/runtime/queries/erlang/injections.scm
@@ -1,2 +1,2 @@
-((comment) @injection.content
- (#set! injection.language "comment"))
+((comment_content) @injection.content
+ (#set! injection.language "edoc"))
diff --git a/runtime/queries/markdown/highlights.scm b/runtime/queries/markdown/highlights.scm
index 988a56b6..44b19741 100644
--- a/runtime/queries/markdown/highlights.scm
+++ b/runtime/queries/markdown/highlights.scm
@@ -45,5 +45,5 @@
[
(backslash_escape)
(hard_line_break)
-] @string.character.escape
+] @constant.character.escape
diff --git a/runtime/queries/tsq/highlights.scm b/runtime/queries/tsq/highlights.scm
index 549895c1..fd5917fb 100644
--- a/runtime/queries/tsq/highlights.scm
+++ b/runtime/queries/tsq/highlights.scm
@@ -16,6 +16,7 @@
] @punctuation.bracket
":" @punctuation.delimiter
+"!" @operator
[
(one_or_more)