Finally modularize neovim configuration

This commit is contained in:
Alex Selimov 2025-09-03 09:05:52 -04:00
parent d4ca4668c4
commit e2697f61fd
No known key found for this signature in database
GPG key ID: BC03C17FF5CFFFD2
16 changed files with 872 additions and 1004 deletions

34
lua/config/formatting.lua Normal file
View file

@ -0,0 +1,34 @@
-- Formatting configuration
-- Set rustfmt command
vim.g["rustfmt_command"] = "rustfmt +nightly"
-- Commands to disable/enable formatting
require("conform").setup({
format_on_save = function(bufnr)
-- Disable with a global or buffer-local variable
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
return
end
return { timeout_ms = 500, lsp_fallback = true }
end,
})
vim.api.nvim_create_user_command("FormatDisable", function(args)
if args.bang then
-- FormatDisable! will disable formatting just for this buffer
vim.b.disable_autoformat = true
else
vim.g.disable_autoformat = true
end
end, {
desc = "Disable autoformat-on-save",
bang = true,
})
vim.api.nvim_create_user_command("FormatEnable", function()
vim.b.disable_autoformat = false
vim.g.disable_autoformat = false
end, {
desc = "Re-enable autoformat-on-save",
})