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