feat(nvim): Markdown: QoL plugins and settings

- Link creation: autocommand to add <leader>ml shortcut for converting
  selected text to link
- Formatting: Use markdown-toc to format available TOC
- LSP: Add markdown-toc & markdownlint to Mason ensure_installed
- Plugin: render-markdown.nvim with pretty colors to make Obsidian-esk
  rendering
- Plugin: bullets.nvim for easier bullet-point operations (auto indent,
  auto increment numbers, etc.)
- Chore: Move all markdown plugins to lang-markdown.lua
- Plugin: img-clip.nvim: Paste screenshots from system-clipboard to
markdown (also create store the image as webp)
- Plugin: image.nvim: Show images across neovim. Renders image tags on
markdown
This commit is contained in:
Pratik Tripathy
2025-01-06 17:04:44 +05:30
parent d4f25554e1
commit 36f9e5d0b3
5 changed files with 197 additions and 78 deletions

View File

@@ -212,26 +212,6 @@ return {
sqlls = {},
dockerls = {},
docker_compose_language_service = {},
-- ltex = {
-- filetypes = { "markdown", "text" },
-- flags = { debounce_text_changes = 3000 },
-- settings = {
-- ltex = {
-- language = "en",
-- markdown = {
-- nodes = {
-- CodeBlock = "ignore",
-- FencedCodeBlock = "ignore",
-- Code = "ignore",
-- AutoLink = "ignore",
-- },
-- checkFrequency = "save",
-- languageToolHttpServerUri = "https://api.languagetool.org",
-- },
-- },
-- },
-- },
}
-- Ensure the servers and tools above are installed
@@ -244,17 +224,22 @@ return {
-- Add other tools here that you want Mason to install for you
local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, {
"shfmt",
"stylua",
"codespell",
"bash-language-server",
"html-lsp",
"css-lsp",
"dockerfile-language-server",
"python-lsp-server",
"markdownlint",
"markdown-toc",
"csharpier",
"netcoredbg",
})
-- TODO: Remove all installations through Mason
-- i.e. Remove mason.nvim, mason-lspconfig and mason-tool-installer
-- We should install those globally on the system
-- That would make it easier to work with on FreeBSD
require("mason-tool-installer").setup({ ensure_installed = ensure_installed })
---@diagnostic disable-next-line: missing-fields