aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Arcangeli <stevearc@stevearc.com>2024-07-14 23:59:19 -0700
committerSteven Arcangeli <stevearc@stevearc.com>2024-07-19 08:41:31 -0700
commit8b0e62b731429ecd89cdb6c6b8f004f8468bcf71 (patch)
treef81de37229af4d88d044bebf115f9eac4d9a627f
parent485224d476a78c43b3d797e39eced9089be9d6ae (diff)
fix: warn user when they are attempting unsupported behavior
-rw-r--r--lua/conform/init.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/lua/conform/init.lua b/lua/conform/init.lua
index a0f1b3c..5d515c4 100644
--- a/lua/conform/init.lua
+++ b/lua/conform/init.lua
@@ -31,12 +31,33 @@ local function merge_default_opts(a, b)
return a
end
+---@param conf? conform.FiletypeFormatter
+local function check_for_default_opts(conf)
+ if not conf or type(conf) ~= "table" then
+ return
+ end
+ for k in pairs(conf) do
+ if type(k) == "string" then
+ notify(
+ string.format(
+ 'conform.setup: the "_" and "*" keys in formatters_by_ft do not support configuring format options, such as "%s"',
+ k
+ ),
+ vim.log.levels.WARN
+ )
+ break
+ end
+ end
+end
+
---@param opts? conform.setupOpts
M.setup = function(opts)
opts = opts or {}
M.formatters = vim.tbl_extend("force", M.formatters, opts.formatters or {})
M.formatters_by_ft = vim.tbl_extend("force", M.formatters_by_ft, opts.formatters_by_ft or {})
+ check_for_default_opts(M.formatters_by_ft["_"])
+ check_for_default_opts(M.formatters_by_ft["*"])
M.default_format_opts =
vim.tbl_extend("force", M.default_format_opts, opts.default_format_opts or {})