tangled
alpha
login
or
join now
robinwobin.dev
/
artio.nvim
3
fork
atom
minimal extui fuzzy finder for neovim
3
fork
atom
overview
issues
pulls
pipelines
feat(builtins): add qflist action to other builtins
robinwobin.dev
3 months ago
a1f6838a
55efe192
+44
-13
1 changed file
expand all
collapse all
unified
split
lua
artio
builtins.lua
+44
-13
lua/artio/builtins.lua
···
45
45
46
46
local builtins = {}
47
47
48
48
+
local function make_setqflist(fn)
49
49
+
return function(self, co)
50
50
+
vim.fn.setqflist(vim
51
51
+
.iter(ipairs(self.matches))
52
52
+
:map(function(_, match)
53
53
+
local item = self.items[match[1]]
54
54
+
local qfitem = fn(item)
55
55
+
return qfitem
56
56
+
end)
57
57
+
:totable())
58
58
+
vim.schedule(function()
59
59
+
vim.cmd.copen()
60
60
+
end)
61
61
+
coroutine.resume(co, 1)
62
62
+
end
63
63
+
end
64
64
+
48
65
local findprg = "fd -H -p -t f --color=never"
49
66
50
67
builtins.files = function(props)
···
69
86
return vim.fn.bufadd(item)
70
87
end,
71
88
actions = {
72
72
-
setqflist = function(self, co)
73
73
-
vim.fn.setqflist(vim
74
74
-
.iter(ipairs(self.matches))
75
75
-
:map(function(_, match)
76
76
-
local item = self.items[match[1]]
77
77
-
return { filename = item.v }
78
78
-
end)
79
79
-
:totable())
80
80
-
vim.schedule(function()
81
81
-
vim.cmd.copen()
82
82
-
end)
83
83
-
coroutine.resume(co, 1)
84
84
-
end,
89
89
+
setqflist = make_setqflist(function(item)
90
90
+
return { filename = item.v }
91
91
+
end),
85
92
},
86
93
mappings = {
87
94
["<c-q>"] = "setqflist",
···
141
148
get_icon = config.get().opts.use_icons and function(item)
142
149
return require("mini.icons").get("file", item.v[1])
143
150
end or nil,
151
151
+
actions = {
152
152
+
setqflist = make_setqflist(function(item)
153
153
+
return { filename = item.v[1], lnum = item.v[2], col = item.v[3] }
154
154
+
end),
155
155
+
},
156
156
+
mappings = {
157
157
+
["<c-q>"] = "setqflist",
158
158
+
},
144
159
}, props))
145
160
end
146
161
···
172
187
preview_item = function(item)
173
188
return vim.fn.bufadd(item)
174
189
end,
190
190
+
actions = {
191
191
+
setqflist = make_setqflist(function(item)
192
192
+
return { filename = item.v }
193
193
+
end),
194
194
+
},
195
195
+
mappings = {
196
196
+
["<c-q>"] = "setqflist",
197
197
+
},
175
198
}, props)
176
199
)
177
200
end
···
347
370
preview_item = function(item)
348
371
return vim.fn.bufadd(item)
349
372
end,
373
373
+
actions = {
374
374
+
setqflist = make_setqflist(function(item)
375
375
+
return { filename = item.v }
376
376
+
end),
377
377
+
},
378
378
+
mappings = {
379
379
+
["<c-q>"] = "setqflist",
380
380
+
},
350
381
}, props))
351
382
end
352
383