From 18e3249ba8bfea656b02308225684e893d0273fa Mon Sep 17 00:00:00 2001 From: srdusr Date: Fri, 16 Dec 2022 23:42:45 +0200 Subject: Squashed '.config/nvim/' content from commit f63391e git-subtree-dir: .config/nvim git-subtree-split: f63391eac31d51b5bab84456b6900fdb3b46a285 --- lua/plugins/null-ls.lua | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 lua/plugins/null-ls.lua (limited to 'lua/plugins/null-ls.lua') 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, +}) -- cgit v1.2.3