move to mason_null_ls

This commit is contained in:
Thomas Ruoff
2023-04-26 22:05:04 +02:00
parent 477bc1da79
commit 0c79182e03
4 changed files with 70 additions and 42 deletions

View File

@@ -1,38 +0,0 @@
return {
"mhartington/formatter.nvim",
lazy = false,
init = function()
vim.api.nvim_create_augroup('_formatter', { clear = true });
vim.api.nvim_create_autocmd('BufWritePost', {
command = 'FormatWrite',
group = '_formatter',
})
end,
opts = function()
local filetypes = require('formatter.filetypes')
return {
logging = false,
log_level = vim.log.levels.WARN,
filetype = {
lua = {
filetypes.lua.stylua,
},
javascript = {
filetypes.javascript.eslint_d,
},
javascriptreact = {
filetypes.javascript.eslint_d,
},
json = {
filetypes.json.prettierd,
},
rust = {
filetypes.rust.rustfmt,
},
['*'] = {
filetypes.any.remove_trailing_whitespace,
},
},
}
end
}

View File

@@ -0,0 +1,59 @@
return {
"jay-babu/mason-null-ls.nvim",
lazy = false,
-- event = { "BufReadPre", "BufNewFile" },
dependencies = {
"williamboman/mason.nvim",
"jose-elias-alvarez/null-ls.nvim",
},
config = function ()
require("mason").setup()
require("mason-null-ls").setup({
ensure_installed = { 'stylua', 'jq', 'eslint_d' },
automatic_setup = false,
automatic_installation = false,
})
local nls = require('null-ls')
local diagnostics = nls.builtins.diagnostics
local formatting = nls.builtins.formatting
local code_actions = nls.builtins.code_actions
local h = require("null-ls.helpers")
local u = require("null-ls.utils")
local function eslint_d_cwd(params)
return u.root_pattern(
-- https://eslint.org/docs/user-guide/configuring/configuration-files#configuration-file-formats
".eslintrc",
".eslintrc.js",
".eslintrc.cjs",
".eslintrc.yaml",
".eslintrc.yml",
".eslintrc.json"
-- do not respect package.json
-- "package.json",
)(params.bufname)
end
require("null-ls").setup({
debug = true,
sources = {
-- Anything not supported by mason.
diagnostics.eslint_d.with({
cwd = h.cache.by_bufnr(eslint_d_cwd),
-- not sure how to scope this only to bcr's locales
extra_filetypes = { "json" },
}),
formatting.eslint_d.with({
cwd = h.cache.by_bufnr(eslint_d_cwd),
-- not sure how to scope this only to bcr's locales
extra_filetypes = { "json" },
}),
code_actions.eslint_d.with({
cwd = h.cache.by_bufnr(eslint_d_cwd),
-- not sure how to scope this only to bcr's locales
extra_filetypes = { "json" },
}),
code_actions.refactoring,
},
})
end,
}