From c5fa38bd6da184b735be2cea5da477cc0913e9b3 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 17 Apr 2026 10:53:13 +0100 Subject: refactor: extract overseer to plugins/runner.lua Move the overseer task runner config (140 lines, 13 keymaps) from the plugins/init.lua junk drawer into a dedicated runner.lua file. --- home/.config/nvim/lua/plugins/runner.lua | 144 +++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 home/.config/nvim/lua/plugins/runner.lua (limited to 'home/.config/nvim/lua/plugins/runner.lua') diff --git a/home/.config/nvim/lua/plugins/runner.lua b/home/.config/nvim/lua/plugins/runner.lua new file mode 100644 index 0000000..9e1af7b --- /dev/null +++ b/home/.config/nvim/lua/plugins/runner.lua @@ -0,0 +1,144 @@ +return { + { + "stevearc/overseer.nvim", + version = "v1.6.0", + keys = { + { + "to", + function() + require("overseer").toggle() + end, + desc = "[T]oggle [O]verseer", + }, + { + "ob", + function() + require("overseer").run_template({ + name = "just build", + prompt = "never", + }) + end, + desc = "[O]verseer [B]uild", + }, + { + "oB", + function() + require("overseer").run_template({ + name = "just build", + }) + end, + desc = "[O]verseer [B]uild", + }, + { + "ot", + function() + require("overseer").run_template({ + name = "just test", + prompt = "never", + }) + end, + desc = "[O]verseer [J]ust [T]est", + }, + { + "oT", + function() + require("overseer").run_template({ + name = "just test", + }) + end, + desc = "[O]verseer [J]ust [T]est", + }, + { + "of", + function() + require("overseer").run_template({ + name = "just test", + prompt = "never", + params = { target = vim.fn.expand("%") }, + }) + end, + desc = "[O]verseer test [F]ile", + }, + { + "oF", + function() + require("overseer").run_template({ + name = "just test", + params = { target = vim.fn.expand("%") }, + }) + end, + desc = "[O]verseer test [F]ile", + }, + { + "od", + function() + require("overseer").run_template({ + name = "just debug=true test", + prompt = "never", + params = { target = vim.fn.expand("%") }, + }) + end, + desc = "[O]verseer [d]ebug test file", + }, + { + "oD", + function() + require("overseer").run_template({ + name = "just debug=true test", + params = { target = vim.fn.expand("%") }, + }) + end, + desc = "[O]verseer [D]ebug test file", + }, + { + "oa", + function() + require("overseer").run_template({ + name = "just test_autofix", + prompt = "never", + params = { target = vim.fn.expand("%") }, + }) + end, + desc = "[O]verseer [A]utofix", + }, + { + "or", + function() + require("overseer").run_template() + end, + desc = "[O]verseer [R]un", + }, + { + "os", + function() + require("overseer").run_template({ name = "shell" }) + end, + desc = "[O]verseer [S]hell", + }, + { + "ol", + function() + local tasks = require("overseer").list_tasks({ recent_first = true }) + if vim.tbl_isempty(tasks) then + vim.notify("No tasks found", vim.log.levels.WARN) + else + require("overseer").run_action(tasks[1], "restart") + end + end, + desc = "[O]verseer run [L]ast", + }, + }, + config = function() + local overseer = require("overseer") + overseer.setup({}) + overseer.add_template_hook({ name = ".*" }, function(task_defn, util) + util.add_component(task_defn, { + "open_output", + on_start = "never", + on_complete = "failure", + direction = "vertical", + }) + end) + end, + }, +} -- cgit v1.2.3-70-g09d2