diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-12-11 11:46:09 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-12-11 11:46:09 +0900 |
| commit | 8c0fe8d0d0dd4bbd16c1095e25b2e3ffa1fdb0d3 (patch) | |
| tree | 597b8dfd730eda9b410fb6082b0bee7fcc7e70e2 /fedora/.config/yazi/plugins/jump-to-char.yazi/main.lua | |
| parent | 74713d79880967f5f0f8652c6741bc5fa63a8794 (diff) | |
updates
Diffstat (limited to 'fedora/.config/yazi/plugins/jump-to-char.yazi/main.lua')
| -rw-r--r-- | fedora/.config/yazi/plugins/jump-to-char.yazi/main.lua | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/fedora/.config/yazi/plugins/jump-to-char.yazi/main.lua b/fedora/.config/yazi/plugins/jump-to-char.yazi/main.lua new file mode 100644 index 0000000..8a434f1 --- /dev/null +++ b/fedora/.config/yazi/plugins/jump-to-char.yazi/main.lua @@ -0,0 +1,32 @@ +--- @since 25.5.31 + +local AVAILABLE_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789." + +local changed = ya.sync(function(st, new) + local b = st.last ~= new + st.last = new + return b or not cx.active.finder +end) + +local escape = function(s) return s == "." and "\\." or s 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 + + local kw = escape(cands[idx].on) + if changed(kw) then + ya.emit("find_do", { "^" .. kw }) + else + ya.emit("find_arrow", {}) + end + end, +} |
