refactor(picker): canonicalize backend names into single table

Problem: picker backend names were hard-coded as string literals in
`picker/init.lua`, `health.lua`, and `init.lua` validation, making
them easy to get out of sync.

Solution: export `backends` and `detect_order` from `forge.picker` and
reference them in health check and config validation instead of
duplicating the name strings.
This commit is contained in:
Barrett Ruth 2026-03-28 17:50:11 -04:00
parent 97698c2af1
commit ac8db6851f
No known key found for this signature in database
GPG key ID: A6C96C9349D2FC81
3 changed files with 13 additions and 17 deletions

View file

@ -725,8 +725,9 @@ function M.config()
cfg.keys = false
end
local picker_backends = require('forge.picker').backends
vim.validate('forge.picker', cfg.picker, function(v)
return v == 'auto' or v == 'fzf-lua' or v == 'telescope' or v == 'snacks'
return v == 'auto' or picker_backends[v] ~= nil
end, "'auto', 'fzf-lua', 'telescope', or 'snacks'")
vim.validate('forge.sources', cfg.sources, 'table')
vim.validate('forge.keys', cfg.keys, function(v)