From 067c6aa2eef78e804d25a2da90357bf76cf6348c Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 17 Jun 2025 22:15:04 -0400 Subject: [PATCH] nvim: Change formatter config --- nvim/.config/nvim/lua/plugins/neoformat.lua | 117 +++++++++++++++++--- 1 file changed, 102 insertions(+), 15 deletions(-) diff --git a/nvim/.config/nvim/lua/plugins/neoformat.lua b/nvim/.config/nvim/lua/plugins/neoformat.lua index 9ff3d89..f8cb95f 100644 --- a/nvim/.config/nvim/lua/plugins/neoformat.lua +++ b/nvim/.config/nvim/lua/plugins/neoformat.lua @@ -6,23 +6,110 @@ return { "BufNewFile" }, init = function() - vim.cmd([[ - let g:neoformat_enabled_python = ['autopep8'] - let g:neoformat_enabled_cpp = ['clangformat'] - let g:neoformat_enabled_c = ['clangformat'] - let g:neoformat_enable_lua = ['luaformatter'] - let g:neoformat_enabled_cmake = ['cmakeformat'] + ---------------- + -- Formatters + ---------------- - let g:neoformat_markdown_mdformat = { - \ 'exe': 'mdformat', - \ 'args': ['--wrap=79', '--number'], - \ 'replace': 1, - \ } - let g:neoformat_enabled_markdown = ['mdformat'] + vim.api.nvim_create_autocmd("FileType", { + pattern = "python", + callback = function() + vim.g.neoformat_python_autopep8 = { + exe = 'autopep8', + args = {'--max-line-length', '79', '--experimental'}, + -- replace = 1 + } + vim.g.neoformat_enabled_python = { + 'autopep8' + } + end + }) - let g:neoformat_enabled_latex = ['latexindent'] - let g:latexindent_opt="-m -l -g=/dev/null" - ]]) + vim.api.nvim_create_autocmd("FileType", { + pattern = { + "cpp", + "c" + }, + callback = function() + vim.g.neoformat_enabled_cpp = { + 'clangformat' + } + vim.g.neoformat_enabled_c = { + 'clangformat' + } + end + }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = "lua", + callback = function() + vim.g.neoformat_enable_lua = { + 'luaformatter' + } + end + }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = "cmake", + callback = function() + vim.g.neoformat_enabled_cmake = { + 'cmake-format' + } + end + }) + + -- Commented out rust formatter + -- vim.api.nvim_create_autocmd("FileType", { + -- pattern = "rust", + -- callback = function() + -- vim.g.neoformat_enabled_rust = {'rustfmt'} + -- end + -- }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = "markdown", + callback = function() + vim.g.neoformat_markdown_mdformat = { + exe = 'mdformat', + args = { + '--wrap=79', + '--number' + }, + replace = 1 + } + vim.g.neoformat_enabled_markdown = { + 'mdformat' + } + end + }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = "tex", + callback = function() + vim.g.neoformat_tex_texfmt = { + exe = "tex-fmt", + args = { + "--stdin", + "--tabsize", + "4" + }, + stdin = 1 + } + vim.g.neoformat_enabled_tex = { + "texfmt" + } + end + }) + + ---------------- + -- Other + ---------------- + + -- vim.cmd([[ + -- augroup Neoformat + -- autocmd! + -- autocmd BufWritePre * undojoin | Neoformat + -- augroup END + -- ]]) vim.api.nvim_set_keymap('n', '', 'Neoformat', { noremap = true,