diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/plugins/toggleterm.lua | 165 |
1 files changed, 82 insertions, 83 deletions
diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua index bc2df4b..2146dc3 100644 --- a/lua/plugins/toggleterm.lua +++ b/lua/plugins/toggleterm.lua @@ -1,63 +1,62 @@ local status_ok, toggleterm = pcall(require, "toggleterm") if not status_ok then - return + 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]], + --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]], --autochdir = true, - 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 = { - -- border = as.style.current.border, - -- winblend = 3, - --}, - size = function(term) - if term.direction == 'horizontal' then - return 15 - elseif term.direction == 'vertical' then - return math.floor(vim.o.columns * 0.4) - end - end, + 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 = { + -- border = as.style.current.border, + -- winblend = 3, + --}, + size = function(term) + if term.direction == 'horizontal' then + return 15 + elseif term.direction == 'vertical' then + return math.floor(vim.o.columns * 0.4) + end + end, + }, + float_opts = { + width = 70, + height = 15, + winblend = 3, + border = "curved", + --winblend = 0, + highlights = { + border = "Normal", + background = "Normal", + }, }, - float_opts = { - width = 70, - height = 15, - winblend = 3, - border = "curved", - --winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, }) local mods = require("user.mods") local float_handler = function(term) - if not mods.empty(vim.fn.mapcheck('jk', 't')) then vim.keymap.del('t', 'jk', { buffer = term.bufnr }) vim.keymap.del('t', '<esc>', { buffer = term.bufnr }) @@ -65,14 +64,15 @@ local float_handler = function(term) end 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", "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) + local opts = { noremap = true } + --local opts = {buffer = 0} + vim.api.nvim_buf_set_keymap(0, "t", "<C-c>", [[<Esc>]], opts) + 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 -- if you only want these mappings for toggle term use term://*toggleterm#* instead @@ -108,48 +108,47 @@ local lazygit = Terminal:new({ }) function Lazygit_toggle() - -- cwd is the root of project. if cwd is changed, change the git. - local cwd = vim.fn.getcwd() - if cwd ~= Cur_cwd then - Cur_cwd = cwd - lazygit:close() - lazygit = Terminal:new({ - cmd = "zsh --login -c 'lazygit'", - dir = "git_dir", - direction = "float", - hidden = true, - on_open = float_handler, - float_opts = { - border = { '╒', '═', '╕', '│', '╛', '═', '╘', '│' }, - width = 150, - height = 40 - }, - }) - end - lazygit:toggle() + -- cwd is the root of project. if cwd is changed, change the git. + local cwd = vim.fn.getcwd() + if cwd ~= Cur_cwd then + Cur_cwd = cwd + lazygit:close() + lazygit = Terminal:new({ + cmd = "zsh --login -c 'lazygit'", + dir = "git_dir", + direction = "float", + hidden = true, + on_open = float_handler, + float_opts = { + border = { '╒', '═', '╕', '│', '╛', '═', '╘', '│' }, + width = 150, + height = 40 + }, + }) + end + lazygit:toggle() end local node = Terminal:new({ cmd = "node", hidden = true }) function _NODE_TOGGLE() - node:toggle() + node:toggle() end local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) function _NCDU_TOGGLE() - ncdu:toggle() + ncdu:toggle() end local htop = Terminal:new({ cmd = "htop", hidden = true }) function _HTOP_TOGGLE() - htop:toggle() + htop:toggle() end local python = Terminal:new({ cmd = "python", hidden = true }) function _PYTHON_TOGGLE() - python:toggle() + python:toggle() end - |
