feat(lsp): check for eslint config and package.json before starting eslint
This commit is contained in:
parent
20c5f2d9f9
commit
11af995b75
2 changed files with 19 additions and 4 deletions
|
@ -2,14 +2,30 @@ local config = require('cosmic.config')
|
||||||
local defaults = require('cosmic.lsp.providers.defaults')
|
local defaults = require('cosmic.lsp.providers.defaults')
|
||||||
local null_ls = require('null-ls')
|
local null_ls = require('null-ls')
|
||||||
|
|
||||||
|
local has_eslint_config = function(utils)
|
||||||
|
return utils.root_has_file('.eslintrc')
|
||||||
|
or utils.root_has_file('.eslintrc.json')
|
||||||
|
or utils.root_has_file('.eslintrc.js')
|
||||||
|
or utils.root_has_file('package.json')
|
||||||
|
or utils.root_has_file('.eslintrc.cjs')
|
||||||
|
or utils.root_has_file('.eslintrc.yaml')
|
||||||
|
or utils.root_has_file('.eslintrc.yml')
|
||||||
|
end
|
||||||
|
|
||||||
local config_opts = config.lsp.servers.null_ls or {}
|
local config_opts = config.lsp.servers.null_ls or {}
|
||||||
null_ls.config(vim.tbl_deep_extend('force', {
|
null_ls.config(vim.tbl_deep_extend('force', {
|
||||||
-- you must define at least one source for the plugin to work
|
-- you must define at least one source for the plugin to work
|
||||||
sources = {
|
sources = {
|
||||||
null_ls.builtins.code_actions.eslint_d,
|
null_ls.builtins.code_actions.eslint_d.with({
|
||||||
|
condition = has_eslint_config,
|
||||||
|
}),
|
||||||
|
null_ls.builtins.diagnostics.eslint_d.with({
|
||||||
|
condition = has_eslint_config,
|
||||||
|
}),
|
||||||
|
null_ls.builtins.formatting.eslint_d.with({
|
||||||
|
condition = has_eslint_config,
|
||||||
|
}),
|
||||||
null_ls.builtins.code_actions.gitsigns,
|
null_ls.builtins.code_actions.gitsigns,
|
||||||
null_ls.builtins.diagnostics.eslint_d,
|
|
||||||
null_ls.builtins.formatting.eslint_d,
|
|
||||||
null_ls.builtins.formatting.prettierd,
|
null_ls.builtins.formatting.prettierd,
|
||||||
null_ls.builtins.formatting.stylua,
|
null_ls.builtins.formatting.stylua,
|
||||||
},
|
},
|
||||||
|
|
|
@ -59,4 +59,3 @@ highlight('NotifyTRACEIcon', nil, colors.trace)
|
||||||
|
|
||||||
vim.cmd('hi FloatBorder guibg=None')
|
vim.cmd('hi FloatBorder guibg=None')
|
||||||
vim.cmd('hi! link FloatermBorder FloatBorder')
|
vim.cmd('hi! link FloatermBorder FloatBorder')
|
||||||
vim.cmd('hi link Floaterm NormalFloat')
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue