aboutsummaryrefslogtreecommitdiffstats
path: root/lua/simenandre/plugins/conform.lua
diff options
context:
space:
mode:
authorSimen A. W. Olsen <hello@simenandre.no>2024-12-27 15:33:47 +0100
committerSimen A. W. Olsen <hello@simenandre.no>2024-12-27 15:33:47 +0100
commit62df997a42e292c22ee4ce6a5414735cd2e37699 (patch)
treef677b40b7d9b070f5df1f10701f9f8c0af06085d /lua/simenandre/plugins/conform.lua
parent9155cf33ed7533122666e193dad3f76e8a2b890f (diff)
downloadconfig.nvim-62df997a42e292c22ee4ce6a5414735cd2e37699.tar.gz
config.nvim-62df997a42e292c22ee4ce6a5414735cd2e37699.zip
split plugins into each file
Diffstat (limited to 'lua/simenandre/plugins/conform.lua')
-rw-r--r--lua/simenandre/plugins/conform.lua44
1 files changed, 44 insertions, 0 deletions
diff --git a/lua/simenandre/plugins/conform.lua b/lua/simenandre/plugins/conform.lua
new file mode 100644
index 0000000..ad86bfe
--- /dev/null
+++ b/lua/simenandre/plugins/conform.lua
@@ -0,0 +1,44 @@
+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 }
+ local lsp_format_opt
+ if disable_filetypes[vim.bo[bufnr].filetype] then
+ lsp_format_opt = "never"
+ else
+ lsp_format_opt = "fallback"
+ end
+ return {
+ timeout_ms = 500,
+ lsp_format = lsp_format_opt,
+ }
+ 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 },
+ },
+ },
+ },
+}