diff --git a/modules/utility/README.md b/modules/utility/README.md index 56fa137c..eee6f613 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -12,6 +12,7 @@ Aliases Functions --------- + - `omz-readme` shows the README of OMZ or OMZ modules - `mkdcd` makes a directory and changes to it. - `cdls` changes to a directory and lists its contents. - `pushdls` pushes an entry onto the directory stack and lists its contents. diff --git a/modules/utility/functions/omz-readme b/modules/utility/functions/omz-readme new file mode 100644 index 00000000..eefc911e --- /dev/null +++ b/modules/utility/functions/omz-readme @@ -0,0 +1,28 @@ +# +# Displays a README of OMZ or OMZ modules +# +# Authors: +# Sebastian Wiesner +# + +local -a readmes +local readme + +if (( $# == 0 )); then + readmes=("$OMZ/README.md") +else + for module in "$argv[@]"; do + readme="$OMZ/modules/$module/README.md" + if [[ -f $readme ]]; then + readmes+=("$readme") + elif [[ ! -d "$OMZ/modules/$module" ]]; then + print "unknown module $module" >&2 + else + print "no README in module $module" >&2 + fi + done +fi + +if (( $#readmes )); then + $PAGER "$readmes[@]" +fi