aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/markdown
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/markdown')
-rw-r--r--runtime/queries/markdown/folds.scm16
-rw-r--r--runtime/queries/markdown/highlights.scm130
-rw-r--r--runtime/queries/markdown/injections.scm28
3 files changed, 109 insertions, 65 deletions
diff --git a/runtime/queries/markdown/folds.scm b/runtime/queries/markdown/folds.scm
index 5900f7ffbe..a682e20e00 100644
--- a/runtime/queries/markdown/folds.scm
+++ b/runtime/queries/markdown/folds.scm
@@ -1,9 +1,7 @@
-(
- [
- (fenced_code_block)
- (indented_code_block)
- (list)
- (section)
- ] @fold
- (#trim! @fold)
-)
+([
+ (fenced_code_block)
+ (indented_code_block)
+ (list)
+ (section)
+] @fold
+ (#trim! @fold))
diff --git a/runtime/queries/markdown/highlights.scm b/runtime/queries/markdown/highlights.scm
index 2cc5546bac..7c26fd710c 100644
--- a/runtime/queries/markdown/highlights.scm
+++ b/runtime/queries/markdown/highlights.scm
@@ -1,40 +1,73 @@
;From MDeiml/tree-sitter-markdown & Helix
-(setext_heading (paragraph) @text.title.1 (setext_h1_underline) @text.title.1.marker)
-(setext_heading (paragraph) @text.title.2 (setext_h2_underline) @text.title.2.marker)
+(setext_heading
+ (paragraph) @markup.heading.1
+ (setext_h1_underline) @markup.heading.1.marker)
-(atx_heading (atx_h1_marker) @text.title.1.marker (inline) @text.title.1)
-(atx_heading (atx_h2_marker) @text.title.2.marker (inline) @text.title.2)
-(atx_heading (atx_h3_marker) @text.title.3.marker (inline) @text.title.3)
-(atx_heading (atx_h4_marker) @text.title.4.marker (inline) @text.title.4)
-(atx_heading (atx_h5_marker) @text.title.5.marker (inline) @text.title.5)
-(atx_heading (atx_h6_marker) @text.title.6.marker (inline) @text.title.6)
+(setext_heading
+ (paragraph) @markup.heading.2
+ (setext_h2_underline) @markup.heading.2.marker)
-(link_title) @text.literal
-(indented_code_block) @text.literal.block
-((fenced_code_block) @text.literal.block (#set! "priority" 90))
+(atx_heading
+ (atx_h1_marker) @markup.heading.1.marker
+ (inline) @markup.heading.1)
+
+(atx_heading
+ (atx_h2_marker) @markup.heading.2.marker
+ (inline) @markup.heading.2)
+
+(atx_heading
+ (atx_h3_marker) @markup.heading.3.marker
+ (inline) @markup.heading.3)
+
+(atx_heading
+ (atx_h4_marker) @markup.heading.4.marker
+ (inline) @markup.heading.4)
+
+(atx_heading
+ (atx_h5_marker) @markup.heading.5.marker
+ (inline) @markup.heading.5)
+
+(atx_heading
+ (atx_h6_marker) @markup.heading.6.marker
+ (inline) @markup.heading.6)
(info_string) @label
-(pipe_table_header (pipe_table_cell) @text.title)
+(pipe_table_header
+ (pipe_table_cell) @markup.heading)
+
+(pipe_table_header
+ "|" @punctuation.special)
+
+(pipe_table_row
+ "|" @punctuation.special)
+
+(pipe_table_delimiter_row
+ "|" @punctuation.special)
-(pipe_table_header "|" @punctuation.special)
-(pipe_table_row "|" @punctuation.special)
-(pipe_table_delimiter_row "|" @punctuation.special)
(pipe_table_delimiter_cell) @punctuation.special
-[
- (fenced_code_block_delimiter)
-] @punctuation.delimiter
+; Code blocks (conceal backticks and language annotation)
+(indented_code_block) @markup.raw.block
-(code_fence_content) @none
+((fenced_code_block) @markup.raw.block
+ (#set! "priority" 90))
-[
- (link_destination)
-] @text.uri
+(fenced_code_block
+ (fenced_code_block_delimiter) @markup.raw.delimiter
+ (#set! conceal ""))
+
+(fenced_code_block
+ (info_string
+ (language) @conceal
+ (#set! conceal "")))
+
+(link_destination) @markup.link.url
[
+ (link_title)
(link_label)
-] @text.reference
+] @markup.link.label
[
(list_marker_plus)
@@ -42,30 +75,43 @@
(list_marker_star)
(list_marker_dot)
(list_marker_parenthesis)
- (thematic_break)
-] @punctuation.special
-
-
-(task_list_marker_unchecked) @text.todo.unchecked
-(task_list_marker_checked) @text.todo.checked
-
-(block_quote) @text.quote
+] @markup.list
+
+; NOTE: The following has been commented out due to issues with spaces in the
+; list marker nodes generated by the parser. If those spaces ever get captured
+; by a different node (e.g. block_continuation) we can safely readd these
+; conceals.
+; ;; Conceal bullet points
+; ([(list_marker_plus) (list_marker_star)]
+; @punctuation.special
+; (#offset! @punctuation.special 0 0 0 -1)
+; (#set! conceal "•"))
+; ([(list_marker_plus) (list_marker_star)]
+; @punctuation.special
+; (#any-of? @punctuation.special "+" "*")
+; (#set! conceal "•"))
+; ((list_marker_minus)
+; @punctuation.special
+; (#offset! @punctuation.special 0 0 0 -1)
+; (#set! conceal "—"))
+; ((list_marker_minus)
+; @punctuation.special
+; (#eq? @punctuation.special "-")
+; (#set! conceal "—"))
+(thematic_break) @punctuation.special
+
+(task_list_marker_unchecked) @markup.list.unchecked
+
+(task_list_marker_checked) @markup.list.checked
+
+((block_quote) @markup.quote
+ (#set! "priority" 90))
[
(block_continuation)
(block_quote_marker)
] @punctuation.special
-[
- (backslash_escape)
-] @string.escape
+(backslash_escape) @string.escape
(inline) @spell
-
-;; Conceal backticks
-(fenced_code_block
- (fenced_code_block_delimiter) @conceal
- (#set! conceal ""))
-(fenced_code_block
- (info_string (language) @conceal
- (#set! conceal "")))
diff --git a/runtime/queries/markdown/injections.scm b/runtime/queries/markdown/injections.scm
index fda7036830..1f33c30b63 100644
--- a/runtime/queries/markdown/injections.scm
+++ b/runtime/queries/markdown/injections.scm
@@ -3,23 +3,23 @@
(language) @injection.language)
(code_fence_content) @injection.content)
-((html_block) @injection.content
- (#set! injection.language "html")
- (#set! injection.combined)
- (#set! injection.include-children))
+((html_block) @injection.content
+ (#set! injection.language "html")
+ (#set! injection.combined)
+ (#set! injection.include-children))
-((minus_metadata) @injection.content
- (#set! injection.language "yaml")
- (#offset! @injection.content 1 0 -1 0)
- (#set! injection.include-children))
+((minus_metadata) @injection.content
+ (#set! injection.language "yaml")
+ (#offset! @injection.content 1 0 -1 0)
+ (#set! injection.include-children))
-((plus_metadata) @injection.content
- (#set! injection.language "toml")
- (#offset! @injection.content 1 0 -1 0)
- (#set! injection.include-children))
+((plus_metadata) @injection.content
+ (#set! injection.language "toml")
+ (#offset! @injection.content 1 0 -1 0)
+ (#set! injection.include-children))
([
(inline)
(pipe_table_cell)
- ] @injection.content
- (#set! injection.language "markdown_inline"))
+] @injection.content
+ (#set! injection.language "markdown_inline"))