aboutsummaryrefslogtreecommitdiff
path: root/lua/plugins/null-ls.lua
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2022-12-16 23:38:53 +0200
committersrdusr <trevorgray@srdusr.com>2022-12-16 23:38:53 +0200
commit52ed18452c16ed012e646df059859cb7925c1d8d (patch)
treed8c35c98bafe2404c22ae2f186b79bddd673b683 /lua/plugins/null-ls.lua
downloaddotfiles-52ed18452c16ed012e646df059859cb7925c1d8d.tar.gz
dotfiles-52ed18452c16ed012e646df059859cb7925c1d8d.zip
Squashed 'config/nvim/' content from commit f63391e
git-subtree-dir: config/nvim git-subtree-split: f63391eac31d51b5bab84456b6900fdb3b46a285
Diffstat (limited to 'lua/plugins/null-ls.lua')
-rw-r--r--lua/plugins/null-ls.lua44
1 files changed, 44 insertions, 0 deletions
diff --git a/lua/plugins/null-ls.lua b/lua/plugins/null-ls.lua
new file mode 100644
index 0000000..4573a54
--- /dev/null
+++ b/lua/plugins/null-ls.lua
@@ -0,0 +1,44 @@
+local null_ls_status_ok, null_ls = pcall(require, "null-ls")
+if not null_ls_status_ok then
+ return
+end
+--[[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.
+--
+
+null_ls.setup({
+ debug = true,
+ sources = {
+ 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.shfmt.with({ -- shell script formatting
+ filetypes = { "bash", "zsh", "sh" },
+ }),
+ require("null-ls").builtins.diagnostics.shellcheck, -- shell script diagnostics
+ require("null-ls").builtins.code_actions.shellcheck, -- shell script code actions
+ --require("null-ls").builtins.formatting.black,
+ --require("null-ls").builtins.formatting.prettierd,
+ --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.codeactions.eslint_d,
+ --require("null-ls").builtins.completion.spell,
+ },
+ on_attach = function(client, bufnr)
+ if client.server_capabilities.document_formatting then
+ local group = vim.api.nvim_create_augroup("NullLsFormatting", { clear = true })
+ vim.api.nvim_create_autocmd("BufWritePre", {
+ callback = function()
+ vim.lsp.buf.formatting_sync(nil, 4000)
+ end,
+ buffer = bufnr,
+ group = group,
+ })
+ end
+ end,
+})