diff options
Diffstat (limited to 'lua/kickstart/plugins/conform.lua')
-rw-r--r-- | lua/kickstart/plugins/conform.lua | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lua/kickstart/plugins/conform.lua b/lua/kickstart/plugins/conform.lua new file mode 100644 index 0000000..5057737 --- /dev/null +++ b/lua/kickstart/plugins/conform.lua @@ -0,0 +1,39 @@ +return { + { -- Autoformat + 'stevearc/conform.nvim', + lazy = false, + keys = { + { + '<leader>f', + function() + require('conform').format { async = true, lsp_fallback = true } + 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 } + return { + timeout_ms = 500, + lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype], + } + end, + formatters_by_ft = { + lua = { 'stylua' }, + -- Conform can also run multiple formatters sequentially + -- python = { "isort", "black" }, + -- + -- You can use a sub-list to tell conform to run *until* a formatter + -- is found. + -- javascript = { { "prettierd", "prettier" } }, + }, + }, + }, +} +-- vim: ts=2 sts=2 sw=2 et |