complete-ng

May 2, 2026 ยท View on GitHub

Joknarf Tools bash Licence

complete-ng

bash/zsh Tab completion nextgen with interactive/search menu and parameters description

image

features

  • replace bash/zsh completion multiple choices output by interactive selector menu
  • display parameters help description
  • browse directories inside the menu
  • view/edit files directly from the menu
  • single Tab on command line displays choices
  • launch menu from empty command line with Tab to browse files/directories

pre-requisites

  • gnu awk (need brew install gawk on macOS)
  • gnu grep (need brew install grep on macOS)
  • bash-completion/zsh-completion

install

You can use a shell plugin manager like the famous thefly (multi shell plugin/dotfiles manager and teleporter anywhere)

fly add joknarf/complete-ng

or just

git clone https://github.com/joknarf/complete-ng
source complete-ng/complete-ng.plugin.<yourshell>

for a complete next-gen shell experience, see also this project:

demo

complete-ng

demo

file/folder icons

As depending to your terminal font, the icons may not render correctly, you can choose the icons you want using environment variables, here are some sample of dir/file icons, choose the ones fitting your terminal font (use nerd version of your font to have more choice):

SELECTOR_FOLDER_ICON='๏ป' # ๐Ÿ–ฟ ๐Ÿ—€ ๐Ÿ“ ๐Ÿ“‚ ๐Ÿ–ฟ  ๎—ฟ  ๎šญ  ๎˜“ ๏ป ๏„” 
SELECTOR_FILE_ICON='๏€–'   # ๎™Š ๐Ÿ—Ž ๎™Ž ๎˜’ ๎Šš ๎œ” ๎žฃ ๏ƒ… ๏‚– ๏ƒ‰ ๏‡‰ ๏€– ๎ฉป ๐Ÿ—‹ ๐Ÿ–น ๏…› ๏…œ

keys in menu

keyaction
โ–ผselect next item
โ–ฒselect prev item
Endselect last item
Homeselect first item
โ–ถbrowse selected directory
โ—€browse parent directory
F3view file using PAGER (or less)
F4edit file usint EDITOR (or vi)
Shiftโ–ผ/PgUp/CtlFnext page
Shiftโ–ฒ/PgDn/CtlBprevious page
Escexit
CtrlAuse all screen to display menu
Enter/Tabput selected item on command line