nix

configuration files that power my machines
Log | Files | Refs | README | LICENSE

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}