blob: cff0e5077ec638472f75add020ddb4d18ba51c41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
--- @meta _
-- This file is NOT generated, edit it directly. See also _meta/api_keysets.gen.lua.
error('Cannot require a meta file')
--- Extra types we don't define keysets for.
--- @class vim.api.keyset.extmark_details
--- @field ns_id integer
--- @field right_gravity boolean
---
--- @field end_row? integer
--- @field end_col? integer
--- @field end_right_gravity? integer
---
--- @field priority? integer
---
--- @field undo_restore? false
--- @field invalidate? true
--- @field invalid? true
---
--- @field hl_group? string
--- @field hl_eol? boolean
---
--- @field conceal? string
--- @field spell? boolean
--- @field ui_watched? boolean
--- @field url? string
--- @field hl_mode? string
---
--- @field virt_text? [string, string][]
--- @field virt_text_hide? boolean
--- @field virt_text_repeat_linebreak? boolean
--- @field virt_text_win_col? integer
--- @field virt_text_pos? string
---
--- @field virt_lines? [string, string][][]
--- @field virt_lines_above? boolean
--- @field virt_lines_leftcol? boolean
---
--- @field sign_text? string
--- @field sign_name? string
--- @field sign_hl_group? string
--- @field number_hl_group? string
--- @field line_hl_group? string
--- @field cursorline_hl_group? string
--- @class vim.api.keyset.get_extmark_item_by_id
--- @field [1] integer row
--- @field [2] integer col
--- @field [3] vim.api.keyset.extmark_details?
--- @class vim.api.keyset.get_extmark_item
--- @field [1] integer extmark_id
--- @field [2] integer row
--- @field [3] integer col
--- @field [4] vim.api.keyset.extmark_details?
--- @class vim.api.keyset.get_autocmds.ret
--- @field id? integer
--- @field group? integer
--- @field group_name? integer
--- @field desc? string
--- @field event? string
--- @field command? string
--- @field callback? function
--- @field once? boolean
--- @field pattern? string
--- @field buflocal? boolean
--- @field buf? integer
--- @class vim.api.keyset.create_autocmd.callback_args
--- @field id integer autocommand id
--- @field event string name of the triggered event |autocmd-events|
--- @field group? integer autocommand group id, if any
--- @field match string expanded value of <amatch>
--- @field buf integer expanded value of <abuf>
--- @field file string expanded value of <afile>
--- @field data? any arbitrary data passed from |nvim_exec_autocmds()|
--- @class vim.api.keyset.create_user_command.command_args
--- @field name string Command name
---
--- The args passed to the command, if any <args>
--- @field args string
---
--- The args split by unescaped whitespace
--- (when more than one argument is allowed), if any <f-args>
--- @field fargs string[]
---
--- Number of arguments |:command-nargs|
--- @field nargs string
---
--- "true" if the command was executed with a ! modifier <bang>
--- @field bang boolean
---
--- The starting line of the command range <line1>
--- @field line1 integer
---
--- The final line of the command range <line2>
--- @field line2 integer
---
--- The number of items in the command range: 0, 1, or 2 <range>
--- @field range integer
---
--- Any count supplied <count>
--- @field count integer
--- The optional register, if specified <reg>
--- @field reg string
--- Command modifiers, if any <mods>
--- @field mods string
---
--- Command modifiers in a structured format. Has the same structure as the
--- "mods" key of |nvim_parse_cmd()|.
--- @field smods vim.api.keyset.cmd_mods
--- @class vim.api.keyset.command_info
--- @field name string
--- @field definition string
--- @field script_id integer
--- @field bang boolean
--- @field bar boolean
--- @field register boolean
--- @field keepscript boolean
--- @field preview? function
--- @field nargs string
--- @field complete? string|function
--- @field complete_arg? string
--- @field count? string
--- @field range? string
--- @field addr? string
--- @field callback? function
--- @class vim.api.keyset.hl_info.base
--- @field reverse? true
--- @field bold? true
--- @field italic? true
--- @field underline? true
--- @field undercurl? true
--- @field underdouble? true
--- @field underdotted? true
--- @field underdashed? true
--- @field standout? true
--- @field strikethrough? true
--- @field altfont? true
--- @field nocombine? true
--- @field ctermfg? integer
--- @field ctermbg? integer
--- @class vim.api.keyset.hl_info.cterm : vim.api.keyset.hl_info.base
--- @field foreground? integer
--- @field background? integer
--- @class vim.api.keyset.get_hl_info : vim.api.keyset.hl_info.base
--- @field blend? integer
--- @field bg? integer
--- @field bg_indexed? boolean
--- @field cterm? vim.api.keyset.hl_info.cterm
--- @field default? true
--- @field fg? integer
--- @field fg_indexed? boolean
--- @field link? string
--- @field sp? integer
--- @class vim.api.keyset.set_hl_info : vim.api.keyset.hl_info.base
--- @field fg? integer|string
--- @field bg? integer|string
--- @field sp? integer|string
--- @field default? true
--- @field link? string
--- @field blend? integer
--- @field force? true
--- @field cterm? vim.api.keyset.hl_info.cterm
--- @class vim.api.keyset.get_keymap
--- @field abbr? 0|1
--- @field buf? 0|1
--- @field callback? function
--- @field desc? string
--- @field expr? 0|1
--- @field lhs? string
--- @field lhsraw? string
--- @field lhsrawalt? string
--- @field lnum? integer
--- @field mode? string
--- @field mode_bits? integer
--- @field noremap? 0|1
--- @field nowait? 0|1
--- @field rhs? string
--- @field script? 0|1
--- @field scriptversion? integer
--- @field sid? integer
--- @field silent? 0|1
--- @class vim.api.keyset.get_mode
--- @field blocking boolean
--- @field mode string
--- @class vim.api.keyset.get_option_info
--- @field name string
--- @field shortname string
--- @field scope 'buf'|'win'|'global'
--- @field global_local boolean
--- @field commalist boolean
--- @field flaglist boolean
--- @field was_set boolean
--- @field last_set_sid integer
--- @field last_set_linenr integer
--- @field last_set_chan integer
--- @field type 'string'|'boolean'|'number'
--- @field default string|boolean|integer
--- @field allows_duplicates boolean
--- @class vim.api.keyset.cmd.mods
--- @field filter? { force: boolean, pattern: string }
--- @field silent? boolean
--- @field emsg_silent? boolean
--- @field unsilent? boolean
--- @field sandbox? boolean
--- @field noautocmd? boolean
--- @field tab? integer
--- @field verbose? integer
--- @field browse? boolean
--- @field confirm? boolean
--- @field hide? boolean
--- @field keepalt? boolean
--- @field keepjumps? boolean
--- @field keepmarks? boolean
--- @field keeppatterns? boolean
--- @field lockmarks? boolean
--- @field noswapfile? boolean
--- @field vertical? boolean
--- @field horizontal? boolean
--- @field split? ''|'botright'|'topleft'|'belowright'|'aboveleft'
--- @class vim.api.keyset.cmd.magic
--- @field bar boolean
--- @field file boolean
--- @class vim.api.keyset.eval_statusline_ret.highlight
--- @field start integer
--- @field group string
--- @field groups string[]
--- @class vim.api.keyset.eval_statusline_ret
--- @field str string
--- @field width integer
--- @field highlights vim.api.keyset.eval_statusline_ret.highlight[]
--- @class vim.api.keyset.win_text_height_ret
--- @field all integer
--- @field fill integer
--- @field end_row integer
--- @field end_vcol integer
-- Inherit from vim.api.keyset.win_config so this type can be passed to nvim_open_win().
-- Because of this we only need to define the fields with different types (nil or non-nil).
--- @class vim.api.keyset.win_config_ret : vim.api.keyset.win_config
--- @field focusable boolean
--- @field external boolean
--- @field hide boolean
--- @field mouse boolean
--- @field width integer
--- @field height integer
--- @field relative 'cursor'|'editor'|'laststatus'|'mouse'|'tabline'|'win'
---
--- @field noautocmd nil
--- @field title nil
--- @field title_pos nil
--- @field footer nil
--- @field footer_pos nil
--- @field style nil
--- @field fixed nil
--- @field vertical nil
|