custom format commands

This commit is contained in:
Ivan Dimitrov 2023-07-15 20:25:16 +03:00
parent 8a4f3252b0
commit 86982826e9

View File

@ -41,11 +41,20 @@ local servers = {
rnix = {}, rnix = {},
gopls = {} gopls = {}
} }
local formatters = {
tsserver = {
cmd = "silent !prettier --write '%'"
},
default = {
cmd = "silent lua vim.lsp.buf.format()"
}
}
local cmp_capabilities = require("cmp_nvim_lsp").default_capabilities() local cmp_capabilities = require("cmp_nvim_lsp").default_capabilities()
local on_attach = function(client, bufnr) local on_attach = function(client, bufnr)
nmap("<leader>ca", vim.lsp.buf.code_action) nmap("<leader>ca", vim.lsp.buf.code_action)
nmap("<leader>l", function() nmap("<leader>l", function()
vim.lsp.buf.format() local fmt = formatters[client.name] or formatters.default
vim.cmd(fmt.cmd)
end) end)
nmap("K", vim.lsp.buf.hover) nmap("K", vim.lsp.buf.hover)
nmap("gr", require("telescope.builtin").lsp_references) nmap("gr", require("telescope.builtin").lsp_references)
@ -65,7 +74,7 @@ cmp.setup({
for server, cfg in pairs(servers) do for server, cfg in pairs(servers) do
lspconfig[server].setup({ lspconfig[server].setup({
cfg, settings = cfg.settings,
capabilities = cmp_capabilities, capabilities = cmp_capabilities,
on_attach = on_attach, on_attach = on_attach,
}) })