aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim/lua/plugins/null-ls.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/plugins/null-ls.lua')
-rw-r--r--nvim/lua/plugins/null-ls.lua51
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,
+ },
+})