The zip
Create Script downloads the zip. The zip is the program.
Install
Unzip the download, then run:
chmod 755 installer.sh
./installer.shThe installer and the uninstaller are bash, even when the script is zsh. Files land in $HOME/.lickety-script. Each script has its own directory under scripts/. bin/ holds a symlink to the entry script.
Put $HOME/.lickety-script/bin on PATH. Set LICKETY_SCRIPT_HOME to $HOME/.lickety-script. The installer prints that hint when the variable is empty. ./uninstaller.sh removes that one script.
A later install refreshes the framework and leaves the entry script you edited. ./installer.sh --install-user-script replaces that entry script and saves the old file with -bak on the end of the name. --cleanup moves the zip files into place instead of copying them.
Files
For a script named notify on bash, the names look like this. Zsh uses .zsh on the script files and on the completion file.
| File | Role |
|---|---|
| notify.sh | The entry script. This is the file you edit. |
| do-not-modify/lickety-notify.sh | Parsing, help, and checks. Leave this file alone. |
| do-not-modify/common/ls-functions.sh | The shared functions. Names start with a dot. |
| do-not-modify/common/ls-logging.sh | Logging. .log lives here. |
| notify-completion.bash | Tab completion. Source it. The installer does not copy it. |
| notify.md | The readme. It names the variables and the functions. |
| installer.sh | Installs the bundle. Always bash. |
| uninstaller.sh | Removes that script. Always bash. |
The zip also includes a license and a manifest. The manifest names every file.