diff --git a/lua/custom/plugins/init.lua b/lua/custom/plugins/init.lua index 9bf7149d..66b4fa72 100644 --- a/lua/custom/plugins/init.lua +++ b/lua/custom/plugins/init.lua @@ -5,7 +5,7 @@ -- Neotree -vim.keymap.set('n', 'e', function() vim.cmd.Neotree("toggle") end, { desc = 'Toggle Neotree' }) +vim.keymap.set('n', 'f', function() vim.cmd.Neotree("toggle") end, { desc = 'Toggle Neotree' }) -- Movement in the editor vim.keymap.set('n', '', function() vim.cmd.wincmd("h") end, { desc = 'Terminal left window navigation' }) @@ -19,32 +19,5 @@ vim.keymap.set('n', '', function() vim.cmd.tabnext() end, { desc = 'Move to vim.keymap.set('n', 'tn', function() vim.cmd.tabnew() end, { desc = 'Create new tab' }) vim.keymap.set('n', 'tc', function() vim.cmd.tabclose() end, { desc = 'Close tab'}) - --- ToggleTerm -vim.keymap.set('n', 'tt', function() vim.cmd('ToggleTerm direction=float') end, { desc = 'Open ToggleTerm'}) -vim.keymap.set('n', '', function() vim.cmd('ToggleTerm') end, { desc = 'Toggle ToggleTerm'}) - --- Lazygit -local Terminal = require('toggleterm.terminal').Terminal -local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) -local pythonREPL = Terminal:new({ cmd = "python3", hidden = true }) -local haskellREPL = Terminal:new({ cmd = "ghci", hidden = true }) - -function _lazygit_toggle() - lazygit:toggle() -end - -function _pythonREPL_toggle() - pythonREPL:toggle() -end - -function _haskellREPL_toggle() - haskellREPL:toggle() -end - -vim.keymap.set('n', 'tl', "lua _lazygit_toggle()", { desc = 'Toggle Lazygit', noremap = true, silent = true }) -vim.keymap.set('n', 'tp', "lua _pythonREPL_toggle()", { desc = 'Toggle Python3 REPL', noremap = true, silent = true }) -vim.keymap.set('n', 'th', "lua _haskellREPL_toggle()", { desc = 'Toggle GHCI', noremap = true, silent = true }) - return { } diff --git a/lua/custom/plugins/toggleterm.lua b/lua/custom/plugins/toggleterm.lua index dd9c66b4..daaa1d98 100644 --- a/lua/custom/plugins/toggleterm.lua +++ b/lua/custom/plugins/toggleterm.lua @@ -5,6 +5,35 @@ return { "akinsho/toggleterm.nvim", event = "VeryLazy", cmd = { "ToggleTerm", "TermExec" }, + config = function() + -- Lazygit + local Terminal = require('toggleterm.terminal').Terminal + local defaultTerm = Terminal:new({ cmd = "zsh", hidden = true, orientation = "float" }) + local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + local pythonREPL = Terminal:new({ cmd = "python3", hidden = true }) + local haskellREPL = Terminal:new({ cmd = "ghci", hidden = true }) + + function _defaultterm_toggle() + defaultTerm:toggle() + end + function _lazygit_toggle() + lazygit:toggle() + end + + function _pythonREPL_toggle() + pythonREPL:toggle() + end + + function _haskellREPL_toggle() + haskellREPL:toggle() + end + + vim.keymap.set('n', 'tt', "lua _defaultterm_toggle()", { desc = 'Toggle Lazygit', noremap = true, silent = true }) + vim.keymap.set('n', '', "lua _defaultterm_toggle()", { desc = 'Toggle Lazygit', noremap = true, silent = true }) + vim.keymap.set('n', 'tl', "lua _lazygit_toggle()", { desc = 'Toggle Lazygit', noremap = true, silent = true }) + vim.keymap.set('n', 'tp', "lua _pythonREPL_toggle()", { desc = 'Toggle Python3 REPL', noremap = true, silent = true }) + vim.keymap.set('n', 'th', "lua _haskellREPL_toggle()", { desc = 'Toggle GHCI', noremap = true, silent = true }) + end, opts = { size = 10, on_create = function()