Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ianthehenry/zsh-expander
predictable fzf-based completion for zsh
https://github.com/ianthehenry/zsh-expander
fzf zle zle-widgets zsh-plugin
Last synced: about 2 months ago
JSON representation
predictable fzf-based completion for zsh
- Host: GitHub
- URL: https://github.com/ianthehenry/zsh-expander
- Owner: ianthehenry
- License: mit
- Created: 2022-01-24T01:04:41.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-01-25T15:56:29.000Z (over 2 years ago)
- Last Synced: 2024-04-13T02:10:54.228Z (about 2 months ago)
- Topics: fzf, zle, zle-widgets, zsh-plugin
- Language: Shell
- Homepage:
- Size: 1.95 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-zsh-plugins - expander - A `zle` widget that allows you to write custom expanders and select them with [fzf](https://github.com/junegunn/fzf). (Plugins / ZSH on Windows)
- awesome-zsh-plugins - expander - A `zle` widget that allows you to write custom expanders and select them with [fzf](https://github.com/junegunn/fzf). (Plugins / ZSH on Windows)
- fucking-awesome-zsh-plugins - expander - A `zle` widget that allows you to write custom expanders and select them with <b><code> 60791⭐</code></b> <b><code> 2315🍴</code></b> [fzf](https://github.com/junegunn/fzf)). (Plugins / ZSH on Windows)
README
# zsh-expander
zsh-expander is a `zle` widget ("zsh plugin") that allows you to write custom expansions and select them with `fzf`. For example:
```
$ git revise .c
```Will let you select a git commit to [revise](https://github.com/mystor/git-revise).
It depends on `fzf` and `perl`.
This is different from typical zsh completion because it's entirely predictable and works for any command: completions are only based on the trigger word that you type, not the completion script for the command you happen to be running. It is also *much* faster than builtin shell completion.
Currently the triggers are hardcoded:
- `.b` git branches
- `.c` git commits
- `.d` dirty git files
- `.f` any file/directory, recursivelyBut a future version will make them configurable.
This isn't really... released yet. This is just me trying to clean up my `.zshrc`.