aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/null-ls.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/plugins/null-ls.lua')
-rw-r--r--.config/nvim/lua/plugins/null-ls.lua79
1 files changed, 79 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/null-ls.lua b/.config/nvim/lua/plugins/null-ls.lua
new file mode 100644
index 0000000..f50827a
--- /dev/null
+++ b/.config/nvim/lua/plugins/null-ls.lua
@@ -0,0 +1,79 @@
+--[[null-ls.]]
+--
+-- null-language-server i.e. a sort of language server which does not provide any services such as formatting and diagnostics you expect from a language server. Instead it will need to install corresponding external “sources” and then hook these sources into the neovim lsp client through null-ls.
+--
+require("null-ls").setup({
+ --debug = true,
+ disabled_filetypes = { "PKGBUILD" },
+ timeout_ms = 5000,
+ async = true,
+ debounce = 150,
+ sources = {
+ --require("null-ls").builtins.formatting.shfmt, -- shell script formatting
+ require("null-ls").builtins.diagnostics.dotenv_linter,
+ --require("null-ls").builtins.diagnostics.editorconfig_checker,
+ require("null-ls").builtins.formatting.shfmt.with({
+ filetypes = { "bash", "zsh", "sh" },
+ extra_args = { "-i", "2", "-ci" },
+ }),
+ require("null-ls").builtins.formatting.prettier, -- markdown formatting
+ --require("null-ls").builtins.diagnostics.shellcheck, -- shell script diagnostics
+ require("null-ls").builtins.diagnostics.shellcheck.with({
+ diagnostic_config = {
+ -- see :help vim.diagnostic.config()
+ underline = true,
+ virtual_text = false,
+ signs = true,
+ update_in_insert = false,
+ severity_sort = true,
+ },
+ diagnostics_format = "[#{c}] #{m} (#{s})",
+ -- this will run every time the source runs,
+ -- so you should prefer caching results if possible
+ }),
+-- require("null-ls").builtins.formatting.stylua, -- lua formatting
+-- require("null-ls").builtins.formatting.prettier.with({ -- markdown, html/js formatting
+-- filetypes = { "html", "css", "javascript", "javascriptreact", "markdown", "json", "yaml" },
+-- }),
+-- require("null-ls").builtins.formatting.black,
+-- require("null-ls").builtins.formatting.prettierd,
+-- require("null-ls").builtins.diagnostics.cspell.with {
+-- filetypes = { "python", "rust", "typescript" },
+-- },
+-- --require("null-ls").builtins.diagnostics.luacheck,
+-- --require("null-ls").builtins.diagnostics.eslint,
+-- --require("null-ls").builtins.diagnostics.eslint_d,
+-- require("null-ls").builtins.diagnostics.mdl,
+-- require("null-ls").builtins.diagnostics.vint,
+-- require("null-ls").builtins.completion.spell,
+-- require("null-ls").builtins.formatting.clang_format,
+-- require("null-ls").builtins.formatting.rustfmt,
+-- require("null-ls").builtins.formatting.sql_formatter,
+-- --require("null-ls").builtins.formatting.google_java_format,
+-- require("null-ls").builtins.diagnostics.cppcheck,
+ require("null-ls").builtins.formatting.shellharden,
+-- --require("null-ls").builtins.code_actions.eslint_d,
+ require("null-ls").builtins.code_actions.shellcheck, -- shell script code actions
+ require("null-ls").builtins.formatting.clang_format,
+ require("null-ls").builtins.formatting.rustfmt,
+ --require("null-ls").builtins.formatting.beautysh,
+ require("null-ls").builtins.formatting.sql_formatter,
+ require("null-ls").builtins.diagnostics.todo_comments,
+ --require("null-ls").builtins.diagnostics.zsh,
+ require("null-ls").builtins.hover.dictionary,
+ require("null-ls").builtins.hover.printenv,
+ },
+ -- default_timeout = 5000,
+ -- diagnostics_format = '[#{c}] #{m} (#{s})',
+ -- fallback_severity = vim.diagnostic.severity.ERROR,
+ -- log = {
+ -- enable = true,
+ -- level = 'warn',
+ -- use_console = 'async',
+ -- },
+ --on_attach = nil,
+ --on_init = nil,
+ --on_exit = nil,
+ --update_in_insert = false,
+ --update_in_leave = false,
+})