aboutsummaryrefslogtreecommitdiff
path: root/lua/gabrielgio/term.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/gabrielgio/term.lua')
-rw-r--r--lua/gabrielgio/term.lua28
1 files changed, 25 insertions, 3 deletions
diff --git a/lua/gabrielgio/term.lua b/lua/gabrielgio/term.lua
index 0172fbe..0bd5675 100644
--- a/lua/gabrielgio/term.lua
+++ b/lua/gabrielgio/term.lua
@@ -1,7 +1,29 @@
local key = require("gabrielgio.key")
+require("toggleterm").setup()
+
+local function isempty(s)
+ return s == nil or s == ""
+end
+
+local lastCommand = ""
+
key.nnoremap("<C-n>", ":Neogit kind=replace<cr>")
-key.nnoremap("<C-p>", ":ToggleTerminal<cr>")
-key.tnoremap("<C-p>", "<C-\\><C-n>:ToggleTerminal<cr>")
+key.nnoremap("<C-p>", ":ToggleTerm size=40 direction=float<cr>")
+key.nnoremap("<C-l>", ":ToggleTerm size=100 direction=vertical<cr>")
+key.vnoremap("<C-y>", ":ToggleTermSendVisualSelection<cr>")
+key.nnoremap("<C-y>", function()
+ local user_input = vim.fn.input("$ ")
+
+ if isempty(user_input) then
+ user_input = lastCommand
+ end
+
+ if not isempty(user_input) then
+ vim.cmd(string.format("TermExec cmd='%s'", user_input))
+ lastCommand = user_input
+ end
+end)
key.tnoremap("<Esc>", "<C-\\><C-n>")
-key.tnoremap("<C-n>", "<C-\\><C-n>:Neogit kind=replace<cr>")
+key.tnoremap("<C-p>", "<C-\\><C-n>:ToggleTerm<cr>")
+key.tnoremap("<C-l>", "<C-\\><C-n>:ToggleTerm<cr>")