From 73ec555c45cbb97f5e326737bd7b20c2f0ec7134 Mon Sep 17 00:00:00 2001 From: Matthew Leong Date: Sun, 9 Jun 2024 22:03:06 -0700 Subject: [PATCH] feat: add toggleterm --- lazy-lock.json | 15 ++++++----- lua/cosmic/plugins/lazydev/init.lua | 4 +-- lua/cosmic/plugins/terminal/init.lua | 2 +- lua/cosmic/plugins/toggleterm/init.lua | 37 ++++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 lua/cosmic/plugins/toggleterm/init.lua diff --git a/lazy-lock.json b/lazy-lock.json index ac13c09..1cc1aef 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,7 +1,7 @@ { - "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, + "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, - "SchemaStore.nvim": { "branch": "main", "commit": "d9fd6651b47b68bfc1b952f81a0fdded3cb205b2" }, + "SchemaStore.nvim": { "branch": "main", "commit": "1c2e917655b14dff9ef38466be6fb0b72c4797b2" }, "auto-session": { "branch": "main", "commit": "af2219b9fa99c1d7ac409bd9eac094c459d3f52d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, @@ -9,10 +9,10 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "cosmic-ui": { "branch": "main", "commit": "c0b14531999f2bfef3d927c4dcd57a1a8fed5ee9" }, - "friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" }, + "friendly-snippets": { "branch": "main", "commit": "7278f9d9aeee0e2befcb8a5b1a25c65bd54396aa" }, "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, "lazy.nvim": { "branch": "main", "commit": "eb4957442e3182f051b0ae11da32e06d22c190e3" }, - "lazydev.nvim": { "branch": "main", "commit": "107231114623e2c4f90c626ec83b3120816b554e" }, + "lazydev.nvim": { "branch": "main", "commit": "7cbb524c85f87017df9c1ea2377a1d840ad8ed51" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, @@ -28,7 +28,7 @@ "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-tree.lua": { "branch": "master", "commit": "2086e564c4d23fea714e8a6d63b881e551af2f41" }, - "nvim-treesitter": { "branch": "master", "commit": "c1e1e24b6433d4539bad9f5daa207df39633071b" }, + "nvim-treesitter": { "branch": "master", "commit": "9ebc589329083522f9594f408fc2652090b41139" }, "nvim-treesitter-refactor": { "branch": "master", "commit": "65ad2eca822dfaec2a3603119ec3cc8826a7859e" }, "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, @@ -37,9 +37,10 @@ "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "3a743491e5c6be0ed0aa8c31c6905df8f66179ba" }, + "telescope.nvim": { "branch": "master", "commit": "f12b15e1b3a33524eb06a1ae7bc852fb1fd92197" }, "todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" }, - "tokyonight.nvim": { "branch": "main", "commit": "f9e738e2dc78326166f11c021171b2e66a2ee426" }, + "toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" }, + "tokyonight.nvim": { "branch": "main", "commit": "e4df5bb11d5dd419994c87e81e667847f0389c7e" }, "vim-floaterm": { "branch": "master", "commit": "4e28c8dd0271e10a5f55142fb6fe9b1599ee6160" }, "vim-fugitive": { "branch": "master", "commit": "4f59455d2388e113bd510e85b310d15b9228ca0d" }, "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" } diff --git a/lua/cosmic/plugins/lazydev/init.lua b/lua/cosmic/plugins/lazydev/init.lua index 29911cb..d94937f 100644 --- a/lua/cosmic/plugins/lazydev/init.lua +++ b/lua/cosmic/plugins/lazydev/init.lua @@ -7,9 +7,9 @@ return { -- See the configuration section for more details -- Load luvit types when the `vim.uv` word is found { path = 'luvit-meta/library', words = { 'vim%.uv' } }, + 'lazy.nvim', + 'toggleterm.nvim', --[[ { path = 'plenary.nvim/lua/plenary', words = { 'plenary' } }, ]] - --[[ 'lazy.nvim', ]] - --[[ 'LazyVim', ]] }, }, dependencies = { { 'Bilal2453/luvit-meta', lazy = true } }, diff --git a/lua/cosmic/plugins/terminal/init.lua b/lua/cosmic/plugins/terminal/init.lua index c761635..4c460e6 100644 --- a/lua/cosmic/plugins/terminal/init.lua +++ b/lua/cosmic/plugins/terminal/init.lua @@ -17,7 +17,7 @@ return { g.floaterm_opener = 'vsplit' require('cosmic.plugins.terminal.highlights') - require('cosmic.plugins.terminal.mappings') + --[[ require('cosmic.plugins.terminal.mappings') ]] end, enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'terminal'), } diff --git a/lua/cosmic/plugins/toggleterm/init.lua b/lua/cosmic/plugins/toggleterm/init.lua new file mode 100644 index 0000000..ea270c1 --- /dev/null +++ b/lua/cosmic/plugins/toggleterm/init.lua @@ -0,0 +1,37 @@ +local user_config = require('cosmic.core.user') +local map = require('cosmic.utils').map +local create_buf_map = require('cosmic.utils').create_buf_map +return { + 'akinsho/toggleterm.nvim', + config = function() + require('toggleterm').setup({ + direction = 'float', + float_opts = { + border = user_config.border, + }, + }) + + local Terminal = require('toggleterm.terminal').Terminal + + function new_terminal() + local terminal = Terminal:new({ + on_open = function(term) + local buf_map = create_buf_map(term.bufnr, { + noremap = false, + }) + vim.cmd('startinsert!') + end, + -- function to run on closing the terminal + on_close = function(term) + vim.cmd('startinsert!') + end, + }) + terminal:toggle() + end + + map('n', '', ':ToggleTerm', { desc = 'Toggle Terminal' }) + map('t', '', [[]], { desc = 'Close Floaterm' }) + map('t', 'n', new_terminal, { desc = 'New terminal' }) + end, + lazy = false, +}