From f92254108d154b3710bbd8d85ad2585b6a979107 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Tue, 14 Dec 2021 18:37:06 -0500 Subject: [PATCH] add toggleterm fix te --- init.lua | 1 + lua/user/bufferline.lua | 8 ++--- lua/user/keymaps.lua | 12 +++---- lua/user/plugins.lua | 1 + lua/user/toggleterm.lua | 70 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 12 deletions(-) create mode 100644 lua/user/toggleterm.lua diff --git a/init.lua b/init.lua index 927f1e0..b5fb186 100644 --- a/init.lua +++ b/init.lua @@ -12,3 +12,4 @@ require "user.gitsigns" require "user.nvim-tree" require "user.bufferline" require "user.lualine" +require "user.toggleterm" diff --git a/lua/user/bufferline.lua b/lua/user/bufferline.lua index 81015c5..7d98cf0 100644 --- a/lua/user/bufferline.lua +++ b/lua/user/bufferline.lua @@ -92,12 +92,12 @@ bufferline.setup { }, close_button = { - guifg = { attribute = "fg", highlight = "TabLineSel" }, - guibg = { attribute = "bg", highlight = "TabLineSel" }, + guifg = { attribute = "fg", highlight = "TabLine" }, + guibg = { attribute = "bg", highlight = "TabLine" }, }, close_button_visible = { - guifg = { attribute = "fg", highlight = "TabLineSel" }, - guibg = { attribute = "bg", highlight = "TabLineSel" }, + guifg = { attribute = "fg", highlight = "TabLine" }, + guibg = { attribute = "bg", highlight = "TabLine" }, }, -- close_button_selected = { -- guifg = {attribute='fg',highlight='TabLineSel'}, diff --git a/lua/user/keymaps.lua b/lua/user/keymaps.lua index b4d2195..bf8afd8 100644 --- a/lua/user/keymaps.lua +++ b/lua/user/keymaps.lua @@ -62,14 +62,10 @@ keymap("x", "", ":move '<-2gv-gv", opts) -- Terminal -- -- Better terminal navigation -keymap("t", "", "h", term_opts) -keymap("t", "", "j", term_opts) -keymap("t", "", "k", term_opts) -keymap("t", "", "l", term_opts) - --- Comment -keymap("n", "/", "lua require('Comment').toggle()", opts) -keymap("v", "/", ":lua require(\"Comment.api\").gc(vim.fn.visualmode())", opts) +-- keymap("t", "", "h", term_opts) +-- keymap("t", "", "j", term_opts) +-- keymap("t", "", "k", term_opts) +-- keymap("t", "", "l", term_opts) -- Nvimtree keymap("n", "e", ":NvimTreeToggle", opts) diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua index ef28595..1c63113 100644 --- a/lua/user/plugins.lua +++ b/lua/user/plugins.lua @@ -51,6 +51,7 @@ return packer.startup(function(use) use "akinsho/bufferline.nvim" use "moll/vim-bbye" use 'nvim-lualine/lualine.nvim' + use "akinsho/toggleterm.nvim" -- Colorschemes -- use "lunarvim/colorschemes" -- A bunch of colorschemes you can try out 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 = [[]], + 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 + +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