man -> Dash.app integration for OS X
parent
a6c2e3b765
commit
31990a7dd0
|
|
@ -0,0 +1,44 @@
|
||||||
|
# Open manpages in Dash.app via:
|
||||||
|
#
|
||||||
|
# man <something>
|
||||||
|
#
|
||||||
|
cite about-plugin
|
||||||
|
about-plugin "Dash.app Man Pages Integration"
|
||||||
|
|
||||||
|
# To override the DocSet shortcut Man Pages name, export DASH_MAN_DOCSET somewhere.
|
||||||
|
DASH_MAN_DOCSET=${DASH_MAN_DOCSET-manpages}
|
||||||
|
|
||||||
|
if [[ `uname` != Darwin ]]; then
|
||||||
|
echo The Dash.app plugin is only available on Mac OS X. Sorry!
|
||||||
|
exit
|
||||||
|
elif [[ ! -d /Applications/Dash.app ]]; then
|
||||||
|
echo To use the Dash.app plugin, install Dash.app from http://kapeli.com/dash
|
||||||
|
exit
|
||||||
|
elif [[ ! -d "$HOME/Library/Application Support/Dash/DocSets/Man_Pages" ]]; then
|
||||||
|
echo To use the Dash.app plugin, install the "Man Pages" DocSet from within Dash.app.
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
# http://stackoverflow.com/questions/296536/urlencode-from-a-bash-script
|
||||||
|
# this enables to search multiple strings; "man git fetch" will find the "git" page and search for "fetch" within
|
||||||
|
function rawurlencode() {
|
||||||
|
local string="${@}"
|
||||||
|
local strlen=${#string}
|
||||||
|
local encoded=""
|
||||||
|
|
||||||
|
for (( pos=0 ; pos<strlen ; pos++ )); do
|
||||||
|
c=${string:$pos:1}
|
||||||
|
case "$c" in
|
||||||
|
[-_.~a-zA-Z0-9] ) o="${c}" ;;
|
||||||
|
* ) printf -v o '%%%02x' "'$c"
|
||||||
|
esac
|
||||||
|
encoded+="${o}"
|
||||||
|
done
|
||||||
|
echo "${encoded}" # You can either set a return variable (FASTER)
|
||||||
|
}
|
||||||
|
|
||||||
|
function dash_man {
|
||||||
|
/usr/bin/open dash://${DASH_MAN_DOCSET}:`rawurlencode ${@}`
|
||||||
|
}
|
||||||
|
|
||||||
|
alias man=dash_man
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue