-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.lua
More file actions
315 lines (265 loc) · 8.55 KB
/
types.lua
File metadata and controls
315 lines (265 loc) · 8.55 KB
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
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
-- Type definitions for Peekstack
---@class PeekstackRange
---@field start { line: integer, character: integer }
---@field ["end"] { line: integer, character: integer }
---@class PeekstackLocation
---@field uri string
---@field range PeekstackRange
---@field text? string
---@field kind? integer
---@field provider string
---@field origin? PeekstackRange
---@class PeekstackDiagnosticExtmarks
---@field bufnr integer
---@field ns integer
---@field ids integer[]
---@class PeekstackDisplayTextOpts
---@field path_base? "repo"|"cwd"|"absolute"
---@field max_width? integer
---@class PeekstackSessionItem
---@field uri string
---@field range PeekstackRange
---@field title? string
---@field provider? string
---@field ts integer
---@class PeekstackSessionMeta
---@field created_at integer
---@field updated_at integer
---@class PeekstackSession
---@field items PeekstackSessionItem[]
---@field meta PeekstackSessionMeta
---@class PeekstackPopupModel
---@field id integer
---@field bufnr integer
---@field source_bufnr integer
---@field winid integer
---@field location PeekstackLocation
---@field diagnostics? PeekstackDiagnosticExtmarks
---@field origin { winid: integer, bufnr: integer, row: integer, col: integer }
---@field origin_bufnr integer
---@field origin_is_popup boolean
---@field parent_popup_id? integer
---@field title string
---@field title_chunks? PeekstackTitleChunk[]
---@field pinned boolean
---@field buffer_mode "copy"|"source"
---@field line_offset integer
---@field created_at integer
---@field last_active_at integer
---@field ephemeral boolean
---@field win_opts PeekstackRenderWinOpts
---@class PeekstackStackModel
---@field root_winid integer
---@field popups PeekstackPopupModel[]
---@field history PeekstackHistoryEntry[]
---@field layout_state any
---@field focused_id integer?
---@field hidden boolean?
---@field zoomed_id integer?
---@class PeekstackUserEventData
---@field event string
---@field popup_id integer
---@field winid integer
---@field bufnr integer
---@field location PeekstackLocation
---@field provider string
---@field root_winid integer
---@field extra table
---@class PeekstackInlinePreviewState
---@field bufnr integer
---@field extmark_id integer
---@field target_uri string
---@field created_at integer
---@field request_id integer
---@class PeekstackTreesitterContextOpts
---@field enabled boolean
---@field max_depth integer
---@field separator string
---@field node_types table<string, string[]>
---@class PeekstackTitleChunk
---@field [1] string
---@field [2]? string
---@class PeekstackRenderWinOpts
---@field relative string
---@field row number
---@field col number
---@field width integer
---@field height integer
---@field style string
---@field border string|string[]
---@field focusable boolean
---@field zindex integer
---@field title? string|PeekstackTitleChunk[]
---@field title_pos? string
---@class PeekstackStoreData
---@field version integer
---@field sessions table<string, PeekstackSession>
---@class PeekstackPicker
---@field pick fun(locations: PeekstackLocation[], opts?: table, cb: fun(location: PeekstackLocation))
---@class PeekstackPickerItem
---@field label string
---@field value PeekstackLocation
---@class PeekstackPickerExternalItem: PeekstackPickerItem
---@field file? string
---@field lnum integer
---@field col integer
---@field symbol? string
---@field path? string
---@field display_lnum? integer
---@field display_col? integer
---@class PeekstackHistoryEntry
---@field location PeekstackLocation
---@field title? string
---@field title_chunks? PeekstackTitleChunk[]
---@field pinned boolean
---@field buffer_mode "copy"|"source"
---@field source_bufnr? integer
---@field created_at integer
---@field closed_at integer
---@field restore_index? integer
---@field parent_popup_id? integer
---@class PeekstackProviderContext
---@field winid integer
---@field bufnr integer
---@field source_bufnr integer?
---@field popup_id integer?
---@field buffer_mode "copy"|"source"|nil
---@field line_offset integer
---@field position { line: integer, character: integer }
---@field root_winid integer
---@field from_popup boolean
---@class PeekstackStackViewState
---@field bufnr integer?
---@field winid integer?
---@field root_winid integer?
---@field line_to_id table<integer, integer>
---@field render_keys string[]
---@field filter string?
---@field header_lines integer
---@field help_bufnr integer?
---@field help_winid integer?
---@field help_augroup integer?
---@field autoclose_group integer?
---@field autoclose_suspended integer
-- Config type definitions
---@class PeekstackConfigLayoutOffset
---@field row integer
---@field col integer
---@class PeekstackConfigLayoutShrink
---@field w integer
---@field h integer
---@class PeekstackConfigLayoutMinSize
---@field w integer
---@field h integer
---@class PeekstackConfigLayout
---@field style "stack"|"cascade"|"single"
---@field offset PeekstackConfigLayoutOffset
---@field shrink PeekstackConfigLayoutShrink
---@field min_size PeekstackConfigLayoutMinSize
---@field max_ratio number
---@field zindex_base integer
---@class PeekstackConfigTitleContext
---@field enabled boolean
---@field max_depth integer
---@field separator string
---@field node_types table<string, string[]>
---@class PeekstackConfigTitleIcons
---@field enabled boolean
---@field map table<string, string>
---@class PeekstackConfigTitle
---@field enabled boolean
---@field format string
---@field icons PeekstackConfigTitleIcons
---@field context PeekstackConfigTitleContext
---@class PeekstackConfigPath
---@field base "repo"|"cwd"|"absolute"
---@field max_width integer
---@class PeekstackConfigStackView
---@field position "left"|"right"|"bottom"
---@class PeekstackConfigInlinePreview
---@field enabled boolean
---@field max_lines integer
---@field hl_group string
---@field close_events string[]
---@class PeekstackConfigQuickPeek
---@field close_events string[]
---@class PeekstackConfigAutoClose
---@field enabled boolean
---@field idle_ms integer
---@field check_interval_ms integer
---@field ignore_pinned boolean
---@class PeekstackConfigPopupSource
---@field prevent_auto_close_if_modified boolean
---@field confirm_on_close boolean
---@class PeekstackConfigPopupHistory
---@field max_items integer
---@field restore_position "top"|"original"
---@class PeekstackConfigPopup
---@field editable boolean
---@field buffer_mode "copy"|"source"
---@field source PeekstackConfigPopupSource
---@field history PeekstackConfigPopupHistory
---@field auto_close PeekstackConfigAutoClose
---@class PeekstackConfigFeedback
---@field highlight_origin_on_close boolean
---@class PeekstackConfigPromote
---@field close_popup boolean
---@class PeekstackConfigKeys
---@field close string
---@field focus_next string
---@field focus_prev string
---@field promote_split string
---@field promote_vsplit string
---@field promote_tab string
---@field toggle_stack_view string
---@field zoom string
---@class PeekstackConfigUI
---@field layout PeekstackConfigLayout
---@field title PeekstackConfigTitle
---@field path PeekstackConfigPath
---@field stack_view PeekstackConfigStackView
---@field inline_preview PeekstackConfigInlinePreview
---@field quick_peek PeekstackConfigQuickPeek
---@field popup PeekstackConfigPopup
---@field feedback PeekstackConfigFeedback
---@field promote PeekstackConfigPromote
---@field keys PeekstackConfigKeys
---@class PeekstackConfigPickerBuiltin
---@field preview_lines integer
---@class PeekstackConfigPicker
---@field backend "builtin"|"telescope"|"fzf-lua"|"snacks"
---@field builtin PeekstackConfigPickerBuiltin
---@class PeekstackConfigProviderEntry
---@field enable boolean
---@class PeekstackConfigProviderMarks
---@field enable boolean
---@field scope "buffer"|"global"|"all"
---@field include string
---@field include_special boolean
---@class PeekstackConfigProviders
---@field lsp PeekstackConfigProviderEntry
---@field diagnostics PeekstackConfigProviderEntry
---@field file PeekstackConfigProviderEntry
---@field marks PeekstackConfigProviderMarks
---@class PeekstackConfigPersistSession
---@field default_name string
---@field prompt_if_missing boolean
---@class PeekstackConfigPersistAuto
---@field enabled boolean
---@field session_name string
---@field restore boolean
---@field save boolean
---@field restore_if_empty boolean
---@field debounce_ms integer
---@field save_on_leave boolean
---@class PeekstackConfigPersist
---@field enabled boolean
---@field max_items integer
---@field session PeekstackConfigPersistSession
---@field auto PeekstackConfigPersistAuto
---@class PeekstackConfig
---@field ui PeekstackConfigUI
---@field picker PeekstackConfigPicker
---@field providers PeekstackConfigProviders
---@field persist PeekstackConfigPersist
return {}