From 3e5c2ce638e2aed530f6e01a597ab071ee091dca Mon Sep 17 00:00:00 2001 From: robin Date: Fri, 12 Dec 2025 10:08:54 +0100 Subject: [PATCH] feat: add tabnew action to files picker --- lua/artio/config.lua | 1 + lua/artio/utils.lua | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lua/artio/config.lua b/lua/artio/config.lua index ec9cb0f..23cbe93 100644 --- a/lua/artio/config.lua +++ b/lua/artio/config.lua @@ -52,6 +52,7 @@ M.default = { [""] = "setqflistmark", [""] = "split", [""] = "vsplit", + [""] = "tabnew", }, } diff --git a/lua/artio/utils.lua b/lua/artio/utils.lua index 866b5c1..df5c60b 100644 --- a/lua/artio/utils.lua +++ b/lua/artio/utils.lua @@ -99,6 +99,26 @@ function utils.make_fileactions(fn) local buf = fn(item) vim.api.nvim_open_win(buf, true, { win = -1, vertical = true }) end), + tabnew = require("artio").wrap(function(self) + coroutine.resume(self.co, 1) + end, function(self) + local item = self:getcurrent() + if not item then + return + end + local buf = fn(item) + vim.api.nvim_cmd({ + cmd = "split", + args = { ("+%dbuf"):format(buf) }, + ---@diagnostic disable-next-line: missing-fields + mods = { + tab = 1, + silent = true, + }, + }, { + output = false, + }) + end), } end -- 2.51.2