summaryrefslogtreecommitdiffstats
path: root/nvim/lua/user/toggleterm.lua
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2023-05-13 21:38:36 +0100
committerMatthew Lemon <y@yulqen.org>2023-05-13 21:38:36 +0100
commit0872d52e7127434a1a0cddaa30510f42a1bf22c1 (patch)
tree0300a741c9812d4ade1ec7ffd55b15a66e17684b /nvim/lua/user/toggleterm.lua
parente6fd7b60e1d6e7869baed548ffbd620d8d3e32b9 (diff)
Adds a neovim from scratch neovim scratch
Diffstat (limited to 'nvim/lua/user/toggleterm.lua')
-rw-r--r--nvim/lua/user/toggleterm.lua49
1 files changed, 49 insertions, 0 deletions
diff --git a/nvim/lua/user/toggleterm.lua b/nvim/lua/user/toggleterm.lua
new file mode 100644
index 0000000..512d97b
--- /dev/null
+++ b/nvim/lua/user/toggleterm.lua
@@ -0,0 +1,49 @@
+local M = {
+ "akinsho/toggleterm.nvim",
+ commit = "19aad0f41f47affbba1274f05e3c067e6d718e1e",
+ event = "VeryLazy",
+}
+
+function M.config()
+ local status_ok, toggleterm = pcall(require, "toggleterm")
+ if not status_ok then
+ return
+ end
+
+ toggleterm.setup {
+ size = 20,
+ open_mapping = [[<c-\>]],
+ hide_numbers = true,
+ 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",
+ },
+ }
+
+ function _G.set_terminal_keymaps()
+ local opts = { noremap = true }
+ -- vim.api.nvim_buf_set_keymap(0, 't', '<esc>', [[<C-\><C-n>]], opts)
+ vim.api.nvim_buf_set_keymap(0, "t", "<C-h>", [[<C-\><C-n><C-W>h]], opts)
+ vim.api.nvim_buf_set_keymap(0, "t", "<C-j>", [[<C-\><C-n><C-W>j]], opts)
+ vim.api.nvim_buf_set_keymap(0, "t", "<C-k>", [[<C-\><C-n><C-W>k]], opts)
+ vim.api.nvim_buf_set_keymap(0, "t", "<C-l>", [[<C-\><C-n><C-W>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
+end
+
+return M