From 6d801bcb4e98a6537a975992fc4fa7c94864d3d7 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Tue, 18 Mar 2025 21:51:14 +0100 Subject: [PATCH] Move formatting configuration to separate file --- tasks/neovim.yml | 3 +++ templates/nvim/init.lua.j2 | 2 +- templates/nvim/lua/formatting.lua.j2 | 22 ++++++++++++++++++++++ templates/nvim/lua/lsp.lua.j2 | 24 ------------------------ 4 files changed, 26 insertions(+), 25 deletions(-) create mode 100644 templates/nvim/lua/formatting.lua.j2 diff --git a/tasks/neovim.yml b/tasks/neovim.yml index b647b8d..f6e0696 100644 --- a/tasks/neovim.yml +++ b/tasks/neovim.yml @@ -120,3 +120,6 @@ - src: 'templates/nvim/lua/filetype.lua.j2' dest: '{{ xdg_config_dir }}/nvim/lua/_filetype.lua' + + - src: 'templates/nvim/lua/formatting.lua.j2' + dest: '{{ xdg_config_dir }}/nvim/lua/formatting.lua' diff --git a/templates/nvim/init.lua.j2 b/templates/nvim/init.lua.j2 index 84788ee..309c912 100644 --- a/templates/nvim/init.lua.j2 +++ b/templates/nvim/init.lua.j2 @@ -1,6 +1,5 @@ -- {{ ansible_managed }} --- TODO: load environment vars from .env files require('options') require('_filetype') require('colorscheme') @@ -12,3 +11,4 @@ require('indent-blankline') require('_nvim-tree') require('lua-line') require('_source-link') +require('formatting') diff --git a/templates/nvim/lua/formatting.lua.j2 b/templates/nvim/lua/formatting.lua.j2 new file mode 100644 index 0000000..a6a4ff0 --- /dev/null +++ b/templates/nvim/lua/formatting.lua.j2 @@ -0,0 +1,22 @@ +local enable_formatting = os.getenv("enable_formatting") == 'true'; + +if (enable_formatting) then + vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('lsp', { clear = true }), + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + + if client.server_capabilities.documentFormattingProvider then + vim.api.nvim_create_autocmd('BufWritePre', { + buffer = args.buf, + callback = function() + vim.lsp.buf.format { + async = false, + id = args.data.client_id + } + end, + }) + end + end + }) +end diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 7e9c221..78fd62f 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -187,27 +187,3 @@ vim.diagnostic.config { end }, } - -local enable_formatting = os.getenv("enable_formatting") == 'true'; - --- format buffers before saving for specific LSPs -if (enable_formatting) then - vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('lsp', { clear = true }), - callback = function(args) - local client = vim.lsp.get_client_by_id(args.data.client_id) - - if client.server_capabilities.documentFormattingProvider then - vim.api.nvim_create_autocmd('BufWritePre', { - buffer = args.buf, - callback = function() - vim.lsp.buf.format { - async = false, - id = args.data.client_id - } - end, - }) - end - end - }) -end