mirror of
https://github.com/tomru/vim.git
synced 2026-03-03 06:27:18 +01:00
60 lines
1.8 KiB
Lua
60 lines
1.8 KiB
Lua
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,
|
|
}
|