diff options
Diffstat (limited to 'runtime/queries/markdown')
-rw-r--r-- | runtime/queries/markdown/folds.scm | 16 | ||||
-rw-r--r-- | runtime/queries/markdown/highlights.scm | 130 | ||||
-rw-r--r-- | runtime/queries/markdown/injections.scm | 28 |
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")) |