leap.fnl (1213B)
1 (fn safe_labels [] 2 (if (: (vim.fn.mode 1) :match :no?) "")) 3 4 (fn config [] 5 (let [leap_fn (. (require :leap) :leap) 6 wtk (. (require :leap.user) :with_traversal_keys) 7 clever_s (wtk :s :S) 8 clever_t (wtk :t :T) 9 clever_f (wtk :f :F) 10 ft (fn [kwargs] 11 (leap_fn (vim.tbl_deep_extend :keep kwargs 12 {:inputlen 1 13 :inclusive true 14 :opts {:labels "" 15 :safe_labels (safe_labels)}})))] 16 (vim.keymap.set [:n :x :o] :s (fn [] (ft {:opts clever_s}))) 17 (vim.keymap.set [:n :x :o] :S (fn [] (ft {:backward true :opts clever_s}))) 18 (vim.keymap.set [:n :x :o] :t (fn [] (ft {:offset -1 :opts clever_t}))) 19 (vim.keymap.set [:n :x :o] :T 20 (fn [] (ft {:backward true :offset 1 :opts clever_t}))) 21 (vim.keymap.set [:n :x :o] :f (fn [] (leap_fn {:opts clever_f})) 22 {:desc "leap forward"}) 23 (vim.keymap.set [:n :x :o] :F 24 (fn [] (leap_fn {:backward true :opts clever_f})) 25 {:desc "leap backward"}))) 26 27 {: config}