feat: add smart-filter and jump-to-char plugins
This commit is contained in:
27
jump-to-char.yazi/init.lua
Normal file
27
jump-to-char.yazi/init.lua
Normal 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,
|
||||
}
|
||||
Reference in New Issue
Block a user