56 lines
1.8 KiB
Lua
56 lines
1.8 KiB
Lua
local null_ls = require "null-ls"
|
|
local virtual = os.getenv "VIRTUAL_ENV" or os.getenv "CONDA_PREFIX" or "/usr" -- TODO: windows
|
|
local opts = {
|
|
debug = true,
|
|
sources = {
|
|
null_ls.builtins.code_actions.refactoring,
|
|
-- null_ls.builtins.diagnostics.mypy.with {
|
|
-- extra_args = { "--python-executable", virtual .. "/bin/python3" },
|
|
-- },
|
|
-- null_ls.builtins.diagnostics.flake8.with {
|
|
-- extra_args = { "--select", "E,W,F", "--ignore", "E501,E402,E722,W503", "--max-line-length", "150" },
|
|
-- },
|
|
-- null_ls.builtins.formatting.autoflake,
|
|
-- null_ls.builtins.formatting.autopep8.with {
|
|
-- extra_args = { "--select", "E,W,F", "--ignore", "E501,E402,E722,W503", "--max-line-length", "150" },
|
|
-- },
|
|
-- Lua
|
|
null_ls.builtins.formatting.stylua,
|
|
-- CSS
|
|
null_ls.builtins.formatting.prettier,
|
|
-- Go
|
|
null_ls.builtins.formatting.gofumpt,
|
|
null_ls.builtins.formatting.goimports,
|
|
null_ls.builtins.code_actions.gomodifytags,
|
|
null_ls.builtins.code_actions.impl,
|
|
-- null_ls.builtins.diagnostics.revive,
|
|
null_ls.builtins.diagnostics.golangci_lint,
|
|
-- Docker
|
|
null_ls.builtins.diagnostics.hadolint,
|
|
--shell,
|
|
null_ls.builtins.formatting.shellharden,
|
|
-- web
|
|
require "none-ls.code_actions.eslint",
|
|
require "none-ls.diagnostics.eslint",
|
|
require "none-ls.formatting.eslint",
|
|
null_ls.builtins.formatting.stylelint,
|
|
},
|
|
-- autoformat on save
|
|
on_attach = function(client, bufnr)
|
|
if client.supports_method "textDocument/formatting" then
|
|
vim.api.nvim_clear_autocmds {
|
|
group = augroup,
|
|
buffer = bufnr,
|
|
}
|
|
vim.api.nvim_create_autocmd("BufWritePre", {
|
|
group = augroup,
|
|
buffer = bufnr,
|
|
callback = function()
|
|
vim.lsp.buf.format { bufnr = bufnr }
|
|
end,
|
|
})
|
|
end
|
|
end,
|
|
}
|
|
|
|
return opts
|