summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/conform.lua
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-04-24 11:36:39 +0300
committerKyren223 <Kyren223@proton.me>2025-04-24 11:36:39 +0300
commit6bef8f32b19778fdfe52f0eb39719425508dcc7b (patch)
treef293141ed7e8676b76bb06c07a0fa9472b10e2ac /.config/nvim/lua/plugins/conform.lua
parentdbd9a6fdd0c44e26b200fb706aacd120a2e09c47 (diff)
Refactored nvim config to make it easier and less insanely nested
Diffstat (limited to '.config/nvim/lua/plugins/conform.lua')
-rw-r--r--.config/nvim/lua/plugins/conform.lua38
1 files changed, 38 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua
new file mode 100644
index 0000000..fe3356f
--- /dev/null
+++ b/.config/nvim/lua/plugins/conform.lua
@@ -0,0 +1,38 @@
+return {
+ 'stevearc/conform.nvim',
+ event = { 'BufWritePre' },
+ cmd = { 'ConformInfo' },
+ keys = {
+ { '<leader>ft', '<cmd>FormatToggle<cr>', desc = '[F]ormat [T]oggle Globally' },
+ { '<leader>fT', '<cmd>FormatToggle!<cr>', desc = '[F]ormat [T]oggle Locally' },
+ { '<leader>ff', '<cmd>Format<cr>', desc = '[F]ormat [F]ile' },
+ { '<leader>f', '<cmd>Format<cr><esc>', desc = '[F]ormat', mode = 'v' },
+ },
+ ---@module "conform"
+ ---@type conform.setupOpts
+ opts = {
+ formatters_by_ft = {
+ ['lua'] = { 'stylua' },
+ ['c'] = { 'clang-format' },
+ -- ['python'] = { 'isort', 'black' },
+ -- ['rust'] = { 'rustfmt' },
+ ['go'] = { 'gofumpt', 'goimports-reviser' },
+ ['markdown'] = { 'prettierd', 'prettier', stop_after_first = true },
+ ['yaml'] = { 'prettierd' },
+ ['json'] = { 'jq' },
+ ['html'] = { 'prettierd', 'prettier', stop_after_first = true },
+ ['css'] = { 'prettierd', 'prettier', stop_after_first = true },
+ ['javascript'] = { 'prettierd', 'prettier', stop_after_first = true },
+ ['typescript'] = { 'prettierd', 'prettier', stop_after_first = true },
+ },
+ 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,
+ notify_on_error = true,
+ lsp_fallback = true,
+ },
+}