Tim Abell 0c9b42a863 docs(alias-finder): add some examples (#12502) 5 mesi fa
..
tests 13a8e3d98a feat(alias-finder): add cheaper option and apply zstyle options (#11773) 1 anno fa
.zunit.yml 13a8e3d98a feat(alias-finder): add cheaper option and apply zstyle options (#11773) 1 anno fa
README.md 0c9b42a863 docs(alias-finder): add some examples (#12502) 5 mesi fa
alias-finder.plugin.zsh 13a8e3d98a feat(alias-finder): add cheaper option and apply zstyle options (#11773) 1 anno fa

README.md

alias-finder plugin

This plugin searches the defined aliases and outputs any that match the command inputted. This makes learning new aliases easier.

Setup

To use it, add alias-finder to the plugins array of your zshrc file:

plugins=(... alias-finder)

To enable it for every single command, set zstyle in your ~/.zshrc.

# ~/.zshrc

zstyle ':omz:plugins:alias-finder' autoload yes # disabled by default
zstyle ':omz:plugins:alias-finder' longer yes # disabled by default
zstyle ':omz:plugins:alias-finder' exact yes # disabled by default
zstyle ':omz:plugins:alias-finder' cheaper yes # disabled by default

As you can see, options are also available with zstyle.

Usage

When you execute a command alias finder will look at your defined aliases and suggest shorter aliases you could have used, for example:

Running the un-aliased git status command:

╭─tim@fox ~/repo/gitopolis ‹main› 
╰─$ git status

gst='git status'         # <=== shorter suggestion from alias-finder

On branch main
Your branch is up-to-date with 'origin/main'.
nothing to commit, working tree clean

Running a shorter git st alias from .gitconfig that it suggested :

╭─tim@fox ~/repo/gitopolis ‹main› 
╰─$ git st
gs='git st'         # <=== shorter suggestion from alias-finder
## main...origin/main

Running the shortest gs shell alias that it found:

╭─tim@fox ~/repo/gitopolis ‹main› 
╰─$ gs
         # <=== no suggestions alias-finder because this is the shortest
## main...origin/main

image

Options

In order to clarify, let's say alias a=abc has source 'abc' and destination 'a'.

  • Use --longer or -l to include aliases where the source is longer than the input (in other words, the source could contain the whole input).
  • Use --exact or -e to avoid aliases where the source is shorter than the input (in other words, the source must be the same with the input).
  • Use --cheaper or -c to avoid aliases where the destination is longer than the input (in other words, the destination must be the shorter than the input).