@@ -16,22 +16,71 @@ local subprocess_check_output = require('lean._util').subprocess_check_output
16
16
17
17
local lean = {
18
18
mappings = {
19
- n = {
20
- [' <LocalLeader>i' ] = ' <Cmd>LeanInfoviewToggle<CR>' ,
21
- [' <LocalLeader>p' ] = ' <Cmd>LeanInfoviewPinTogglePause<CR>' ,
22
- [' <LocalLeader>x' ] = ' <Cmd>LeanInfoviewAddPin<CR>' ,
23
- [' <LocalLeader>c' ] = ' <Cmd>LeanInfoviewClearPins<CR>' ,
24
- [' <LocalLeader>dx' ] = ' <Cmd>LeanInfoviewSetDiffPin<CR>' ,
25
- [' <LocalLeader>dc' ] = ' <Cmd>LeanInfoviewClearDiffPin<CR>' ,
26
- [' <LocalLeader>dd' ] = ' <Cmd>LeanInfoviewToggleAutoDiffPin<CR>' ,
27
- [' <LocalLeader>dt' ] = ' <Cmd>LeanInfoviewToggleNoClearAutoDiffPin<CR>' ,
28
- [' <LocalLeader>w' ] = ' <Cmd>LeanInfoviewEnableWidgets<CR>' ,
29
- [' <LocalLeader>W' ] = ' <Cmd>LeanInfoviewDisableWidgets<CR>' ,
30
- [' <LocalLeader>v' ] = ' <Cmd>LeanInfoviewViewOptions<CR>' ,
31
- [' <LocalLeader><Tab>' ] = ' <Cmd>LeanGotoInfoview<CR>' ,
32
- [' <LocalLeader>\\ ' ] = ' <Cmd>LeanAbbreviationsReverseLookup<CR>' ,
19
+ {
20
+ ' <LocalLeader>i' ,
21
+ ' <Cmd>LeanInfoviewToggle<CR>' ,
22
+ { desc = ' Toggle showing the infoview.' },
23
+ },
24
+ {
25
+ ' <LocalLeader>p' ,
26
+ ' <Cmd>LeanInfoviewPinTogglePause<CR>' ,
27
+ { desc = ' Toggle pausing infoview pins.' },
28
+ },
29
+ {
30
+ ' <LocalLeader>x' ,
31
+ ' <Cmd>LeanInfoviewAddPin<CR>' ,
32
+ { desc = ' Add an infoview pin.' },
33
+ },
34
+ {
35
+ ' <LocalLeader>c' ,
36
+ ' <Cmd>LeanInfoviewClearPins<CR>' ,
37
+ { desc = ' Clear all infoview pins.' },
38
+ },
39
+ {
40
+ ' <LocalLeader>dx' ,
41
+ ' <Cmd>LeanInfoviewSetDiffPin<CR>' ,
42
+ { desc = ' Set an infoview diff pin.' },
43
+ },
44
+ {
45
+ ' <LocalLeader>dc' ,
46
+ ' <Cmd>LeanInfoviewClearDiffPin<CR>' ,
47
+ { desc = ' Clear all infoview diff pins.' },
48
+ },
49
+ {
50
+ ' <LocalLeader>dd' ,
51
+ ' <Cmd>LeanInfoviewToggleAutoDiffPin<CR>' ,
52
+ { desc = ' Toggle "auto-diff" mode in the infoview.' },
53
+ },
54
+ {
55
+ ' <LocalLeader>dt' ,
56
+ ' <Cmd>LeanInfoviewToggleNoClearAutoDiffPin<CR>' ,
57
+ { desc = ' Toggle "auto-diff" mode and clear any existing pins.' },
58
+ },
59
+ {
60
+ ' <LocalLeader>w' ,
61
+ ' <Cmd>LeanInfoviewEnableWidgets<CR>' ,
62
+ { desc = ' Enable infoview widgets.' },
63
+ },
64
+ {
65
+ ' <LocalLeader>W' ,
66
+ ' <Cmd>LeanInfoviewDisableWidgets<CR>' ,
67
+ { desc = ' Disable infoview widgets.' },
68
+ },
69
+ {
70
+ ' <LocalLeader>v' ,
71
+ ' <Cmd>LeanInfoviewViewOptions<CR>' ,
72
+ { desc = ' Change the infoview view options.' },
73
+ },
74
+ {
75
+ ' <LocalLeader><Tab>' ,
76
+ ' <Cmd>LeanGotoInfoview<CR>' ,
77
+ { desc = ' Jump to the current infoview.' },
78
+ },
79
+ {
80
+ ' <LocalLeader>\\ ' ,
81
+ ' <Cmd>LeanAbbreviationsReverseLookup<CR>' ,
82
+ { desc = ' Show how to type the unicode character under the cursor.' },
33
83
},
34
- i = {},
35
84
},
36
85
}
37
86
@@ -109,11 +158,10 @@ end
109
158
--- Enable mappings for a given buffer
110
159
--- @param bufnr ? number the bufnr to enable mappings in , defaulting to 0
111
160
function lean .use_suggested_mappings (bufnr )
112
- local opts = { noremap = true , buffer = bufnr or 0 }
113
- for mode , mode_mappings in pairs (lean .mappings ) do
114
- for lhs , rhs in pairs (mode_mappings ) do
115
- vim .keymap .set (mode , lhs , rhs , opts )
116
- end
161
+ local opts = { buffer = bufnr or 0 }
162
+ for _ , each in ipairs (lean .mappings ) do
163
+ local lhs , rhs , more_opts = unpack (each )
164
+ vim .keymap .set (each .mode or ' n' , lhs , rhs , vim .tbl_extend (' error' , opts , more_opts ))
117
165
end
118
166
end
119
167
0 commit comments