mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2025-12-06 07:20:40 +01:00
feat(alias-finder): use ripgrep if possible (#13043)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
This commit is contained in:
@@ -11,6 +11,8 @@ plugins=(... alias-finder)
|
|||||||
|
|
||||||
To enable it for every single command, set zstyle in your `~/.zshrc`.
|
To enable it for every single command, set zstyle in your `~/.zshrc`.
|
||||||
|
|
||||||
|
If the user has installed `rg`([ripgrep](https://github.com/BurntSushi/ripgrep)), it will be used because it's faster. Otherwise, it will use the `grep` command.
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
# ~/.zshrc
|
# ~/.zshrc
|
||||||
|
|
||||||
@@ -28,7 +30,7 @@ When you execute a command alias finder will look at your defined aliases and su
|
|||||||
|
|
||||||
Running the un-aliased `git status` command:
|
Running the un-aliased `git status` command:
|
||||||
```sh
|
```sh
|
||||||
╭─tim@fox ~/repo/gitopolis ‹main›
|
╭─tim@fox ~/repo/gitopolis ‹main›
|
||||||
╰─$ git status
|
╰─$ git status
|
||||||
|
|
||||||
gst='git status' # <=== shorter suggestion from alias-finder
|
gst='git status' # <=== shorter suggestion from alias-finder
|
||||||
@@ -40,7 +42,7 @@ nothing to commit, working tree clean
|
|||||||
|
|
||||||
Running a shorter `git st` alias from `.gitconfig` that it suggested :
|
Running a shorter `git st` alias from `.gitconfig` that it suggested :
|
||||||
```sh
|
```sh
|
||||||
╭─tim@fox ~/repo/gitopolis ‹main›
|
╭─tim@fox ~/repo/gitopolis ‹main›
|
||||||
╰─$ git st
|
╰─$ git st
|
||||||
gs='git st' # <=== shorter suggestion from alias-finder
|
gs='git st' # <=== shorter suggestion from alias-finder
|
||||||
## main...origin/main
|
## main...origin/main
|
||||||
@@ -48,7 +50,7 @@ gs='git st' # <=== shorter suggestion from alias-finder
|
|||||||
|
|
||||||
Running the shortest `gs` shell alias that it found:
|
Running the shortest `gs` shell alias that it found:
|
||||||
```sh
|
```sh
|
||||||
╭─tim@fox ~/repo/gitopolis ‹main›
|
╭─tim@fox ~/repo/gitopolis ‹main›
|
||||||
╰─$ gs
|
╰─$ gs
|
||||||
# <=== no suggestions alias-finder because this is the shortest
|
# <=== no suggestions alias-finder because this is the shortest
|
||||||
## main...origin/main
|
## main...origin/main
|
||||||
|
|||||||
@@ -43,7 +43,11 @@ alias-finder() {
|
|||||||
filter="^'?.{1,$((cmdLen - 1))}'?=" # some aliases is surrounded by single quotes
|
filter="^'?.{1,$((cmdLen - 1))}'?=" # some aliases is surrounded by single quotes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alias | grep -E "$filter" | grep -E "=$finder"
|
if (( $+commands[rg] )); then
|
||||||
|
alias | rg "$filter" | rg "=$finder"
|
||||||
|
else
|
||||||
|
alias | grep -E "$filter" | grep -E "=$finder"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $exact == true ]]; then
|
if [[ $exact == true ]]; then
|
||||||
break # because exact case is only one
|
break # because exact case is only one
|
||||||
|
|||||||
Reference in New Issue
Block a user