From f40dc276e2b510f230e38068578559735a202330 Mon Sep 17 00:00:00 2001 From: Noah Masur <7386960+nmasur@users.noreply.github.com> Date: Wed, 24 Nov 2021 09:03:18 -0500 Subject: [PATCH] null-ls formatting --- nvim.configlink/init.lua | 92 ++++++++++++++++++++++++------------- nvim.configlink/stylua.toml | 1 + 2 files changed, 62 insertions(+), 31 deletions(-) create mode 100644 nvim.configlink/stylua.toml diff --git a/nvim.configlink/init.lua b/nvim.configlink/init.lua index a995532..da30cc3 100644 --- a/nvim.configlink/init.lua +++ b/nvim.configlink/init.lua @@ -145,38 +145,68 @@ require('packer').startup(function(use) cmd = { "poetry", "run", "pyright-langserver", "--stdio" }, capabilities = capabilities, } - if require('lspconfig/util').has_bins('diagnostic-languageserver') then - require('lspconfig').diagnosticls.setup{ - cmd = { "diagnostic-languageserver", "--stdio" }, - filetypes = { "sh" }, - on_attach = on_attach, - init_options = { - filetypes = { sh = "shellcheck" }, - linters = { - shellcheck = { - sourceName = "shellcheck", - command = "shellcheck", - debounce = 100, - args = { "--format=gcc", "-" }, - offsetLine = 0, - offsetColumn = 0, - formatLines = 1, - formatPattern = { - "^[^:]+:(\\d+):(\\d+):\\s+([^:]+):\\s+(.*)$", - { line = 1, column = 2, message = 4, security = 3 } - }, - securities = { error = "error", warning = "warning", } - }, - } - } - } - end + -- if require('lspconfig/util').has_bins('diagnostic-languageserver') then + -- require('lspconfig').diagnosticls.setup{ + -- cmd = { "diagnostic-languageserver", "--stdio" }, + -- filetypes = { "sh" }, + -- on_attach = on_attach, + -- init_options = { + -- filetypes = { sh = "shellcheck" }, + -- linters = { + -- shellcheck = { + -- sourceName = "shellcheck", + -- command = "shellcheck", + -- debounce = 100, + -- args = { "--format=gcc", "-" }, + -- offsetLine = 0, + -- offsetColumn = 0, + -- formatLines = 1, + -- formatPattern = { + -- "^[^:]+:(\\d+):(\\d+):\\s+([^:]+):\\s+(.*)$", + -- { line = 1, column = 2, message = 4, security = 3 } + -- }, + -- securities = { error = "error", warning = "warning", } + -- }, + -- } + -- } + -- } + -- end end } -- Pretty highlights use 'folke/lsp-colors.nvim' + -- Linting + use { + 'jose-elias-alvarez/null-ls.nvim', + requires = { + 'nvim-lua/plenary.nvim', + 'neovim/nvim-lspconfig' + }, + config = function() + require("null-ls").config({ + sources = { + require("null-ls").builtins.formatting.stylua, + require("null-ls").builtins.formatting.black, + require("null-ls").builtins.formatting.fish_indent, + require("null-ls").builtins.formatting.reorder_python_imports, + require("null-ls").builtins.formatting.nixfmt, + require("null-ls").builtins.formatting.rustfmt, + require("null-ls").builtins.formatting.shfmt.with( { + extra_args = {"-i", "4", "-ci"} + }), + require("null-ls").builtins.formatting.terraform_fmt, + require("null-ls").builtins.diagnostics.shellcheck, + -- require("null-ls").builtins.diagnostics.luacheck, + -- require("null-ls").builtins.diagnostics.markdownlint, + -- require("null-ls").builtins.diagnostics.pylint, + } + }) + require("lspconfig")["null-ls"].setup({}) + end + } + -- ======================================================================= -- Completion System -- ======================================================================= @@ -282,7 +312,6 @@ require('packer').startup(function(use) -- Additional syntax sources use 'bfontaine/Brewfile.vim' --- Brewfile syntax use 'chr4/nginx.vim' --- Nginx syntax - use 'hashivim/vim-terraform' --- Terraform formatting use 'towolf/vim-helm' --- Helm syntax use 'rodjek/vim-puppet' --- Puppet syntax use 'blankname/vim-fish' --- Better fish syntax @@ -439,6 +468,11 @@ vim.api.nvim_exec([[ endif ]], false) +-- Formatting +vim.api.nvim_exec([[ + au BufWritePost * silent! lua vim.lsp.buf.formatting() +]], false) + -- LaTeX options vim.api.nvim_exec([[ au FileType tex inoremap ;bf \textbf{}i @@ -457,10 +491,6 @@ vim.g.netrw_winsize = 15 -- Explore window takes % of page vim.g.netrw_browse_split = 4 -- Open in previous window vim.g.netrw_altv = 1 -- Always split left --- Formatting -vim.g.terraform_fmt_on_save = 1 -- Formats with terraform plugin -vim.g.rustfmt_autosave = 1 -- Formats with rust plugin - -- VimWiki vim.g.vimwiki_list = { { diff --git a/nvim.configlink/stylua.toml b/nvim.configlink/stylua.toml new file mode 100644 index 0000000..394e884 --- /dev/null +++ b/nvim.configlink/stylua.toml @@ -0,0 +1 @@ +indent_type = "Spaces"