summaryrefslogtreecommitdiff
path: root/home/common/modules/neovim/config/lua/pacman/plugins/conform.lua
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2025-08-31 15:39:39 +0530
committersinanmohd <sinan@sinanmohd.com>2025-08-31 22:28:28 +0530
commit31458b74b81df4ef5101c01b26fc28fc32ee821b (patch)
tree15846c395e3ac5aa085a30d11833b6f531abb345 /home/common/modules/neovim/config/lua/pacman/plugins/conform.lua
parent07854ac073b6c4a3e749078fa113367105a7af08 (diff)
feat(home/common): init neovim
Diffstat (limited to 'home/common/modules/neovim/config/lua/pacman/plugins/conform.lua')
-rw-r--r--home/common/modules/neovim/config/lua/pacman/plugins/conform.lua43
1 files changed, 43 insertions, 0 deletions
diff --git a/home/common/modules/neovim/config/lua/pacman/plugins/conform.lua b/home/common/modules/neovim/config/lua/pacman/plugins/conform.lua
new file mode 100644
index 0000000..ca7c0c0
--- /dev/null
+++ b/home/common/modules/neovim/config/lua/pacman/plugins/conform.lua
@@ -0,0 +1,43 @@
+return {
+ { -- Autoformat
+ 'stevearc/conform.nvim',
+ event = { 'BufWritePre' },
+ cmd = { 'ConformInfo' },
+ keys = {
+ {
+ '<leader>f',
+ function()
+ require('conform').format { async = true, lsp_format = 'fallback' }
+ end,
+ mode = '',
+ desc = '[F]ormat buffer',
+ },
+ },
+ opts = {
+ notify_on_error = false,
+ format_on_save = function(bufnr)
+ -- Disable "format_on_save lsp_fallback" for languages that don't
+ -- have a well standardized coding style. You can add additional
+ -- languages here or re-enable it for the disabled ones.
+ local disable_filetypes = { c = true, cpp = true }
+ if disable_filetypes[vim.bo[bufnr].filetype] then
+ return nil
+ else
+ return {
+ timeout_ms = 500,
+ lsp_format = 'fallback',
+ }
+ end
+ end,
+ formatters_by_ft = {
+ lua = { 'stylua' },
+ -- Conform can also run multiple formatters sequentially
+ -- python = { "isort", "black" },
+ --
+ -- You can use 'stop_after_first' to run the first available formatter from the list
+ -- javascript = { "prettierd", "prettier", stop_after_first = true },
+ },
+ },
+ },
+}
+-- vim: ts=2 sts=2 sw=2 et