diff --git a/.config/nvim/lua/plugins/extras/formatting/shfmt.lua b/.config/nvim/lua/plugins/extras/formatting/shfmt.lua new file mode 100644 index 00000000..b1fb8d72 --- /dev/null +++ b/.config/nvim/lua/plugins/extras/formatting/shfmt.lua @@ -0,0 +1,29 @@ +return { + { + "stevearc/conform.nvim", + opts = function(_, opts) + local function add_formatters(tbl) + for ft, formatters in pairs(tbl) do + if opts.formatters_by_ft[ft] == nil then + opts.formatters_by_ft[ft] = formatters + else + vim.list_extend(opts.formatters_by_ft[ft], formatters) + end + end + end + + add_formatters({ + ["sh"] = { "shfmt" }, + ["bash"] = { "shfmt" }, + ["zsh"] = { "shfmt" }, + }) + end, + }, + { + "williamboman/mason.nvim", + opts = function(_, opts) + opts.ensure_installed = opts.ensure_installed or {} + vim.list_extend(opts.ensure_installed, { "shfmt" }) + end, + }, +}