diff options
| author | mirenn <me@mirenn.dev> | 2026-09-21 23:09:33 +0200 |
|---|---|---|
| committer | mirenn <me@mirenn.dev> | 2026-10-06 14:13:32 +0200 |
| commit | 8f9c77878f8742a47d34a50748023d1b552cfbf1 (patch) | |
| tree | f749dff061451ab8427100c452f8175de8e39c53 /mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua | |
| parent | 8501a38d7c3bbc2e99466e6658be134c72d4f47a (diff) | |
| download | dotfiles-8f9c77878f8742a47d34a50748023d1b552cfbf1.tar.gz dotfiles-8f9c77878f8742a47d34a50748023d1b552cfbf1.zip | |
guix primer
Diffstat (limited to 'mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua')
| -rw-r--r-- | mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua new file mode 100644 index 0000000..9bd1b78 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua @@ -0,0 +1,64 @@ +local init = function() + local keymap = vim.keymap + --[[ keymap.set("n", "<C-t>", ":ToggleTerm<Enter>", + { noremap = true, silent = true, desc = "Terminal (ToggleTerm)" }) -- Terminal + keymap.set("t", "<C-t>", "<C-\\><C-n>:ToggleTerm<Enter>") ]] + keymap.set("n", "<Space>g", ":ToggleLazyGit<Enter>", + { noremap = true, silent = true, desc = "LazyGit (ToggleTerm)" }) -- LazyGit +end + +local config = function() + --[[ require("toggleterm").setup { + autochdir = false, + direction = "float", + open_mapping = "<c-t>", + terminal_mappings = true, + start_in_insert = true, + float_opts = { + border = "curved", + }, + on_open = function(term) + local cwd = vim.fn.getcwd() + if term.dir ~= cwd then + term:send("cd " .. cwd .. " && clear") + term.dir = cwd + end + end, + } ]] + local Terminal = require("toggleterm.terminal").Terminal + local opts = { + noremap = true, -- non-recursive + silent = true, -- do not show message + } + + -- LazyGit + local lazygit = Terminal:new({ + cmd = "lazygit", + dir = "git_dir", + direction = "float", + float_opts = { + border = "curved", + }, + -- function to run on opening the terminal + on_open = function(term) + vim.cmd("startinsert!") + vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", ":close<Enter>", opts) + end, + -- function to run on closing the terminal + on_close = function() + vim.cmd("startinsert!") + end, + }) + local function toggle_lazygit() + lazygit:toggle() + end + vim.api.nvim_create_user_command("ToggleLazyGit", toggle_lazygit, {}) +end + +return { + "akinsho/toggleterm.nvim", + lazy = true, + cmd = { "ToggleTerm", "ToggleLazyGit" }, + init = init, + config = config, +} |
