diff options
Diffstat (limited to 'nvim/lua/plugins/null-ls.lua')
-rw-r--r-- | nvim/lua/plugins/null-ls.lua | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/nvim/lua/plugins/null-ls.lua b/nvim/lua/plugins/null-ls.lua index 44ee62c..e3aa45f 100644 --- a/nvim/lua/plugins/null-ls.lua +++ b/nvim/lua/plugins/null-ls.lua @@ -1,12 +1,47 @@ -local null_ls = require("null-ls") +local status_ok, null_ls = pcall(require, "null-ls") +if not status_ok then + return +end +local code_actions = null_ls.builtins.code_actions +local diagnostics = null_ls.builtins.diagnostics local formatting = null_ls.builtins.formatting null_ls.setup({ - sources = { - formatting.prettier, - formatting.black, - formatting.stylua, - formatting.rustfmt, - }, -})
\ No newline at end of file + sources = { + -- Code Actions + code_actions.gitsigns, + -- code_actions.shellcheck, + + -- Diagnostics + -- diagnostics.codespell, + -- diagnostics.luacheck, + -- diagnostics.markdownlint, + -- diagnostics.shellcheck, + + -- Formatting + formatting.prettier, + formatting.black, + formatting.latexindent, + formatting.markdownlint, + formatting.stylua, + formatting.rustfmt.with({ + extra_args = function(params) + local Path = require("plenary.path") + local cargo_toml = Path:new(params.root .. "/" .. "Cargo.toml") + + if cargo_toml:exists() and cargo_toml:is_file() then + for _, line in ipairs(cargo_toml:readlines()) do + local edition = line:match([[^edition%s*=%s*%"(%d+)%"]]) + if edition then + return { "--edition=" .. edition } + end + end + end + -- default edition when we don't find `Cargo.toml` or the `edition` in it. + return { "--edition=2021" } + end, + }), + formatting.shfmt, + }, +}) |