summaryrefslogtreecommitdiff
path: root/lua/plugins/lang/markdown.lua
blob: cfa6fd294f88a4036c6c0c8b75ccca63dcb18623 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
return {
	{
		"iamcco/markdown-preview.nvim",
		build = "cd app && npm install",
		init = function()
			vim.g.mkdp_filetypes = { "markdown" }
		end,
		ft = { "markdown" },
	},

	{
		"mzlogin/vim-markdown-toc",
		init = function()
			vim.g.vmt_auto_update_on_save = 0
			vim.g.vmt_dont_insert_fence = 1
		end,
		ft = { "markdown" },
	},

	{
		"dbridges/vim-markdown-runner",
    cmd = { "MarkdownRunner", "MarkdownRunnerInsert" },
    config = function()
      vim.api.nvim_set_keymap("n", "<leader>r", "<cmd>MarkdownRunner<CR>", { noremap = false, silent = true })
      vim.api.nvim_set_keymap("n", "<leader>R", "<cmd>MarkdownRunnerInsert<CR>", { noremap = false, silent = true })
    end,
    ft = { "markdown" },
	},

	{
		"preservim/vim-markdown",
		dependencies = { "godlygeek/tabular" },
		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 = 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" },
	},

	{
		"nvim-treesitter/nvim-treesitter",
		opts = function(_, opts)
			if type(opts) == "table" then
				opts.ensure_installed = opts.ensure_installed or {}
				vim.list_extend(opts.ensure_installed, {
					"markdown_inline",
					"markdown",
				})
			end
		end,
	},

	{
		"jose-elias-alvarez/null-ls.nvim",
		opts = function(_, opts)
			if type(opts) == "table" then
				opts.sources = opts.sources or {}
				local null_ls = require("null-ls")
				vim.list_extend(opts.sources, {
					null_ls.builtins.diagnostics.markdownlint_cli2,
					null_ls.builtins.diagnostics.vale,
					null_ls.builtins.formatting.prettierd.with({
						filetypes = { "markdown" },
					}),
				})
			end
		end,
	},
}