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
46
local builtins = {}
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
local findprg = "fd -H -p -t f --color=never"
49
50
builtins.files = function(props)
···
69
return vim.fn.bufadd(item)
70
end,
71
actions = {
72
-
setqflist = function(self, co)
73
-
vim.fn.setqflist(vim
74
-
.iter(ipairs(self.matches))
75
-
:map(function(_, match)
76
-
local item = self.items[match[1]]
77
-
return { filename = item.v }
78
-
end)
79
-
:totable())
80
-
vim.schedule(function()
81
-
vim.cmd.copen()
82
-
end)
83
-
coroutine.resume(co, 1)
84
-
end,
85
},
86
mappings = {
87
["<c-q>"] = "setqflist",
···
141
get_icon = config.get().opts.use_icons and function(item)
142
return require("mini.icons").get("file", item.v[1])
143
end or nil,
0
0
0
0
0
0
0
0
144
}, props))
145
end
146
···
172
preview_item = function(item)
173
return vim.fn.bufadd(item)
174
end,
0
0
0
0
0
0
0
0
175
}, props)
176
)
177
end
···
347
preview_item = function(item)
348
return vim.fn.bufadd(item)
349
end,
0
0
0
0
0
0
0
0
350
}, props))
351
end
352
···
45
46
local builtins = {}
47
48
+
local function make_setqflist(fn)
49
+
return function(self, co)
50
+
vim.fn.setqflist(vim
51
+
.iter(ipairs(self.matches))
52
+
:map(function(_, match)
53
+
local item = self.items[match[1]]
54
+
local qfitem = fn(item)
55
+
return qfitem
56
+
end)
57
+
:totable())
58
+
vim.schedule(function()
59
+
vim.cmd.copen()
60
+
end)
61
+
coroutine.resume(co, 1)
62
+
end
63
+
end
64
+
65
local findprg = "fd -H -p -t f --color=never"
66
67
builtins.files = function(props)
···
86
return vim.fn.bufadd(item)
87
end,
88
actions = {
89
+
setqflist = make_setqflist(function(item)
90
+
return { filename = item.v }
91
+
end),
0
0
0
0
0
0
0
0
0
0
92
},
93
mappings = {
94
["<c-q>"] = "setqflist",
···
148
get_icon = config.get().opts.use_icons and function(item)
149
return require("mini.icons").get("file", item.v[1])
150
end or nil,
151
+
actions = {
152
+
setqflist = make_setqflist(function(item)
153
+
return { filename = item.v[1], lnum = item.v[2], col = item.v[3] }
154
+
end),
155
+
},
156
+
mappings = {
157
+
["<c-q>"] = "setqflist",
158
+
},
159
}, props))
160
end
161
···
187
preview_item = function(item)
188
return vim.fn.bufadd(item)
189
end,
190
+
actions = {
191
+
setqflist = make_setqflist(function(item)
192
+
return { filename = item.v }
193
+
end),
194
+
},
195
+
mappings = {
196
+
["<c-q>"] = "setqflist",
197
+
},
198
}, props)
199
)
200
end
···
370
preview_item = function(item)
371
return vim.fn.bufadd(item)
372
end,
373
+
actions = {
374
+
setqflist = make_setqflist(function(item)
375
+
return { filename = item.v }
376
+
end),
377
+
},
378
+
mappings = {
379
+
["<c-q>"] = "setqflist",
380
+
},
381
}, props))
382
end
383