PathExtractor is a command line tool that extracts a list of files/paths from stdin.
Advantages over fpp:
- It does only one thing : more unixy
- You can use it with any fuzzy finder, such as fzf,peco,percol,pick,selecta
- It doesn't wait for stdin to be finished to output the paths
- It is faster
- It is much smaller (easily understandable)
- You can also use it without a fuzzy finder for programmatic usage
For example, you could write:
git status | pe
to get a list of the files that were added/changed, without all the formating
One of the most common usage is to create an alias that will automatically run :
pe
+ a command line fuzzy finder such as fzf + an action such as opening that file in your favorite editor.
For example, using zsh
, I have as an alias:
alias -g P='| pe | fzf | read filename; [ ! -z $filename ] && vim $filename'
With bash
:
bind '"PP": "| pe | uniq | fzf | while read filename; do [ ! -z $filename ] && </dev/tty vim $filename; done\n'
So that If I run
`git status P`
or
`git status PP`
to quickly open one of the changed files in vim
Other usage ideas:
With zsh:
# Copy selected path to clipboard
alias -g C='| pe | fzf | read filename; [ ! -z $filename ] && echo -n $filename | xclip -selection c'
With bash:
bind '"CC": "| pe | fzf | read filename; [ ! -z $filename ] && echo -n $filename | xclip -selection c\n"'
go get github.com/edi9999/path-extractor/path-extractor
You will have the path-extractor
in your $GOPATH/bin
directory which you can rename or alias to pe
They are no binaries for now (you have to build it yourself), but one idea would be to use goxc to compile it on multiple platforms