diff --git a/lua/artio/builtins.lua b/lua/artio/builtins.lua index 2d11c70..ece344f 100644 --- a/lua/artio/builtins.lua +++ b/lua/artio/builtins.lua @@ -73,11 +73,11 @@ builtins.files = function(props) end, actions = extend( {}, - utils.make_setqflistactions(function(item) - return { filename = item.v } - end), utils.make_fileactions(function(item) return vim.fn.bufnr(item.v, true) + end), + utils.make_setqflistactions(function(item) + return { filename = item.v } end) ), }, props)) @@ -461,6 +461,9 @@ builtins.smart = function(props) end, actions = extend( {}, + utils.make_fileactions(function(item) + return vim.fn.bufnr(item.v.path, true) + end), utils.make_setqflistactions(function(item) return { filename = item.v.path } end) diff --git a/lua/artio/picker.lua b/lua/artio/picker.lua index d816770..868ff77 100644 --- a/lua/artio/picker.lua +++ b/lua/artio/picker.lua @@ -1,5 +1,4 @@ local View = require("artio.view") -local ui2 = require("vim._core.ui2") ---@alias artio.Picker.item { id: integer, v: any, text: string, icon?: string, icon_hl?: string, hls?: artio.Picker.hl[] } ---@alias artio.Picker.match { [1]: integer, [2]: integer[], [3]: integer } item, positions, score @@ -89,6 +88,8 @@ local action_enum = { } function Picker:open() + local ui2 = require("vim._core.ui2") + if Picker.active_picker and Picker.active_picker ~= self then Picker.active_picker:close(true) end @@ -184,7 +185,7 @@ function Picker:initkeymaps() local ui2 = require("vim._core.ui2") ---@type vim.keymap.set.Opts - local opts = { buffer = ui2.bufs.cmd } + local opts = { buf = ui2.bufs.cmd } if self.actions then vim.iter(pairs(self.actions)):each(function(k, v)