@@ -3,99 +3,109 @@ if exists('g:loaded_fall_mapping')
3
3
endif
4
4
let g: loaded_fall_mapping = 1
5
5
6
+ function ! s: dispatch (event ) abort
7
+ call fall#internal#dispatch (a: event )
8
+ endfunction
9
+
6
10
" List
7
- cnoremap <silent> <Plug> (fall-list-first) <Cmd> call fall#internal# dispatch(#{type: 'move-cursor-at', cursor: 0})<CR>
8
- cnoremap <silent> <Plug> (fall-list-last) <Cmd> call fall#internal# dispatch(#{type: 'move-cursor-at', cursor: '$'})<CR>
9
- cnoremap <silent> <Plug> (fall-list-prev) <Cmd> call fall#internal# dispatch(#{type: 'move-cursor', amount: -1})<CR>
10
- cnoremap <silent> <Plug> (fall-list-next) <Cmd> call fall#internal# dispatch(#{type: 'move-cursor', amount: 1})<CR>
11
- cnoremap <silent> <Plug> (fall-list-prev:scroll) <Cmd> call fall#internal# dispatch(#{type: 'move-cursor', amount: -1, scroll: v:true})<CR>
12
- cnoremap <silent> <Plug> (fall-list-next:scroll) <Cmd> call fall#internal# dispatch(#{type: 'move-cursor', amount: 1, scroll: v:true})<CR>
13
- cnoremap <silent> <Plug> (fall-list-left) <Cmd> call fall#internal# dispatch(#{type: 'list-component-execute', command: 'silent! normal! zh'})<CR>
14
- cnoremap <silent> <Plug> (fall-list-right) <Cmd> call fall#internal# dispatch(#{type: 'list-component-execute', command: 'silent! normal! zl'})<CR>
15
- cnoremap <silent> <Plug> (fall-list-left:scroll) <Cmd> call fall#internal# dispatch(#{type: 'list-component-execute', command: 'silent! normal! zH'})<CR>
16
- cnoremap <silent> <Plug> (fall-list-right:scroll) <Cmd> call fall#internal# dispatch(#{type: 'list-component-execute', command: 'silent! normal! zL'})<CR>
11
+ cnoremap <silent> <Plug> (fall-list-first) <Cmd> call <SID> dispatch(#{type: 'move-cursor-at', cursor: 0})<CR>
12
+ cnoremap <silent> <Plug> (fall-list-last) <Cmd> call <SID> dispatch(#{type: 'move-cursor-at', cursor: '$'})<CR>
13
+ cnoremap <silent> <Plug> (fall-list-prev) <Cmd> call <SID> dispatch(#{type: 'move-cursor', amount: -1})<CR>
14
+ cnoremap <silent> <Plug> (fall-list-next) <Cmd> call <SID> dispatch(#{type: 'move-cursor', amount: 1})<CR>
15
+ cnoremap <silent> <Plug> (fall-list-prev:scroll) <Cmd> call <SID> dispatch(#{type: 'move-cursor', amount: -1, scroll: v:true})<CR>
16
+ cnoremap <silent> <Plug> (fall-list-next:scroll) <Cmd> call <SID> dispatch(#{type: 'move-cursor', amount: 1, scroll: v:true})<CR>
17
+ cnoremap <silent> <Plug> (fall-list-left) <Cmd> call <SID> dispatch(#{type: 'list-component-execute', command: 'silent! normal! zh'})<CR>
18
+ cnoremap <silent> <Plug> (fall-list-right) <Cmd> call <SID> dispatch(#{type: 'list-component-execute', command: 'silent! normal! zl'})<CR>
19
+ cnoremap <silent> <Plug> (fall-list-left:scroll) <Cmd> call <SID> dispatch(#{type: 'list-component-execute', command: 'silent! normal! zH'})<CR>
20
+ cnoremap <silent> <Plug> (fall-list-right:scroll) <Cmd> call <SID> dispatch(#{type: 'list-component-execute', command: 'silent! normal! zL'})<CR>
17
21
18
22
" Select
19
- cnoremap <silent> <Plug> (fall-select) <Cmd> call fall#internal# dispatch(#{type: 'select-item'})<CR>
20
- cnoremap <silent> <Plug> (fall-select-all) <Cmd> call fall#internal# dispatch(#{type: 'select-all-items'})<CR>
23
+ cnoremap <silent> <Plug> (fall-select) <Cmd> call <SID> dispatch(#{type: 'select-item'})<CR>
24
+ cnoremap <silent> <Plug> (fall-select-all) <Cmd> call <SID> dispatch(#{type: 'select-all-items'})<CR>
21
25
22
26
" Switch
23
- cnoremap <silent> <Plug> (fall-switch-matcher-first) <Cmd> call fall#internal# dispatch(#{type: 'switch-matcher-at', index: 0})<CR>
24
- cnoremap <silent> <Plug> (fall-switch-matcher-last) <Cmd> call fall#internal# dispatch(#{type: 'switch-matcher-at', index: '$'})<CR>
25
- cnoremap <silent> <Plug> (fall-switch-matcher-prev) <Cmd> call fall#internal# dispatch(#{type: 'switch-matcher', amount: -1, cycle: v:true})<CR>
26
- cnoremap <silent> <Plug> (fall-switch-matcher-next) <Cmd> call fall#internal# dispatch(#{type: 'switch-matcher', amount: 1, cycle: v:true})<CR>
27
- cnoremap <silent> <Plug> (fall-switch-sorter-first) <Cmd> call fall#internal# dispatch(#{type: 'switch-sorter-at', index: 0})<CR>
28
- cnoremap <silent> <Plug> (fall-switch-sorter-last) <Cmd> call fall#internal# dispatch(#{type: 'switch-sorter-at', index: '$'})<CR>
29
- cnoremap <silent> <Plug> (fall-switch-sorter-prev) <Cmd> call fall#internal# dispatch(#{type: 'switch-sorter', amount: -1, cycle: v:true})<CR>
30
- cnoremap <silent> <Plug> (fall-switch-sorter-next) <Cmd> call fall#internal# dispatch(#{type: 'switch-sorter', amount: 1, cycle: v:true})<CR>
31
- cnoremap <silent> <Plug> (fall-switch-renderer-first) <Cmd> call fall#internal# dispatch(#{type: 'switch-renderer-at', index: 0})<CR>
32
- cnoremap <silent> <Plug> (fall-switch-renderer-last) <Cmd> call fall#internal# dispatch(#{type: 'switch-renderer-at', index: '$'})<CR>
33
- cnoremap <silent> <Plug> (fall-switch-renderer-prev) <Cmd> call fall#internal# dispatch(#{type: 'switch-renderer', amount: -1, cycle: v:true})<CR>
34
- cnoremap <silent> <Plug> (fall-switch-renderer-next) <Cmd> call fall#internal# dispatch(#{type: 'switch-renderer', amount: 1, cycle: v:true})<CR>
35
- cnoremap <silent> <Plug> (fall-switch-previewer-first) <Cmd> call fall#internal# dispatch(#{type: 'switch-previewer-at', index: 0})<CR>
36
- cnoremap <silent> <Plug> (fall-switch-previewer-last) <Cmd> call fall#internal# dispatch(#{type: 'switch-previewer-at', index: '$'})<CR>
37
- cnoremap <silent> <Plug> (fall-switch-previewer-prev) <Cmd> call fall#internal# dispatch(#{type: 'switch-previewer', amount: -1, cycle: v:true})<CR>
38
- cnoremap <silent> <Plug> (fall-switch-previewer-next) <Cmd> call fall#internal# dispatch(#{type: 'switch-previewer', amount: 1, cycle: v:true})<CR>
27
+ cnoremap <silent> <Plug> (fall-switch-matcher-first) <Cmd> call <SID> dispatch(#{type: 'switch-matcher-at', index: 0})<CR>
28
+ cnoremap <silent> <Plug> (fall-switch-matcher-last) <Cmd> call <SID> dispatch(#{type: 'switch-matcher-at', index: '$'})<CR>
29
+ cnoremap <silent> <Plug> (fall-switch-matcher-prev) <Cmd> call <SID> dispatch(#{type: 'switch-matcher', amount: -1, cycle: v:true})<CR>
30
+ cnoremap <silent> <Plug> (fall-switch-matcher-next) <Cmd> call <SID> dispatch(#{type: 'switch-matcher', amount: 1, cycle: v:true})<CR>
31
+ cnoremap <silent> <Plug> (fall-switch-sorter-first) <Cmd> call <SID> dispatch(#{type: 'switch-sorter-at', index: 0})<CR>
32
+ cnoremap <silent> <Plug> (fall-switch-sorter-last) <Cmd> call <SID> dispatch(#{type: 'switch-sorter-at', index: '$'})<CR>
33
+ cnoremap <silent> <Plug> (fall-switch-sorter-prev) <Cmd> call <SID> dispatch(#{type: 'switch-sorter', amount: -1, cycle: v:true})<CR>
34
+ cnoremap <silent> <Plug> (fall-switch-sorter-next) <Cmd> call <SID> dispatch(#{type: 'switch-sorter', amount: 1, cycle: v:true})<CR>
35
+ cnoremap <silent> <Plug> (fall-switch-renderer-first) <Cmd> call <SID> dispatch(#{type: 'switch-renderer-at', index: 0})<CR>
36
+ cnoremap <silent> <Plug> (fall-switch-renderer-last) <Cmd> call <SID> dispatch(#{type: 'switch-renderer-at', index: '$'})<CR>
37
+ cnoremap <silent> <Plug> (fall-switch-renderer-prev) <Cmd> call <SID> dispatch(#{type: 'switch-renderer', amount: -1, cycle: v:true})<CR>
38
+ cnoremap <silent> <Plug> (fall-switch-renderer-next) <Cmd> call <SID> dispatch(#{type: 'switch-renderer', amount: 1, cycle: v:true})<CR>
39
+ cnoremap <silent> <Plug> (fall-switch-previewer-first) <Cmd> call <SID> dispatch(#{type: 'switch-previewer-at', index: 0})<CR>
40
+ cnoremap <silent> <Plug> (fall-switch-previewer-last) <Cmd> call <SID> dispatch(#{type: 'switch-previewer-at', index: '$'})<CR>
41
+ cnoremap <silent> <Plug> (fall-switch-previewer-prev) <Cmd> call <SID> dispatch(#{type: 'switch-previewer', amount: -1, cycle: v:true})<CR>
42
+ cnoremap <silent> <Plug> (fall-switch-previewer-next) <Cmd> call <SID> dispatch(#{type: 'switch-previewer', amount: 1, cycle: v:true})<CR>
39
43
40
44
" Preview
41
- cnoremap <silent> <Plug> (fall-preview-first) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! gg'})<CR>
42
- cnoremap <silent> <Plug> (fall-preview-last) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! G'})<CR>
43
- cnoremap <silent> <Plug> (fall-preview-prev) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! k'})<CR>
44
- cnoremap <silent> <Plug> (fall-preview-next) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! j'})<CR>
45
- cnoremap <silent> <Plug> (fall-preview-prev:scroll) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! <C-u> '})<CR>
46
- cnoremap <silent> <Plug> (fall-preview-next:scroll) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! <C-d> '})<CR>
47
- cnoremap <silent> <Plug> (fall-preview-left) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zh'})<CR>
48
- cnoremap <silent> <Plug> (fall-preview-right) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zl'})<CR>
49
- cnoremap <silent> <Plug> (fall-preview-left:scroll) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zH'})<CR>
50
- cnoremap <silent> <Plug> (fall-preview-right:scroll) <Cmd> call fall#internal# dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zL'})<CR>
45
+ cnoremap <silent> <Plug> (fall-preview-first) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! gg'})<CR>
46
+ cnoremap <silent> <Plug> (fall-preview-last) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! G'})<CR>
47
+ cnoremap <silent> <Plug> (fall-preview-prev) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! k'})<CR>
48
+ cnoremap <silent> <Plug> (fall-preview-next) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! j'})<CR>
49
+ cnoremap <silent> <Plug> (fall-preview-prev:scroll) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! <C-u> '})<CR>
50
+ cnoremap <silent> <Plug> (fall-preview-next:scroll) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! <C-d> '})<CR>
51
+ cnoremap <silent> <Plug> (fall-preview-left) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zh'})<CR>
52
+ cnoremap <silent> <Plug> (fall-preview-right) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zl'})<CR>
53
+ cnoremap <silent> <Plug> (fall-preview-left:scroll) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zH'})<CR>
54
+ cnoremap <silent> <Plug> (fall-preview-right:scroll) <Cmd> call <SID> dispatch(#{type: 'preview-component-execute', command: 'silent! normal! zL'})<CR>
51
55
52
56
" Help
53
- cnoremap <silent> <Plug> (fall-help) <Cmd> call fall#internal# dispatch(#{type: 'help-component-toggle'})<CR>
54
- cnoremap <silent> <Plug> (fall-help-prev) <Cmd> call fall#internal# dispatch(#{type: 'help-component-page', amount: -1})<CR>
55
- cnoremap <silent> <Plug> (fall-help-next) <Cmd> call fall#internal# dispatch(#{type: 'help-component-page', amount: 1})<CR>
57
+ cnoremap <silent> <Plug> (fall-help) <Cmd> call <SID> dispatch(#{type: 'help-component-toggle'})<CR>
58
+ cnoremap <silent> <Plug> (fall-help-prev) <Cmd> call <SID> dispatch(#{type: 'help-component-page', amount: -1})<CR>
59
+ cnoremap <silent> <Plug> (fall-help-next) <Cmd> call <SID> dispatch(#{type: 'help-component-page', amount: 1})<CR>
56
60
57
61
" Action
58
62
cnoremap <silent> <Plug> (fall-action-select) <Cmd> call fall#action('@select')<CR>
59
63
60
64
if ! get (g: , ' fall_disable_default_mapping' )
65
+ function ! s: define (lhs, rhs) abort
66
+ if ! hasmapto (a: rhs , ' c' )
67
+ execute ' cnoremap <silent> <nowait> ' . a: lhs . ' ' . a: rhs
68
+ endif
69
+ endfunction
70
+
61
71
function ! s: map_picker () abort
62
72
" List
63
- cnoremap <nowait> < C-t> <Plug> (fall-list-first)
64
- cnoremap <nowait> < C-g> <Plug> (fall-list-last)
65
- cnoremap <nowait> < C-p> <Plug> (fall-list-prev)
66
- cnoremap <nowait> < C-n> <Plug> (fall-list-next)
67
- cnoremap <nowait> < C-u> <Plug> (fall-list-prev:scroll)
68
- cnoremap <nowait> < C-d> <Plug> (fall-list-next:scroll)
69
- cnoremap <nowait> < PageUp> <Plug> (fall-list-left)
70
- cnoremap <nowait> < PageDown> <Plug> (fall-list-right)
71
- cnoremap <nowait> < S-PageUp> <Plug> (fall-list-left:scroll)
72
- cnoremap <nowait> < S-PageDown> <Plug> (fall-list-right:scroll)
73
- cnoremap <nowait> < C-,> <Plug> (fall-select)
74
- cnoremap <nowait> < C-.> <Plug> (fall-select-all)
75
- cnoremap <nowait> < C-j> <Plug> (fall-select)<Plug> (fall-list-next)
76
- cnoremap <nowait> < C-k> <Plug> (fall-list-prev)<Plug> (fall-select)
73
+ call s: define ( ' < C-t>' , ' <Plug>(fall-list-first) ' )
74
+ call s: define ( ' < C-g>' , ' <Plug>(fall-list-last) ' )
75
+ call s: define ( ' < C-p>' , ' <Plug>(fall-list-prev) ' )
76
+ call s: define ( ' < C-n>' , ' <Plug>(fall-list-next) ' )
77
+ call s: define ( ' < C-u>' , ' <Plug>(fall-list-prev:scroll) ' )
78
+ call s: define ( ' < C-d>' , ' <Plug>(fall-list-next:scroll) ' )
79
+ call s: define ( ' < PageUp>' , ' <Plug>(fall-list-left) ' )
80
+ call s: define ( ' < PageDown>' , ' <Plug>(fall-list-right) ' )
81
+ call s: define ( ' < S-PageUp>' , ' <Plug>(fall-list-left:scroll) ' )
82
+ call s: define ( ' < S-PageDown>' , ' <Plug>(fall-list-right:scroll) ' )
83
+ call s: define ( ' < C-,>' , ' <Plug>(fall-select) ' )
84
+ call s: define ( ' < C-.>' , ' <Plug>(fall-select-all) ' )
85
+ call s: define ( ' < C-j>' , ' <Plug>(fall-select)<Plug>(fall-list-next) ' )
86
+ call s: define ( ' < C-k>' , ' <Plug>(fall-list-prev)<Plug>(fall-select) ' )
77
87
" Preview
78
- cnoremap <nowait> < M-Home> <Plug> (fall-preview-first)
79
- cnoremap <nowait> < M-End> <Plug> (fall-preview-last)
80
- cnoremap <nowait> < M-Up> <Plug> (fall-preview-prev)
81
- cnoremap <nowait> < M-Down> <Plug> (fall-preview-next)
82
- cnoremap <nowait> < S-Up> <Plug> (fall-preview-prev:scroll)
83
- cnoremap <nowait> < S-Down> <Plug> (fall-preview-next:scroll)
84
- cnoremap <nowait> < M-Left> <Plug> (fall-preview-left)
85
- cnoremap <nowait> < M-Right> <Plug> (fall-preview-right)
86
- cnoremap <nowait> < S-Left> <Plug> (fall-preview-left:scroll)
87
- cnoremap <nowait> < S-Right> <Plug> (fall-preview-right:scroll)
88
+ call s: define ( ' < M-Home>' , ' <Plug>(fall-preview-first) ' )
89
+ call s: define ( ' < M-End>' , ' <Plug>(fall-preview-last) ' )
90
+ call s: define ( ' < M-Up>' , ' <Plug>(fall-preview-prev) ' )
91
+ call s: define ( ' < M-Down>' , ' <Plug>(fall-preview-next) ' )
92
+ call s: define ( ' < S-Up>' , ' <Plug>(fall-preview-prev:scroll) ' )
93
+ call s: define ( ' < S-Down>' , ' <Plug>(fall-preview-next:scroll) ' )
94
+ call s: define ( ' < M-Left>' , ' <Plug>(fall-preview-left) ' )
95
+ call s: define ( ' < M-Right>' , ' <Plug>(fall-preview-right) ' )
96
+ call s: define ( ' < S-Left>' , ' <Plug>(fall-preview-left:scroll) ' )
97
+ call s: define ( ' < S-Right>' , ' <Plug>(fall-preview-right:scroll) ' )
88
98
" Action
89
- cnoremap <nowait> < Tab> <Plug> (fall-action-select)
99
+ call s: define ( ' < Tab>' , ' <Plug>(fall-action-select) ' )
90
100
" Help
91
- cnoremap <nowait> < F1> <Plug> (fall-help)
92
- cnoremap <nowait> < S-Home> <Plug> (fall-help-prev)
93
- cnoremap <nowait> < S-End> <Plug> (fall-help-next)
101
+ call s: define ( ' < F1>' , ' <Plug>(fall-help) ' )
102
+ call s: define ( ' < S-Home>' , ' <Plug>(fall-help-prev) ' )
103
+ call s: define ( ' < S-End>' , ' <Plug>(fall-help-next) ' )
94
104
" Switch
95
- cnoremap <nowait> < F2> <Plug> (fall-switch-matcher-next)
96
- cnoremap <nowait> < F3> <Plug> (fall-switch-sorter-next)
97
- cnoremap <nowait> < F4> <Plug> (fall-switch-renderer-next)
98
- cnoremap <nowait> < F5> <Plug> (fall-switch-previewer-next)
105
+ call s: define ( ' < F2>' , ' <Plug>(fall-switch-matcher-next) ' )
106
+ call s: define ( ' < F3>' , ' <Plug>(fall-switch-sorter-next) ' )
107
+ call s: define ( ' < F4>' , ' <Plug>(fall-switch-renderer-next) ' )
108
+ call s: define ( ' < F5>' , ' <Plug>(fall-switch-previewer-next) ' )
99
109
endfunction
100
110
101
111
augroup fall_mapping_plugin
0 commit comments