Skip to content

Commit

Permalink
feat(terminal-integration): add toggleterm-manager.nvim (#959)
Browse files Browse the repository at this point in the history

---------

Co-authored-by: Micah Halter <micah@mehalter.com>
  • Loading branch information
LumenYoung and mehalter committed May 14, 2024
1 parent 9bbab93 commit 22a9151
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# toggleterm-manager.nvim

A Telescope extension to manage Toggleterm's terminals in NeoVim

Key `<Leader>ts` is mapped to open the telescope interface.

Additionally added keymaps in the Telescope interface:

- `n` normal mode:
- `<CR>`: toggle the selected terminal.
- `r`: rename the selected terminal.
- `d`: delete the selected terminal.
- `n`: create a new terminal buffer
- `i` insert mode:
- `<CR>`: toggle the selected terminal.
- `<C-r>`: rename the selected terminal.
- `<C-d>`: delete the selected terminal.
- `<C-i>`: create a new terminal buffer

**Repository:** <https://github.com/ryanmsnyder/toggleterm-manager.nvim>
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
return {
"ryanmsnyder/toggleterm-manager.nvim",
lazy = true,
init = function(plugin) require("astrocore").on_load("telescope.nvim", plugin.name) end,
dependencies = {
"akinsho/toggleterm.nvim",
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim",
{
"AstroNvim/astrocore",
opts = {
mappings = {
n = {
["<Leader>ts"] = { "<cmd>Telescope toggleterm_manager<cr>", desc = "Search Toggleterms" },
},
},
},
},
},
opts = function(_, opts)
local term_icon = require("astroui").get_icon "Terminal"
local toggleterm_manager = require "toggleterm-manager"
local actions = toggleterm_manager.actions

return require("astrocore").extend_tbl(opts, {
titles = { prompt = term_icon .. " Terminals" },
results = { term_icon = term_icon },
mappings = {
n = {
["<CR>"] = { action = actions.toggle_term, exit_on_action = true }, -- toggles terminal open/closed
["r"] = { action = actions.rename_term, exit_on_action = false }, -- provides a prompt to rename a terminal
["d"] = { action = actions.delete_term, exit_on_action = false }, -- deletes a terminal buffer
["n"] = { action = actions.create_term, exit_on_action = false }, -- creates a new terminal buffer
},
},
})
end,
}

0 comments on commit 22a9151

Please sign in to comment.