1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/usr/bin/env bash
- rvm_base_except="selector"
- source "$rvm_scripts_path/base"
- source "$rvm_scripts_path/functions/version"
- __rvm_help_find()
- {
- \typeset _full_name
- \typeset -a _full_paths
- _full_name=""
- _full_paths=()
- _matched=""
- case "$1" in
- (*/*) return 1 ;;
- esac
- # start with shortest, build path and prepend it to beginning
- while (( $# > 0 ))
- do
- _full_name="${_full_name:-}${1:-}"
- _full_paths=( "${_full_name}.md" "${_full_paths[@]}" )
- _full_name="${_full_name:-}/"
- shift
- done
- # check longest paths first
- for _full_name in "${_full_paths[@]}"
- do
- if
- [[ -n "${_full_name}" && -s "${rvm_help_path}/${_full_name}" ]]
- then
- echo "${rvm_help_path}/${_full_name}"
- return 0
- elif
- [[ -n "${_full_name}" && -s "${rvm_docs_path}/${_full_name}" ]]
- then
- echo "${rvm_docs_path}/${_full_name}"
- return 0
- fi
- done
- return 1
- }
- __rvm_help()
- {
- \typeset _matched
- __rvm_print_headline
- if
- _matched="$(__rvm_help_find "$@")"
- then
- __rvm_pager_or_cat_v "${_matched}"
- else
- [[ -z "$1" ]] || rvm_error "Documentation for 'rvm $*' not found"
- __rvm_pager_or_cat_v "${rvm_path:-$HOME/.rvm}/help/index.txt"
- fi
- rvm_log "
- For additional documentation please visit $(__rvm_version_website)
- "
- }
- __rvm_help "$@"
|