akinsho / akinsho/toggleterm.nvim
[REFACTOR] Adopt scoped `:ToggleTerm` subcommands and optional legacy commands
- Lingua principale
- Lua
- Stelle
- 5.6k
- Fork
- 206
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## Problem
This plugin has multiple user commands using camelCase (`:TermExec`, `:TermNew`, `:TermSelect`, `:ToggleTermToggleAll`, `:ToggleTermSend*`, `:ToggleTermSetName`, etc.). However, I've been reading Neovim plugin conventions and a point they bring up is that this design pollutes the command namespace and makes completion noisy. A better design would be `:{PLUGIN}{subcommand}` ex: `:ToggleTerm select`
## Proposal
Adopt a single scoped command with subcommands, with completion support.
Example:
- `:ToggleTerm` (default toggle)
- `:ToggleTerm toggle`
- `:ToggleTerm exec …`
- `:ToggleTerm new …`
- `:ToggleTerm select`
- `:ToggleTerm toggle_all`
- `:ToggleTerm send current_line|visual_lines|visual_selection`
- `:ToggleTerm set_name …`
Provide subcommand-aware completion.
Add `legacy_commands = true` (default **false**) to optionally register the old command names for users who rely on them.
## Why
Better completion UX.
## Acceptance Criteria
- Single `:ToggleTerm` command works with subcommands listed above
- Completion suggests subcommands and delegates to existing argument completion for `exec`, `new`, `toggle`
- `legacy_commands` opt‑in registers old command names
## Pull request
Would a pull request be welcomed? Along with the refactoring of the command names, I would update the README.md and doc/toggleterm.txt. Also, I would update the tests.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.