feat: add smart-filter and jump-to-char plugins

This commit is contained in:
sxyazi
2024-06-14 12:28:55 +08:00
commit 061899cb34
7 changed files with 161 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
local AVAILABLE_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
local changed = ya.sync(function(st, new)
local b = st.last ~= new
st.last = new
return b
end)
return {
entry = function()
local cands = {}
for i = 1, #AVAILABLE_CHARS do
cands[#cands + 1] = { on = AVAILABLE_CHARS:sub(i, i) }
end
local idx = ya.which { cands = cands, silent = true }
if not idx then
return
end
if changed(cands[idx].on) then
ya.manager_emit("find_do", { insensitive = true, "^" .. cands[idx].on })
else
ya.manager_emit("find_arrow", {})
end
end,
}