mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
feat(nvim-formatting): Auto install required formatters through mason
- Sort configurations by ft - Add formatters to lsp so they can be auto installed by mason
This commit is contained in:
@@ -6,22 +6,23 @@ return {
|
|||||||
event = { "BufWritePre" },
|
event = { "BufWritePre" },
|
||||||
opts = {
|
opts = {
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
cs = { "csharpier" },
|
|
||||||
javascript = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
typescript = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
javascriptreact = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
svelte = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
css = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
html = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
json = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
graphql = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
yaml = { "yamlfmt", "prettierd", stop_after_first = true },
|
|
||||||
markdown = { "markdownlint", "markdown-toc" },
|
|
||||||
lua = { "stylua" },
|
|
||||||
python = { "black" },
|
|
||||||
sh = { "shfmt", "shellharden", stop_after_first = true },
|
|
||||||
bash = { "shfmt", "shellharden", stop_after_first = true },
|
bash = { "shfmt", "shellharden", stop_after_first = true },
|
||||||
|
cs = { "csharpier" },
|
||||||
|
css = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
graphql = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
html = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
javascript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
javascriptreact = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
json = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
lua = { "stylua" },
|
||||||
|
markdown = { "markdownlint", "markdown-toc" },
|
||||||
|
python = { "black" },
|
||||||
|
rust = { "rustfmt" },
|
||||||
|
sh = { "shfmt", "shellharden", stop_after_first = true },
|
||||||
|
svelte = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
typescript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
yaml = { "yamlfmt", "prettierd", stop_after_first = true },
|
||||||
zsh = { "shfmt", "shellharden", stop_after_first = true },
|
zsh = { "shfmt", "shellharden", stop_after_first = true },
|
||||||
["_"] = { "trim_whitespace" },
|
["_"] = { "trim_whitespace" },
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -219,21 +219,27 @@ return {
|
|||||||
|
|
||||||
-- Add completion capabilities
|
-- Add completion capabilities
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
capabilities = vim.tbl_deep_extend("force", capabilities, require("blink.cmp").get_lsp_capabilities())
|
|
||||||
|
|
||||||
-- Add other tools here that you want Mason to install for you
|
-- TODO: Remove this when we get neovim 0.11
|
||||||
|
capabilities = require("blink.cmp").get_lsp_capabilities(capabilities)
|
||||||
|
|
||||||
|
-- Add other (other than LSP servers) tools here that you want Mason to install for you
|
||||||
|
-- Which means: formatters and debuggers
|
||||||
local ensure_installed = vim.tbl_keys(servers or {})
|
local ensure_installed = vim.tbl_keys(servers or {})
|
||||||
vim.list_extend(ensure_installed, {
|
vim.list_extend(ensure_installed, {
|
||||||
"stylua",
|
"black", -- Python formatter
|
||||||
"bash-language-server",
|
"csharpier", -- C# formatter
|
||||||
"html-lsp",
|
"djlint", -- Handlebar Formatter
|
||||||
"css-lsp",
|
|
||||||
"dockerfile-language-server",
|
|
||||||
"python-lsp-server",
|
|
||||||
"markdownlint",
|
|
||||||
"markdown-toc",
|
"markdown-toc",
|
||||||
"csharpier",
|
"markdownlint",
|
||||||
"netcoredbg",
|
"netcoredbg", -- C# Debugger
|
||||||
|
"prettier",
|
||||||
|
"prettierd",
|
||||||
|
"shellharden",
|
||||||
|
"shfmt",
|
||||||
|
"stylua",
|
||||||
|
"trivy", -- Vulnerability Linter
|
||||||
|
"yamlfmt",
|
||||||
})
|
})
|
||||||
|
|
||||||
-- TODO: Remove all installations through Mason
|
-- TODO: Remove all installations through Mason
|
||||||
|
|||||||
Reference in New Issue
Block a user