feat(neovim): switch to nix fmt
Also needed to disable formatting for rnix-lsp, since it integrates nixpkgs-fmt
This commit is contained in:
parent
68b05befc4
commit
c74cdcb569
|
@ -42,31 +42,49 @@ if not configs.glslls then
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
local capabilities_ = vim.lsp.protocol.make_client_capabilities()
|
local default_capabilities = function()
|
||||||
local capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities_)
|
local capabilities_ = vim.lsp.protocol.make_client_capabilities()
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
local capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities_)
|
||||||
local servers = {
|
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||||
"bashls",
|
return capabilities
|
||||||
"jsonls",
|
end
|
||||||
"yamlls",
|
|
||||||
"html",
|
local capabilities = default_capabilities()
|
||||||
"cssls",
|
local capabilities_no_formatting = default_capabilities()
|
||||||
"dockerls",
|
capabilities_no_formatting.textDocument.formatting = false
|
||||||
"rnix",
|
capabilities_no_formatting.textDocument.rangeFormatting = false
|
||||||
"tsserver",
|
capabilities_no_formatting.textDocument.range_formatting = false
|
||||||
"graphql",
|
|
||||||
"pylsp",
|
-- lsp configs
|
||||||
"terraformls",
|
local c = {
|
||||||
"hls",
|
default = {
|
||||||
"vimls",
|
|
||||||
"glslls",
|
|
||||||
}
|
|
||||||
for _, lsp in ipairs(servers) do
|
|
||||||
config[lsp].setup {
|
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
}
|
},
|
||||||
end
|
no_formatting = {
|
||||||
|
on_attach = function(client, bufnr)
|
||||||
|
client.resolved_capabilities.document_formatting = false
|
||||||
|
client.resolved_capabilities.document_range_formatting = false
|
||||||
|
on_attach(client, bufnr)
|
||||||
|
end,
|
||||||
|
capabilities = capabilities_no_formatting,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
config.bashls.setup(c.default)
|
||||||
|
config.jsonls.setup(c.default)
|
||||||
|
config.yamlls.setup(c.default)
|
||||||
|
config.html.setup(c.default)
|
||||||
|
config.cssls.setup(c.default)
|
||||||
|
config.dockerls.setup(c.default)
|
||||||
|
config.rnix.setup(c.no_formatting)
|
||||||
|
config.tsserver.setup(c.default)
|
||||||
|
config.graphql.setup(c.default)
|
||||||
|
config.pylsp.setup(c.default)
|
||||||
|
config.terraformls.setup(c.default)
|
||||||
|
config.hls.setup(c.default)
|
||||||
|
config.vimls.setup(c.default)
|
||||||
|
config.glslls.setup(c.default)
|
||||||
|
|
||||||
config.rust_analyzer.setup {
|
config.rust_analyzer.setup {
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
|
@ -115,8 +133,6 @@ local null_ls = require("null-ls")
|
||||||
local null_ls_custom = {
|
local null_ls_custom = {
|
||||||
diagnostics = {},
|
diagnostics = {},
|
||||||
formatting = {
|
formatting = {
|
||||||
-- TODO this doesn't use the correct formatter for some reason
|
|
||||||
-- likely some kind of directory or direnv issue
|
|
||||||
nix_fmt = {
|
nix_fmt = {
|
||||||
name = "nix fmt",
|
name = "nix fmt",
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -127,8 +143,9 @@ local null_ls_custom = {
|
||||||
filetypes = { "nix" },
|
filetypes = { "nix" },
|
||||||
generator = require("null-ls.helpers").formatter_factory({
|
generator = require("null-ls.helpers").formatter_factory({
|
||||||
command = "nix",
|
command = "nix",
|
||||||
args = { "fmt" },
|
args = { "fmt", "$FILENAME" },
|
||||||
-- to_stdin = true,
|
to_stdin = false,
|
||||||
|
to_temp_file = true,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -155,9 +172,7 @@ null_ls.setup({
|
||||||
"handlebars",
|
"handlebars",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- TODO not properly working yet
|
null_ls_custom.formatting.nix_fmt,
|
||||||
-- null_ls_custom.formatting.nix_fmt,
|
|
||||||
null_ls.builtins.formatting.nixfmt,
|
|
||||||
null_ls.builtins.formatting.rustfmt,
|
null_ls.builtins.formatting.rustfmt,
|
||||||
null_ls.builtins.formatting.terraform_fmt,
|
null_ls.builtins.formatting.terraform_fmt,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue