diff --git a/README.md b/README.md index 1993467..37c9c1d 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,7 @@ require("harpoon").setup({ global_settings = { save_on_toggle = false, save_on_change = true, + enter_on_sendcmd = false, }, ... your other configs ... }) @@ -148,6 +149,8 @@ require("harpoon").setup({ enable this option (on by default) harpoon will not save any changes to your file. It is very unreliable to save your harpoon on exit (at least that is what I have found). +* `enter_on_sendcmd` will set harpoon to run the command immediately as it's + passed to the terminal when calling `sendCommand`. #### Preconfigured Terminal Commands These are project specific commands that you wish to execute on the regular. diff --git a/lua/harpoon/init.lua b/lua/harpoon/init.lua index ca09891..ae184ad 100644 --- a/lua/harpoon/init.lua +++ b/lua/harpoon/init.lua @@ -156,6 +156,7 @@ M.setup = function(config) global_settings = { ["save_on_toggle"] = false, ["save_on_change"] = true, + ["enter_on_sendcmd"] = false, }, }, expand_dir( c_config diff --git a/lua/harpoon/term.lua b/lua/harpoon/term.lua index 768991c..3700904 100644 --- a/lua/harpoon/term.lua +++ b/lua/harpoon/term.lua @@ -1,5 +1,6 @@ local harpoon = require("harpoon") local log = require("harpoon.dev").log +local global_config = harpoon.get_global_settings() local M = {} local terminals = {} @@ -76,6 +77,10 @@ M.sendCommand = function(idx, cmd, ...) cmd = harpoon.get_term_config().cmds[cmd] end + if global_config.enter_on_sendcmd then + cmd = cmd .. "\n" + end + if cmd then log.debug("sendCommand:", cmd) vim.api.nvim_chan_send(term_handle.term_id, string.format(cmd, ...))