diff options
author | nathan11 <thenathansmithsmith@gmail.com> | 2023-07-25 00:52:07 -0600 |
---|---|---|
committer | nathan11 <thenathansmithsmith@gmail.com> | 2023-07-25 00:52:07 -0600 |
commit | 0f8c62f2d18fd86e2bad01a33e5e9beb4e2ef77b (patch) | |
tree | e098cecfe770af08bd77eda320f8a0260c3c68c6 /lua/config_toggleterm.lua |
first commit
Diffstat (limited to 'lua/config_toggleterm.lua')
-rw-r--r-- | lua/config_toggleterm.lua | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/lua/config_toggleterm.lua b/lua/config_toggleterm.lua new file mode 100644 index 0000000..223772d --- /dev/null +++ b/lua/config_toggleterm.lua @@ -0,0 +1,110 @@ +local status_ok, toggleterm = pcall(require, "toggleterm") +if not status_ok then + return +end + +toggleterm.setup { + size = 20, + open_mapping = [[<A-\>]], + 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", "<m-h>", [[<C-\><C-n><C-W>h]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "<m-j>", [[<C-\><C-n><C-W>j]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "<m-k>", [[<C-\><C-n><C-W>k]], opts) + vim.api.nvim_buf_set_keymap(0, "t", "<m-l>", [[<C-\><C-n><C-W>l]], opts) +end + +vim.cmd "autocmd! TermOpen term://* lua set_terminal_keymaps()" + +-- You will never stop me!!! +local rickroll = require("rickroll") +vim.keymap.set({"i", "n", "v"}, "<Right>", rickroll.rickroll) +vim.keymap.set({"i", "n", "v"}, "<Left>", rickroll.rickroll) +vim.keymap.set({"i", "n", "v"}, "<Up>", rickroll.rickroll) +vim.keymap.set({"i", "n", "v"}, "<Down>", rickroll.rickroll) + + +local Terminal = require("toggleterm.terminal").Terminal +local lazygit = Terminal:new { + cmd = "lazygit", + hidden = true, + direction = "float", + float_opts = { + border = "none", + width = 100000, + height = 100000, + }, + on_open = function(_) + vim.cmd "startinsert!" + -- vim.cmd "set laststatus=0" + end, + on_close = function(_) + -- vim.cmd "set laststatus=3" + end, + count = 99, +} + +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 + +local cargo_run = Terminal:new { cmd = "cargo run", hidden = true } + +function _CARGO_RUN() + cargo_run:toggle() +end + +local cargo_test = Terminal:new { cmd = "cargo test", hidden = true } + +function _CARGO_TEST() + cargo_test:toggle() +end + +-- Some key binds. +vim.keymap.set({"n", "i"}, "<leader>c", ":ToggleTerm<CR>") |