summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-08-05 17:23:12 +0300
committerKyren223 <ulmliad223@gmail.com>2024-08-05 17:23:12 +0300
commit4732f43af688991dcbd6742c2def8b8aa11e95c5 (patch)
tree0cfc59ed56c96439094d841241e254965afaa979
parent663dcf61828d67613398cdc7341859b58f55d455 (diff)
feat(nvim): overseer keymaps to easily build/run/test programs
-rw-r--r--.config/nvim/lua/custom/plugins/overseer.lua30
1 files changed, 26 insertions, 4 deletions
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 = {
- { '<leader>or', '<cmd>OverseerRun<cr>', desc = '[O]verseer [R]un' },
- { '<leader>ot', '<cmd>OverseerToggle<cr>', 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 {
+ { '<leader>or', run_template(RUN_TAG, false), desc = '[O]verseer [R]un' },
+ { '<leader>oR', run_template(RUN_TAG, true), desc = '[O]verseer [R]un (with params)' },
+
+ { '<leader>ob', run_template(BUILD_TAG, false), desc = '[O]verseer [B]uild' },
+ { '<leader>oB', run_template(BUILD_TAG, true), desc = '[O]verseer [B]uild (with params)' },
+
+ { '<leader>ot', run_template(TEST_TAG, false), desc = '[O]verseer [T]est' },
+ { '<leader>oT', run_template(TEST_TAG, true), desc = '[O]verseer [T]est (with params)' },
+
+ { '<leader>ow', '<cmd>OverseerToggle!<cr>', desc = '[O]verseer [W]indow (toggle)' },
+ { '<leader>oW', '<cmd>OverseerQuickAction open float<cr>', desc = '[O]verseer [W]indow (terminal float)' },
+ }
+ end,
opts = {
templates = { 'builtin', 'custom' },
task_list = {