-#!/usr/bin/env bash
-
-USE_GLOW=true
-if ! command -v glow &>/dev/null; then
- printf "Glow not found, markdown rendering not available."
- printf "Output will be raw markdown and might look weird."
- printf "Install glow for easier reading & copy-paste."
- USE_GLOW=false
-fi
+#!/usr/bin/env sh
+
+has_command() {
+ command -v "$1" >/dev/null 2>/dev/null
+ return $?
+}
+
+auto_set_decoder() {
+ DECODER="cat"
+ if has_command glow; then
+ DECODER="glow -"
+ elif has_command batcat; then
+ DECODER="batcat -pp --decorations=always --color=always --language markdown"
+ printf "Markdown rendering will be done by bat. (Glow is recommended)\n"
+ elif has_command bat; then
+ DECODER="bat -pp --decorations=always --color=always --language markdown"
+ printf "Markdown rendering will be done by bat. (Glow is recommended)\n"
+ elif has_command pygmentize; then
+ DECODER="pygmentize -l markdown"
+ printf "Markdown rendering will be done by pygmentize. (Glow is recommended)\n"
+ elif has_command highlight; then
+ DECODER="highlight --out-format ansi --syntax markdown"
+ printf "Markdown rendering will be done by highlight. (Glow is recommended)\n"
+ else
+ printf "Install glow for easier reading & copy-paste.\n"
+ fi
+}
+auto_set_decoder