summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/nvim/.nvim/lua/plugins/lang/markdown.lua15
-rw-r--r--public/nvim/.nvim/queries/markdown/highlights.scm94
2 files changed, 104 insertions, 5 deletions
diff --git a/public/nvim/.nvim/lua/plugins/lang/markdown.lua b/public/nvim/.nvim/lua/plugins/lang/markdown.lua
index dcacfc7..fe30437 100644
--- a/public/nvim/.nvim/lua/plugins/lang/markdown.lua
+++ b/public/nvim/.nvim/lua/plugins/lang/markdown.lua
@@ -20,12 +20,16 @@ return {
{
"preservim/vim-markdown",
dependencies = { "godlygeek/tabular" },
- config = function()
+ init = function()
+ -- All concealing is handled by Treesitter
+ vim.g.vim_markdown_conceal = 0
vim.g.vim_markdown_conceal_code_blocks = 0
- vim.g.vim_markdown_frontmatter = 1
- vim.g.vim_markdown_strikethrough = 0
- vim.g.vim_markdown_auto_insert_bullets = 0
- vim.g.vim_markdown_new_list_item_indent = 0
+ vim.g.vim_markdown_frontmatter = 0
+ vim.g.vim_markdown_strikethrough = 0
+
+ vim.g.vim_markdown_auto_insert_bullets = 0
+ vim.g.vim_markdown_new_list_item_indent = 0
+ vim.g.vim_markdown_folding_disabled = 1
end,
ft = { "markdown" },
},
@@ -37,6 +41,7 @@ return {
opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, {
"markdown_inline",
+ "markdown",
})
end
end,
diff --git a/public/nvim/.nvim/queries/markdown/highlights.scm b/public/nvim/.nvim/queries/markdown/highlights.scm
new file mode 100644
index 0000000..5563428
--- /dev/null
+++ b/public/nvim/.nvim/queries/markdown/highlights.scm
@@ -0,0 +1,94 @@
+;From MDeiml/tree-sitter-markdown & Helix
+;;same as the one shipped in nvim-treesitter without concealing codeblocks
+(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)
+
+(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)
+
+(link_title) @text.literal
+(indented_code_block) @text.literal.block
+((fenced_code_block) @text.literal.block (#set! "priority" 90))
+
+(info_string) @label
+
+(pipe_table_header (pipe_table_cell) @text.title)
+
+(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
+
+;; Conceal backticks
+;(fenced_code_block
+ ;(fenced_code_block_delimiter) @conceal
+ ;(#set! conceal ""))
+;(fenced_code_block
+ ;(info_string (language) @conceal
+ ;(#set! conceal "")))
+
+; 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 "—"))
+
+(code_fence_content) @none
+
+[
+ (link_destination)
+] @text.uri
+
+[
+ (link_label)
+] @text.reference
+
+[
+ (list_marker_plus)
+ (list_marker_minus)
+ (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 (#set! "priority" 90))
+
+[
+ (block_continuation)
+ (block_quote_marker)
+] @punctuation.special
+
+[
+ (backslash_escape)
+] @string.escape
+
+(inline) @spell