summaryrefslogtreecommitdiff
path: root/fnl/plugins/editor/leap.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/plugins/editor/leap.fnl')
-rw-r--r--fnl/plugins/editor/leap.fnl34
1 files changed, 28 insertions, 6 deletions
diff --git a/fnl/plugins/editor/leap.fnl b/fnl/plugins/editor/leap.fnl
index 0ea27fd..c5b700d 100644
--- a/fnl/plugins/editor/leap.fnl
+++ b/fnl/plugins/editor/leap.fnl
@@ -1,11 +1,33 @@
;; Leap through text.
-(local dependencies {1 :ggandor/flit.nvim
- :event :BufReadPost
- :opts {:keys {:f :f :F :F :t :t :T :T}
- :labeled_modes :v
- :multiline true
- :opts {}}})
+(local dependencies [{1 :ggandor/flit.nvim
+ :event :BufReadPost
+ :opts {:keys {:f :f :F :F :t :t :T :T}
+ :labeled_modes :v
+ :multiline true
+ :opts {}}}
+ {1 :ggandor/leap-spooky.nvim
+ :event :BufReadPost
+ :opts {;; Additional text objects, to be merged with the default ones.
+ ;; E.g.: {'iq', 'aq'}
+ :extra_text_objects nil
+ ;; Mappings will be generated corresponding to all native text objects,
+ ;; like: (ir|ar|iR|aR|im|am|iM|aM){obj}.
+ ;; Special line objects will also be added, by repeating the affixes.
+ ;; E.g. `yrr<leap>` and `ymm<leap>` will yank a line in the current
+ ;; window.
+ :affixes {;; The cursor moves to the targeted object, and stays there.
+ :magnetic {:window :m :cross_window :M}
+ ;; The operation is executed seemingly remotely (the cursor boomerangs
+ ;; back afterwards).
+ :remote {:window :r :cross_window :R}}
+ ;; Defines text objects like `riw`, `raw`, etc., instead of
+ ;; targets.vim-style `irw`, `arw`. (Note: prefix is forced if a custom
+ ;; text object does not start with "a" or "i".)
+ :prefix false
+ ;; The yanked text will automatically be pasted at the cursor position
+ ;; if the unnamed register is in use.
+ :paste_on_remote_yank false}}])
(fn config []
(let [leap (require :leap)]