From cdba3556882f5672de141cfa98c64f4257c69de0 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Fri, 14 Jan 2022 18:48:13 +0100 Subject: Add toggleterm plugin --- lua/config/toggleterm.lua | 48 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lua/config/toggleterm.lua (limited to 'lua/config/toggleterm.lua') diff --git a/lua/config/toggleterm.lua b/lua/config/toggleterm.lua new file mode 100644 index 0000000..6e11000 --- /dev/null +++ b/lua/config/toggleterm.lua @@ -0,0 +1,48 @@ +-- Adds ability to open a terminal with neovim, e.g. lazygit. + +local status_ok, toggleterm = pcall(require, "toggleterm") +if not status_ok then + return +end + +toggleterm.setup({ + size = 20, + open_mapping = [[]], + hide_numbers = true, + shade_filetypes = {}, + shade_terminals = true, + shading_factor = 2, + start_in_insert = true, + insert_mappings = true, + persist_size = true, + direction = "float", + close_on_exit = true, + shell = vim.o.shell, + float_opts = { + border = "curved", + winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, + }, +}) + +function _G.set_terminal_keymaps() + local opts = { noremap = true } + vim.api.nvim_buf_set_keymap(0, "t", "", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "jk", [[]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[h]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[j]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[k]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "", [[l]], opts) +end + +vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") + +local Terminal = require("toggleterm.terminal").Terminal +local lazygit = Terminal:new({ cmd = "lazygit", hidden = true }) + +function _LAZYGIT_TOGGLE() + lazygit:toggle() +end -- cgit v1.2.3-70-g09d2