1 ### vim:ft=zsh:foldmethod=marker
3 ## Spawn an appropriate browser.
4 ## Copyright: 2009, Frank Terbeck <ft@bewatermyfriend.org>
7 LOOKUP_guard || return 1
8 local arg debug format lookup_browser uri i lookup_context
9 local -a lookup_browser_args
14 lookup_context="$(LOOKUP_context)"
17 zstyle -t "${lookup_context}" debug &&
18 printf 'LOOKUP_browser: current context: "%s"\n' "${lookup_context}"
20 if (( lookup_printout > 0 )) || zstyle -t "${lookup_context}" debug ; then
24 if (( lookup_remote > 0 )) ; then
25 zstyle -s "${lookup_context}" gui-browser lookup_browser
26 zstyle -a "${lookup_context}" gui-formats lookup_browser_args
28 zstyle -s "${lookup_context}" txt-browser lookup_browser
29 zstyle -a "${lookup_context}" txt-formats lookup_browser_args
32 [[ -z ${lookup_browser} ]] && lookup_browser=${BROWSER:-w3m}
33 (( ${#lookup_browser_args} == 0 )) && lookup_browser_args=( "%s" )
35 for i in {1..${#lookup_browser_args}} ; do
36 zformat -f format ${lookup_browser_args[$i]} s:${uri}
37 lookup_browser_args[$i]="${format}"
40 if [[ -n ${debug} ]] ; then
41 print -- ${lookup_browser} ${(qq)lookup_browser_args}
44 ${lookup_browser} ${lookup_browser_args}