ohmyzsh/plugins/alias-finder
Tim Abell 403cf615bf
Add usage info to alias-finder README.md
Being new to ohmyzsh it wasn't immediately obvious to me what this plugin did or how to use it. I've added some examples to hopefully make it more obvious to future readers.
2024-06-13 10:03:59 +01:00
..
tests feat(alias-finder): add cheaper option and apply zstyle options (#11773) 2023-08-24 17:12:59 +02:00
.zunit.yml feat(alias-finder): add cheaper option and apply zstyle options (#11773) 2023-08-24 17:12:59 +02:00
alias-finder.plugin.zsh feat(alias-finder): add cheaper option and apply zstyle options (#11773) 2023-08-24 17:12:59 +02:00
README.md Add usage info to alias-finder README.md 2024-06-13 10:03:59 +01:00

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