From 8f9c77878f8742a47d34a50748023d1b552cfbf1 Mon Sep 17 00:00:00 2001 From: mirenn Date: Mon, 21 Sep 2026 23:09:33 +0200 Subject: guix primer --- .../.config/nvim/lua/plugins/toggleterm.lua | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua (limited to 'mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua') 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", "", ":ToggleTerm", + { noremap = true, silent = true, desc = "Terminal (ToggleTerm)" }) -- Terminal + keymap.set("t", "", ":ToggleTerm") ]] + keymap.set("n", "g", ":ToggleLazyGit", + { noremap = true, silent = true, desc = "LazyGit (ToggleTerm)" }) -- LazyGit +end + +local config = function() + --[[ require("toggleterm").setup { + autochdir = false, + direction = "float", + open_mapping = "", + 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", 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, +} -- cgit v1.2.3