akinsho / akinsho/toggleterm.nvim

[REFACTOR] Adopt scoped `:ToggleTerm` subcommands and optional legacy commands

Ouverte
#668 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
Langage dominant
Lua
Étoiles
5.6k
Forks
206
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## 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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.