From 4732f43af688991dcbd6742c2def8b8aa11e95c5 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Mon, 5 Aug 2024 17:23:12 +0300 Subject: feat(nvim): overseer keymaps to easily build/run/test programs --- .config/nvim/lua/custom/plugins/overseer.lua | 30 ++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to '.config/nvim/lua') diff --git a/.config/nvim/lua/custom/plugins/overseer.lua b/.config/nvim/lua/custom/plugins/overseer.lua index db5e53a..ff4e707 100644 --- a/.config/nvim/lua/custom/plugins/overseer.lua +++ b/.config/nvim/lua/custom/plugins/overseer.lua @@ -3,10 +3,32 @@ return { -- NOTE: without telescope the UI is not custom, so making sure telescope is loaded first dependencies = { 'nvim-telescope/telescope.nvim' }, event = 'VeryLazy', - keys = { - { 'or', 'OverseerRun', desc = '[O]verseer [R]un' }, - { 'ot', 'OverseerToggle', desc = '[O]verseer [T]oggle' }, - }, + keys = function() + local overseer = require('overseer') + local RUN_TAG = overseer.TAG.RUN + local BUILD_TAG = overseer.TAG.BUILD + local TEST_TAG = overseer.TAG.TEST + local function run_template(tag, show_prompt) + return function() + local prompt = show_prompt and 'always' or 'avoid' + overseer.run_template({ tags = { tag }, first = true, prompt = prompt }) + overseer.open({ enter = false }) -- don't focus + end + end + return { + { 'or', run_template(RUN_TAG, false), desc = '[O]verseer [R]un' }, + { 'oR', run_template(RUN_TAG, true), desc = '[O]verseer [R]un (with params)' }, + + { 'ob', run_template(BUILD_TAG, false), desc = '[O]verseer [B]uild' }, + { 'oB', run_template(BUILD_TAG, true), desc = '[O]verseer [B]uild (with params)' }, + + { 'ot', run_template(TEST_TAG, false), desc = '[O]verseer [T]est' }, + { 'oT', run_template(TEST_TAG, true), desc = '[O]verseer [T]est (with params)' }, + + { 'ow', 'OverseerToggle!', desc = '[O]verseer [W]indow (toggle)' }, + { 'oW', 'OverseerQuickAction open float', desc = '[O]verseer [W]indow (terminal float)' }, + } + end, opts = { templates = { 'builtin', 'custom' }, task_list = { -- cgit v1.3.1