aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/toggleterm.lua
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2023-02-10 11:22:07 +0200
committersrdusr <trevorgray@srdusr.com>2023-02-10 11:22:07 +0200
commit7cee6e5a673defef72c803eca094d1247c31bb9c (patch)
tree1dbc97c5ece5f574ef5091d549fb434a8b59a625 /.config/nvim/lua/plugins/toggleterm.lua
parentb91ee8da3ef2c1c154833b4b6e99250fe2c280e7 (diff)
parentf76f2c4bbc1ddde4b5c0882863060e4c58a11733 (diff)
downloaddotfiles-7cee6e5a673defef72c803eca094d1247c31bb9c.tar.gz
dotfiles-7cee6e5a673defef72c803eca094d1247c31bb9c.zip
Add '.config/nvim/' from commit 'e707f3abc83e0621eab64b4828defd0c80dff5c0'
git-subtree-dir: .config/nvim git-subtree-mainline: bb29321714929e1b7b962dd47b486325fd77e67a git-subtree-split: e707f3abc83e0621eab64b4828defd0c80dff5c0
Diffstat (limited to '.config/nvim/lua/plugins/toggleterm.lua')
-rw-r--r--.config/nvim/lua/plugins/toggleterm.lua90
1 files changed, 90 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/toggleterm.lua b/.config/nvim/lua/plugins/toggleterm.lua
new file mode 100644
index 0000000..0c3c45f
--- /dev/null
+++ b/.config/nvim/lua/plugins/toggleterm.lua
@@ -0,0 +1,90 @@
+local status_ok, toggleterm = pcall(require, "toggleterm")
+if not status_ok then
+ return
+end
+
+toggleterm.setup({
+ size = function(term)
+ if term.direction == "horizontal" then
+ return 12
+ elseif term.direction == "vertical" then
+ return vim.o.columns * 0.3
+ end
+ end,
+ --size = 20,
+ open_mapping = [[<leader>tt]],
+ hide_numbers = true,
+ shade_filetypes = {},
+ shade_terminals = false,
+ shading_factor = 1,
+ start_in_insert = true,
+ insert_mappings = true,
+ persist_size = true,
+ direction = "float",
+ --direction = "vertical",
+ --direction = "horizontal",
+ close_on_exit = true,
+ shell = vim.o.shell,
+ highlights = {
+ -- highlights which map to a highlight group name and a table of it's values
+ -- NOTE: this is only a subset of values, any group placed here will be set for the terminal window split
+ Normal = {
+ background = "#000000",
+ },
+ },
+ float_opts = {
+ width = 70,
+ height = 15,
+ winblend = 3,
+ border = "curved",
+ --winblend = 0,
+ highlights = {
+ border = "Normal",
+ background = "Normal",
+ },
+ },
+})
+
+function _G.set_terminal_keymaps()
+ local opts = { noremap = true }
+ --local opts = {buffer = 0}
+ vim.api.nvim_buf_set_keymap(0, "t", "<esc>", [[<C-\><C-n>]], opts)
+ vim.api.nvim_buf_set_keymap(0, "t", "jj", [[<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
+
+local node = Terminal:new({ cmd = "node", hidden = true })
+
+function _NODE_TOGGLE()
+ node:toggle()
+end
+
+local ncdu = Terminal:new({ cmd = "ncdu", hidden = true })
+
+function _NCDU_TOGGLE()
+ ncdu:toggle()
+end
+
+local htop = Terminal:new({ cmd = "htop", hidden = true })
+
+function _HTOP_TOGGLE()
+ htop:toggle()
+end
+
+local python = Terminal:new({ cmd = "python", hidden = true })
+
+function _PYTHON_TOGGLE()
+ python:toggle()
+end