tabby-quick-snips
v0.1.0
Published
Quick alias snippets plugin for Tabby Terminal
Maintainers
Readme
tabby-quick-snips
Manual alias-based quick snippets plugin for Tabby Terminal.
This plugin runs on the Tabby UI side and shows a small suggestion overlay inside the terminal. It does not depend on the remote shell. Commands are defined manually by the user and matched with fuzzy search or short aliases such as ps, reset, or db-update.
Features
- Client-side autocomplete inside Tabby UI
- Manual command list management
- Alias/shortcut support via
shortcutornormalized - Fuzzy search like
ps->docker compose ps - Inline dropdown overlay inside the terminal
- Keyboard navigation with
ArrowUpandArrowDown - Accept suggestion with
Tab - Pin, edit, delete, import, and export entries
- Settings tab inside Tabby for managing entries
File structure
tabby-quick-snips/
├── src/
│ ├── config.ts
│ ├── decorator.ts
│ ├── fuzzy.ts
│ ├── historyStore.ts
│ ├── hotkeys.ts
│ ├── index.ts
│ ├── settings.ts
│ ├── terminalState.ts
│ └── types.ts
├── LICENSE
├── package.json
├── README.md
├── tsconfig.json
└── webpack.config.jsHow it works
- You define aliases and commands in the
Quick Snipssettings tab. - In terminal, type a partial alias or command, for example
psorreset. - Press the configured hotkey to open the suggestion overlay.
- Use
ArrowUpandArrowDownto select a result. - Press
Tabto insert the selected command.
Installation
Local development install
- Clone or copy this plugin into its own folder.
- Install dependencies:
npm install- Build the plugin:
npm run build- Load it in Tabby.
Typical options:
- Symlink or copy the package into Tabby's plugin path.
- Or start Tabby with:
TABBY_PLUGINS=/absolute/path/to/plugins tabbyIf you keep this package in /absolute/path/to/plugins/tabby-quick-snips, Tabby can discover it as a standalone plugin package.
Publish to npm later
This package is already structured as a standalone npm module:
- package name:
tabby-quick-snips - keyword:
tabby-plugin - build output:
dist/index.js
Before publishing, update:
package.jsonauthor/repository/homepage fields- version number
- compatibility notes for the Tabby version you target
Then publish with:
npm publish --access publicExample usage
The plugin ships with these default entries:
[
{
"id": "cmd_6t82mzgvmnj17uvo",
"command": "docker compose ps",
"normalized": "ps",
"pinned": false
},
{
"id": "cmd_6t82mzgvmnj17uv2",
"command": "docker compose down; docker compose up -d --force-recreate",
"normalized": "reset",
"pinned": false
},
{
"id": "cmd_6t82mzgvmnj17uv3",
"command": "php bin/console doctrine:cache:clear-metadata; php bin/console doctrine:schema:update --force --no-interaction;",
"normalized": "db-update",
"pinned": false
},
{
"id": "demo_git_status",
"command": "git status",
"normalized": "git status",
"pinned": true
}
]If your list gets messy, open Quick Snips settings and click Reset Defaults.
Then in terminal:
- Type
ps - Press
Cmd+P - Choose
docker compose ps - Press
Tab
Or:
- Type
reset - Press
Cmd+P - Press
Tab
Default behavior
- Hotkey:
Cmd+P - Auto show: disabled
- Minimum typed characters:
2 - Suggestions come only from manually saved entries
Enterdoes not accept suggestionsTabaccepts the selected suggestion
Notes
- Data is stored in Tabby's local config under
historyAutocomplete. - The visible plugin name in Tabby is
Quick Snips. normalizedis treated as the alias trigger value.- If
shortcutexists, it is also used as the alias trigger value. - The settings tab is the recommended way to manage entries.
Suggested next improvements
- Replace the simple settings form with a cleaner table editor.
- Add drag-and-drop sorting and sections/groups.
- Add optional per-profile command sets.
