summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVito G. Graffagnino <vito@graffagnino.xyz>2022-06-03 18:02:52 +0100
committerVito G. Graffagnino <vito@graffagnino.xyz>2022-06-03 18:02:52 +0100
commite7536631ab8167f2a1ebe4e8e494f25242dc378b (patch)
treeeb10a4c0828e759cf09aed0e57a8b1d7b44dc32f
parentc6293c28f879b5f9b130dbd3eba19caa8c7a3362 (diff)
parenta77e1095d3a820c975f68bbcfbedea0185096378 (diff)
Merge branch '16-toggleterm' into vgg
-rw-r--r--init.lua1
-rw-r--r--lua/user/plugins.lua1
-rw-r--r--lua/user/toggleterm.lua70
3 files changed, 72 insertions, 0 deletions
diff --git a/init.lua b/init.lua
index 184a4df..64d7fb3 100644
--- a/init.lua
+++ b/init.lua
@@ -13,3 +13,4 @@ require "user.gitsigns"
require "user.nvim-tree"
require "user.bufferline"
require "user.lualine"
+require "user.toggleterm"
diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua
index 211cdd3..9010e9a 100644
--- a/lua/user/plugins.lua
+++ b/lua/user/plugins.lua
@@ -49,6 +49,7 @@ return packer.startup(function(use)
use "akinsho/bufferline.nvim"
use "moll/vim-bbye"
use 'nvim-lualine/lualine.nvim'
+ use "akinsho/toggleterm.nvim"
use 'kyazdani42/nvim-web-devicons'
use 'kyazdani42/nvim-tree.lua'
diff --git a/lua/user/toggleterm.lua b/lua/user/toggleterm.lua
new file mode 100644
index 0000000..cecbd99
--- /dev/null
+++ b/lua/user/toggleterm.lua
@@ -0,0 +1,70 @@
+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_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', '<esc>', [[<C-\><C-n>]], opts)
+ vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[<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