Warning: The ZZ framework is a beta version under development. Use it at your own risk.
ZZ is a powerful ZSH framework. It is modularly designed to be debugged or modified as easily as possible.
It comes with many aliases, functions, ZLE widgets or TUI tools using zsh/curses (zcurses
) module. It also comes with a unit test module.
ZZ is designed to make the most of the possibilities of ZSH and to use at least external tools like grep
or ls
for example.
ZZ comes with ZLE widgets. These are mainly code insertion widget (printf, while loop, conditional statement, etc), Git management widget, or widget enhancing ZLE by giving it IDE functionality (like automatic closing of parentheses, brackets, etc.).
F1
-> HelpF2
-> LauncherF3
-> Go to davi.org.zsh git repositoryF4
-> Sync zsh files with davi.org.zsh git repository.F5
-> Refresh the shell (may generate some bugs)F6
-> Run unit testF10
-> Search
alt
+:
+:
-> git statusalt
+:
+;
-> git addalt
+:
+!
-> git commitalt
+:
+l
-> git pull $ORIGINalt
+:
+*
-> git push local/master masteralt
+:
+t
-> git tree
alt
+!
+e
--> printfalt
+!
+i
--> ifalt
+!
+w
--> whilealt
+!
+f
--> foralt
+!
+c
--> casealt
+!
+(
--> function
Some of the widgets will open TUI interfaces like the widget for git add
:
It also comes with a prompt graphically inspired by adam2 that supports Git repositories.
It display :
- line 1 left : job(s), relative path
- line 1 right : date, tty, shlvl, user@host
- line 2 left : return of the last command, time of the last command
- line 2 right : if git repo : branch, status
Prompt while in Git repository :
ztest is a unittest module for ZSH :
git clone https://github.com/DaudrVignieCharles/davi.org.zsh.git
cd davi.org.zsh
zsh ./init.zsh
The git clone is called the development version. This is used to make the changes that can then be sent to production with the zz.main.propage
function.
Your old ZSH environment will be backed up and can be restored if ZZ was uninstalled.