bat-extras/src/batman.sh

42 lines
1.4 KiB
Bash
Raw Normal View History

2019-09-08 00:19:12 +02:00
#!/usr/bin/env bash
# -----------------------------------------------------------------------------
# bat-extras | Copyright (C) 2019 eth-p | MIT License
#
# Repository: https://github.com/eth-p/bat-extras
# Issues: https://github.com/eth-p/bat-extras/issues
# -----------------------------------------------------------------------------
LIB="$(cd "$(dirname "${BASH_SOURCE[0]}")" && cd "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo ".")")/../lib" && pwd)"
BAT="bat"
if [[ -n "${MANPAGER}" ]]; then BAT_PAGER="$MANPAGER"; fi
source "${LIB}/pager.sh"
2019-09-08 00:19:12 +02:00
source "${LIB}/print.sh"
source "${LIB}/opt.sh"
2019-10-23 00:35:10 +02:00
source "${LIB}/opt_hooks.sh"
2019-09-08 00:19:12 +02:00
# -----------------------------------------------------------------------------
2019-10-23 00:35:10 +02:00
hook_color
hook_pager
2019-10-23 00:35:10 +02:00
# -----------------------------------------------------------------------------
MAN_ARGS=()
BAT_ARGS=()
2019-09-08 00:19:12 +02:00
2019-10-23 00:35:10 +02:00
while shiftopt; do MAN_ARGS+=("$OPT"); done
if "$OPT_COLOR"; then
BAT_ARGS=("--color=always --decorations=always")
2019-10-23 00:35:10 +02:00
else
BAT_ARGS=("--color=never --decorations=never")
2019-10-23 00:35:10 +02:00
fi
# -----------------------------------------------------------------------------
export MANPAGER
MANPAGER='sh -c "col -bx | '"$(printf "%q" "$BAT")"' --language=man --style=grid '"${BAT_ARGS[*]}"'"'
2019-09-08 00:19:12 +02:00
export MANROFFOPT='-c'
if [[ -n "${SCRIPT_PAGER_CMD}" ]]; then
export BAT_PAGER
BAT_PAGER="$(printf "%q " "${SCRIPT_PAGER_CMD[@]}" "${SCRIPT_PAGER_ARGS[@]}")"
else
unset BAT_PAGER
fi
2019-10-23 00:35:10 +02:00
command man "${MAN_ARGS[@]}"
2019-09-08 00:19:12 +02:00
exit $?