Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Pathpicker | 4,914 | 25 days ago | 1 | February 27, 2018 | 21 | mit | Python | |||
PathPicker accepts a wide range of input -- output from git commands, grep results, searches -- pretty much anything. After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands. | ||||||||||
Tmux Xpanes | 1,723 | a month ago | 1 | March 03, 2021 | 16 | mit | Shell | |||
Awesome tmux-based terminal divider | ||||||||||
Sysz | 1,342 | 3 months ago | 3 | unlicense | Shell | |||||
An fzf terminal UI for systemctl | ||||||||||
Travis Build | 652 | 8 days ago | 81 | mit | Ruby | |||||
.travis.yml => build.sh converter | ||||||||||
Sultan | 598 | 5 | 3 | 4 years ago | 30 | March 04, 2019 | 12 | mit | Python | |
Sultan: Command and Rule over your Shell | ||||||||||
Sshto | 470 | 8 days ago | 4 | mit | Shell | |||||
Small bash script to manage your ssh connections. It builds menu (via dialog) from your ~/.ssh/config. It can not only connect but also to run commands, copy files, tunnel ports. | ||||||||||
Extract | 414 | a day ago | 1 | mit | Shell | |||||
Bash/Zsh function for extract: .zip, .rar, .bz2, .gz, .zlib, .tar, .tbz2, .tgz, .Z, .7z, .xz, .exe, .tar.bz2, .tar.gz, .tar.xz, etc. | ||||||||||
Gh Token | 169 | 18 days ago | 9 | isc | Shell | |||||
Create an installation access token for a GitHub app from your terminal 💻 | ||||||||||
Redis Bash | 144 | 5 months ago | bsd-3-clause | Shell | ||||||
REDIS-BASH - Bash library to access Redis | ||||||||||
Bargs | 140 | a year ago | 8 | mit | Shell | |||||
A framework for creating a Bash CLI application. |
Facebook PathPicker is a simple command line tool that solves the perpetual problem of selecting files out of bash output. PathPicker will:
$EDITOR
It is easiest to understand by watching a simple demo:
After installing PathPicker, using it is as easy as piping into fpp
. It takes
a wide variety of input -- try it with all the options below:
git status | fpp
hg status | fpp
git grep "FooBar" | fpp
grep -r "FooBar" . | fpp
git diff HEAD~1 --stat | fpp
find . -iname "*.js" | fpp
arc inlines | fpp
and anything else you can dream up!
PathPicker requires Python >2.6 or >3.0.
$SHELL
to your current shell.Installing PathPicker is easiest with Homebrew for mac:
brew update
(to pull down the recipe since it is new)brew install fpp
On debian-based systems, run these steps:
$ git clone https://github.com/facebook/PathPicker.git
$ cd PathPicker/debian
$ ./package.sh
$ ls ../fpp_0.7.2_noarch.deb
On Arch Linux, PathPicker can be installed from Arch User Repository (AUR). the AUR fpp-git package.
If you are on another system, or prefer manual installation, please follow the instructions given below.
However if you're on a system without Homebrew, it's still quite easy to install PathPicker since it's essentially just a bash script that calls some Python. These steps more-or-less outline the process:
cd /usr/local/ # or wherever you install apps
git clone https://github.com/facebook/PathPicker.git
cd PathPicker/
Here we make a symbolic link from the bash script in the repo
to /usr/local/bin/
which is assumed to be in the current
$PATH
ln -s "$(pwd)/fpp" /usr/local/bin/fpp
fpp --help # should work!
For tmux users, you can additionally install tmux-fpp
which adds a key combination to run PathPicker on the last received stdout
. It makes jumping into file selection mode even easier -- check it out here.
As mentioned above, PathPicker allows you to also execute arbitrary commands with the specified files.
Here is an example showing a git checkout
command executed against the selected files:
The selected files are appended to the command prefix to form the final command. If you need the files
in the middle of your command, you can use the $F
token instead, like:
cat $F | wc -l
Another important note is that PathPicker by default only selects files that exist on the filesystem. If you
want to skip this (perhaps to selected deleted files in git status
), just run PathPicker with the --no-file-checks
(or -nfc
for short) flag.
PathPicker is a combination of a bash script and some small Python modules. It essentially has three steps:
This has the downside that files that are single words with no extension (like test
) that are not prepended by
a directory will fail to match. This is a known limitation to PathPicker, and means that it will sometimes fail to find valid files in the input.
curses
is presented to the user. Here you can select a few files to edit or input a command
to execute.It's not the most elegant architecture in the world but (in our opinion) provides a lot of utility.
For all documentation and configuration options, see the output of fpp --help
.
See the CONTRIBUTING file for how to help out.
PathPicker is MIT licensed.