summaryrefslogtreecommitdiff
path: root/lua/plugins/lang/markdown.lua
blob: e1bede1f10f1a31717b748bace090163cd67a8b5 (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
77
78
79
80
81
82
83
84
85
86
87
return {
   {
      "iamcco/markdown-preview.nvim",
      build = "cd app && npm install",
      init = function()
         vim.g.mkdp_filetypes = { "markdown" }
      end,
      ft = { "markdown" },
   },

   {
      "preservim/vim-markdown",
      dependencies = { "godlygeek/tabular" },
      init = function()
         -- Specific plugin config is here. However, there are some autocmds
         -- and additional settings that _interact_ with this plugin in
         -- ftplugin/markdown.lua.

         -- highlight front matter
         vim.g.vim_markdown_frontmatter      = 1 -- YAML
         vim.g.vim_markdown_toml_frontmatter = 1 -- TOML
         vim.g.vim_markdown_json_frontmatter = 1 -- JSON

         -- scratch using two tildes ie ~~
         vim.g.vim_markdown_strikethrough = 1

         -- indent new list items by 2 spaces
         vim.g.vim_markdown_new_list_item_indent = 2
      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.diagnostics.proselint,
               null_ls.builtins.formatting.prettierd.with({
                  filetypes = { "markdown" },
               }),
            })
         end
      end,
   },

   -- {
   -- 	"neovim/nvim-lspconfig",
   -- 	opts = function(_, opts)
   -- 		if type(opts) == "table" then
   -- 			local mdspell = {
   -- 				lintCommand = "mdspell --picky -u http://192.168.0.2:8010/v2/check ${INPUT}",
   -- 				lintIgnoreExitCode = true,
   -- 				lintFormats = { "%f:%l:%c:%m" },
   -- 			}
   --
   -- 			opts.servers = opts.servers or {}
   -- 			opts.servers.efm =
   -- 				vim.tbl_deep_extend("error", opts.servers.efm or {}, {
   -- 					filetypes = { "markdown" },
   -- 					settings = {
   -- 						languages = {
   -- 							markdown = { mdspell },
   -- 						},
   -- 					},
   -- 				})
   -- 		end
   -- 	end,
   -- },
}