Joknarf Tools

Unix CLI tools and automation

GitHub bash Licence

complete-ng

bash/zsh Tab completion nextgen with interactive/search menu

features

  • replace bash/zsh completion multiple choices output by interactive selector menu
  • 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

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

key action
▼ select next item
▲ select prev item
End select last item
Home select first item
▶ browse selected directory
◀ browse parent directory
F3 view file using PAGER (or less)
F4 edit file usint EDITOR (or vi)
Shift▼/PgUp/CtlF next page
Shift▲/PgDn/CtlB previous page
Esc exit
CtrlA use all screen to display menu
Enter/Tab put selected item on command line