Skip to content

gennaro-tedesco/gh-f

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation



the ultimate compact fzf gh extension

Installation โ€ข Usage โ€ข Customisation โ€ข Feedback

gh-f is the ultimate, compact and snappy fzf extension for gh cli. It addresses most of your daily GitHub workflow, if not all of it: f stands for filter, fzf or fomething felse.

Installation

gh extension install gennaro-tedesco/gh-f

Requirements

  • fzf
  • gnu core utils
  • bat (optional, if not detected it uses less as a pager, instead)

Usage

Get started!

gh f

shows the help page. Or watch it in action:

asciicast

or a quick replay

quick-demo

gh f [cmd]

takes one of the following arguments or flags

command description binds
-a, adds add files to staging area enter: add files to staging area
ctrl-d: diff selected file
-r, runs show github workflow runs and filter logs enter: search run logs
-g, greps grep in files in revision history interactive prompt: insert regex, select files, show pattern in revision history
-p, prs view, diff and checkout PR enter: checkout selected PR
ctrl-d: diff selected PR
ctrl-v: view selected PR
-b, branches checkout and diff branches enter: checkout selected branch
ctrl-d: diff selected branch
ctrl-x: delete selected branch
-l, logs view, diff and checkout from logs history enter: checkout selected commit
ctrl-d: diff selected commit
ctrl-v: view commit patch
-t, tags checkout and diff version tags enter: checkout tag in detached HEAD
ctrl-d diff against current branch
-s, search search issues in any repository interactive prompt: follow instructions
-m, myissue search issues you opened somewhere interactive prompt: follow instructions
-k, pick cherrypick files between branches enter: checkout cherrypicked files from branch
-e, envs show git config list enter: print selected config variable
-h, help show help page
-V, version print the current version

Most commands follow the semantics of git standard instructions (so that you can remember them easily), only we append an s to avoid conflicts, should you have those commands lying around in the shell as aliases or for scripting.

Customisation

If you want to skip typing gh f before each command you may alias it directly, for instance

gh alias set prs 'f -p' # show PRs
gh alias set l 'f -l' # show git logs

and likewise for the rest.

The prompt colours are defined via their ANSI sequences here: change yourself accordingly, if you like different ones. Moreover notice that the rendering of text in the fzf preview window follows the options set in the FZF_DEFAULT_OPTS env variable: if you want to replicate exactly what is shown in the demo, here are my settings.

Feedback

If you find this application useful consider awarding it a โญ, it is a great way to give feedback! Otherwise, any additional suggestions or merge request is warmly welcome!

See also the complete family of extensions

  • gh-s to search for repositories with interactive prompt
  • gh-i to search for github issues with interactive prompt