summaryrefslogtreecommitdiff
path: root/lua/plugins/nonels.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/plugins/nonels.lua')
-rw-r--r--lua/plugins/nonels.lua45
1 files changed, 45 insertions, 0 deletions
diff --git a/lua/plugins/nonels.lua b/lua/plugins/nonels.lua
new file mode 100644
index 0000000..c0c27df
--- /dev/null
+++ b/lua/plugins/nonels.lua
@@ -0,0 +1,45 @@
+return {
+ "nvimtools/none-ls.nvim",
+ enabled = false,
+ dependencies = {
+ { "williamboman/mason.nvim", config = true},
+ {
+ "jay-babu/mason-null-ls.nvim",
+ event = { "BufReadPre", "BufNewFile" },
+ opts = {},
+ },
+ },
+ config = function ()
+ local mason_nullls = require('mason-null-ls')
+ mason_nullls.setup({
+ ensure_installed = {
+ 'gofumpt', -- or gofmt
+ 'golines',
+ },
+ automatic_installation = true,
+ handlers = {}
+ })
+
+ -- autoformatting on save from: https://github.com/jose-elias-alvarez/null-ls.nvim/wiki/Formatting-on-save
+ -- pretty sure this will autoformat any code
+ local nonels = require('null-ls')
+ local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
+ nonels.setup({
+ -- you can reuse a shared lspconfig on_attach callback here
+ on_attach = function(client, bufnr)
+ if client.supports_method("textDocument/formatting") then
+ vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
+ vim.api.nvim_create_autocmd("BufWritePre", {
+ group = augroup,
+ buffer = bufnr,
+ callback = function()
+ -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead
+ -- on later neovim version, you should use vim.lsp.buf.format({ async = false }) instead
+ vim.lsp.buf.format({async = false})
+ end,
+ })
+ end
+ end,
+ })
+ end,
+}