diff --git a/.gitignore b/.gitignore index 7aaabda..f4697c4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,3 @@ /.circleci/.config.yml .download bin - diff --git a/.gitmodules b/.gitmodules index 263ab3f..a27e2b9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,3 @@ [submodule "best"] - path = .test-framework - url = https://github.com/eth-p/best.git - +path = .test-framework +url = https://github.com/eth-p/best.git diff --git a/build.sh b/build.sh index 81b9beb..1d7eafe 100755 --- a/build.sh +++ b/build.sh @@ -33,8 +33,8 @@ next() { # Prints a build step message. smsg() { case "$2" in - "SKIP") printc " %{YELLOW} %{DIM}%s [skipped]%{CLEAR}\n" "$1" 1>&2;; - *) printc " %{YELLOW} %s...%{CLEAR}\n" "$1" 1>&2;; + "SKIP") printc " %{YELLOW} %{DIM}%s [skipped]%{CLEAR}\n" "$1" 1>&2 ;; + *) printc " %{YELLOW} %s...%{CLEAR}\n" "$1" 1>&2 ;; esac } @@ -58,7 +58,7 @@ step_read() { # # Input: # The original file contents. -# +# # Output: # The processed file contents. step_preprocess() { @@ -66,7 +66,7 @@ step_preprocess() { while IFS='' read -r line; do # Skip certain lines. [[ "$line" =~ ^LIB=.*$ ]] && continue - + # Replace the BAT variable with the build option. if [[ "$line" =~ ^BAT=.*$ ]]; then printf "BAT=%q\n" "$OPT_BAT" @@ -75,7 +75,7 @@ step_preprocess() { # Replace the DOCS_* variables. if [[ "$line" =~ ^DOCS_[A-Z]+=.*$ ]]; then - local docvar="$(cut -d'=' -f1 <<< "$line")" + local docvar="$(cut -d'=' -f1 <<<"$line")" printf "%s=%q\n" "$docvar" "${!docvar}" continue fi @@ -97,7 +97,7 @@ step_preprocess() { # Forward data. echo "$line" done - + smsg "Preprocessing" } @@ -141,7 +141,7 @@ step_compress() { printf "(exec -a \"\$0\" bash -c 'eval \"\$(cat <&3)\"' \"\$0\" \"\$@\" 3< <(dd bs=1 if=\"\$0\" skip=::: 2>/dev/null | gunzip)); exit \$?;\n" })" - sed "s/:::/$(wc -c <<< "$wrapper" | bc)/" <<< "$wrapper" + sed "s/:::/$(wc -c <<<"$wrapper" | bc)/" <<<"$wrapper" gzip smsg "Compressing" } @@ -233,17 +233,37 @@ DOCS_MAINTAINER="eth-p " while shiftopt; do case "$OPT" in - --install) OPT_INSTALL=true;; - --compress) OPT_COMPRESS=true;; - --prefix) shiftval; OPT_PREFIX="$OPT_VAL";; - --alternate-executable) shiftval; OPT_BAT="$OPT_VAL";; - --minify) shiftval; OPT_MINIFY="$OPT_VAL";; - --no-verify) shiftval; OPT_VERIFY=false;; - --docs:url) shiftval; DOCS_URL="$OPT_VAL";; - --docs:maintainer) shiftval; DOCS_MAINTAINER="$OPT_VAL";; - - *) printc "%{RED}%s: unknown option '%s'%{CLEAR}" "$PROGRAM" "$OPT"; - exit 1;; + --install) OPT_INSTALL=true ;; + --compress) OPT_COMPRESS=true ;; + --prefix) + shiftval + OPT_PREFIX="$OPT_VAL" + ;; + --alternate-executable) + shiftval + OPT_BAT="$OPT_VAL" + ;; + --minify) + shiftval + OPT_MINIFY="$OPT_VAL" + ;; + --no-verify) + shiftval + OPT_VERIFY=false + ;; + --docs:url) + shiftval + DOCS_URL="$OPT_VAL" + ;; + --docs:maintainer) + shiftval + DOCS_MAINTAINER="$OPT_VAL" + ;; + + *) + printc "%{RED}%s: unknown option '%s'%{CLEAR}" "$PROGRAM" "$OPT" + exit 1 + ;; esac done @@ -290,17 +310,17 @@ printc "%{YELLOW}Building scripts...%{CLEAR}\n" 1>&2 file_i=0 file_n="${#SOURCES[@]}" for file in "${SOURCES[@]}"; do - ((file_i++)) || true; + ((file_i++)) || true filename="$(basename "$file" .sh)" printc " %{YELLOW}[%s/%s] %{MAGENTA}%s%{CLEAR}\n" "$file_i" "$file_n" "$file" 1>&2 - step_read "$file" |\ - next step_preprocess |\ - next step_minify |\ - next step_compress |\ - next step_write "${BIN}/${filename}" |\ - next step_write_install "${OPT_PREFIX}/bin/${filename}" |\ + step_read "$file" | + next step_preprocess | + next step_minify | + next step_compress | + next step_write "${BIN}/${filename}" | + next step_write_install "${OPT_PREFIX}/bin/${filename}" | cat >/dev/null done @@ -312,4 +332,3 @@ if "$OPT_VERIFY"; then "${HERE}/test.sh" --compiled exit $? fi - diff --git a/lib/opt.sh b/lib/opt.sh index a60b929..f913567 100644 --- a/lib/opt.sh +++ b/lib/opt.sh @@ -11,13 +11,13 @@ SHIFTOPT_HOOKS=() # Sets the internal _ARGV, _ARGV_INDEX, and _ARGV_LAST variables used when # parsing options with the shiftopt and shiftval functions. setargs() { - _ARGV=("$@") + _ARGV=("$@") _ARGV_LAST="$((${#_ARGV[@]} - 1))" _ARGV_INDEX=0 } # Gets the next option passed to the script. -# +# # Variables: # OPT -- The option name. # @@ -35,7 +35,7 @@ shiftopt() { [[ "$_ARGV_INDEX" -gt "$_ARGV_LAST" ]] && return 1 OPT="${_ARGV[$_ARGV_INDEX]}" unset OPT_VAL - + if [[ "$OPT" =~ ^--[a-zA-Z0-9_-]+=.* ]]; then OPT_VAL="${OPT#*=}" OPT="${OPT%%=*}" @@ -53,7 +53,6 @@ shiftopt() { fi done - # Return. return 0 } @@ -81,7 +80,5 @@ shiftval() { fi } - # ----------------------------------------------------------------------------- setargs "$@" - diff --git a/lib/opt_hooks.sh b/lib/opt_hooks.sh index e8b276d..8984670 100644 --- a/lib/opt_hooks.sh +++ b/lib/opt_hooks.sh @@ -6,13 +6,12 @@ # Issues: https://github.com/eth-p/bat-extras/issues # ----------------------------------------------------------------------------- - # ----------------------------------------------------------------------------- # Hooks: # ----------------------------------------------------------------------------- # Option parser hook: color support. -# This will accept --no-color, or --color. +# This will accept --no-color or --color. # It will also try to accept --color=never|always|auto. # # The variable OPT_COLOR will be set depending on whether or not a TTY is @@ -21,16 +20,25 @@ hook_color() { SHIFTOPT_HOOKS+=("__shiftopt_hook__color") __shiftopt_hook__color() { case "$OPT" in - --no-color) OPT_COLOR=false; printc_init "$OPT_COLOR";; - --color) { - case "$OPT_VAL" in - auto) :;; - always|true) OPT_COLOR=true; printc_init "$OPT_COLOR";; - never|false) OPT_COLOR=false; printc_init "$OPT_COLOR";; - esac - };; + --no-color) + OPT_COLOR=false + printc_init "$OPT_COLOR" + ;; + --color) { + case "$OPT_VAL" in + auto) : ;; + always | true) + OPT_COLOR=true + printc_init "$OPT_COLOR" + ;; + never | false) + OPT_COLOR=false + printc_init "$OPT_COLOR" + ;; + esac + } ;; - *) return 1;; + *) return 1 ;; esac } @@ -51,25 +59,30 @@ hook_pager() { SHIFTOPT_HOOKS+=("__shiftopt_hook__pager") __shiftopt_hook__pager() { case "$OPT" in - # Specify paging. - --no-pager) shiftval; SCRIPT_PAGER_CMD='';; - --paging) shiftval; { + # Specify paging. + --no-pager) + shiftval + SCRIPT_PAGER_CMD='' + ;; + --paging) + shiftval + { case "$OPT_VAL" in - auto) :;; - never) SCRIPT_PAGER_CMD='';; - always) :;; + auto) : ;; + never) SCRIPT_PAGER_CMD='' ;; + always) : ;; esac - };; + } + ;; - # Specify the pager. - --pager) { - shiftval; - SCRIPT_PAGER_CMD=($OPT_VAL); - PAGER_ARGS=() - };; + # Specify the pager. + --pager) { + shiftval + SCRIPT_PAGER_CMD=($OPT_VAL) + PAGER_ARGS=() + } ;; - *) return 1;; + *) return 1 ;; esac } } - diff --git a/lib/pager.sh b/lib/pager.sh index b851870..b8caf82 100644 --- a/lib/pager.sh +++ b/lib/pager.sh @@ -6,13 +6,13 @@ # Issues: https://github.com/eth-p/bat-extras/issues # ----------------------------------------------------------------------------- -# Returns 0 (true) if the current pager is less, otherwise 1 (false) +# Returns 0 (true) if the current pager is less, otherwise 1 (false). is_pager_less() { [[ "$(pager_name)" = "less" ]] return $? } -# Returns 0 (true) if the current pager is disabled, otherwise 1 (false) +# Returns 0 (true) if the current pager is disabled, otherwise 1 (false). is_pager_disabled() { [[ -z "$(pager_name)" ]] return $? @@ -24,7 +24,7 @@ pager_name() { if [[ -z "$_SCRIPT_PAGER_NAME" ]]; then local output="$("${SCRIPT_PAGER_CMD[0]}" --version 2>&1)" - if head -n 1 <<< "$output" | grep '^less \d' &>/dev/null; then + if head -n 1 <<<"$output" | grep '^less \d' &>/dev/null; then _SCRIPT_PAGER_NAME="less" else _SCRIPT_PAGER_NAME="$(basename "${SCRIPT_PAGER_CMD[0]}")" @@ -34,7 +34,7 @@ pager_name() { echo "$_SCRIPT_PAGER_NAME" } -# Executes a command or function, and pipes its output to the pager (if exists). +# Executes a command or function, and pipes its output to the pager (if it exists). # # Returns: The exit code of the command. # Example: @@ -51,7 +51,7 @@ pager_exec() { fi } -# Displays the output of a command or function inside the pager (if exists). +# Displays the output of a command or function inside the pager (if it exists). # # Example: # bat | pager_display @@ -85,4 +85,3 @@ if ! [[ -t 1 ]]; then SCRIPT_PAGER_CMD=() SCRIPT_PAGER_ARGS=() fi - diff --git a/lib/print.sh b/lib/print.sh index 234623a..a578c9d 100644 --- a/lib/print.sh +++ b/lib/print.sh @@ -13,7 +13,7 @@ # printc "%{RED}This is red %s.%{CLEAR}\n" "text" # printc() { - printf "$(sed "$_PRINTC_PATTERN" <<< "$1")" "${@:2}" + printf "$(sed "$_PRINTC_PATTERN" <<<"$1")" "${@:2}" } # Initializes the color tags for printc. @@ -23,36 +23,36 @@ printc() { # false -- Turns off color output. printc_init() { case "$1" in - true) _PRINTC_PATTERN="$_PRINTC_PATTERN_ANSI";; - false) _PRINTC_PATTERN="$_PRINTC_PATTERN_PLAIN";; + true) _PRINTC_PATTERN="$_PRINTC_PATTERN_ANSI" ;; + false) _PRINTC_PATTERN="$_PRINTC_PATTERN_PLAIN" ;; - "") { - _PRINTC_PATTERN_ANSI="" - _PRINTC_PATTERN_PLAIN="" + "") { + _PRINTC_PATTERN_ANSI="" + _PRINTC_PATTERN_PLAIN="" - local name - local ansi - while read -r name ansi; do - if [[ -z "${name}" && -z "${ansi}" ]] || [[ "${name:0:1}" = "#" ]]; then - continue - fi - - ansi="$(sed 's/\\/\\\\/' <<< "$ansi")" - - _PRINTC_PATTERN_PLAIN="${_PRINTC_PATTERN_PLAIN}s/%{${name}}//g;" - _PRINTC_PATTERN_ANSI="${_PRINTC_PATTERN_ANSI}s/%{${name}}/${ansi}/g;" - done - - if [ -t 1 ]; then - _PRINTC_PATTERN="$_PRINTC_PATTERN_ANSI" - else - _PRINTC_PATTERN="$_PRINTC_PATTERN_PLAIN" + local name + local ansi + while read -r name ansi; do + if [[ -z "${name}" && -z "${ansi}" ]] || [[ "${name:0:1}" = "#" ]]; then + continue fi - };; + + ansi="$(sed 's/\\/\\\\/' <<<"$ansi")" + + _PRINTC_PATTERN_PLAIN="${_PRINTC_PATTERN_PLAIN}s/%{${name}}//g;" + _PRINTC_PATTERN_ANSI="${_PRINTC_PATTERN_ANSI}s/%{${name}}/${ansi}/g;" + done + + if [ -t 1 ]; then + _PRINTC_PATTERN="$_PRINTC_PATTERN_ANSI" + else + _PRINTC_PATTERN="$_PRINTC_PATTERN_PLAIN" + fi + } ;; esac } -# Print a warning message to STDERR. +# Print a warning message to stderr. # Arguments: # 1 -- The printc formatting string. # ... -- The printc formatting arguments. @@ -60,7 +60,7 @@ print_warning() { printc "%{YELLOW}[%s warning]%{CLEAR}: $1%{CLEAR}\n" "$PROGRAM" "${@:2}" 1>&2 } -# Print an error message to STDERR. +# Print an error message to stderr. # Arguments: # 1 -- The printc formatting string. # ... -- The printc formatting arguments. @@ -82,4 +82,3 @@ printc_init <&2 - exit 1 - };; + # ??? + -*) { + printc "%{RED}%s: unknown option '%s'%{CLEAR}\n" "$PROGRAM" "$OPT" 1>&2 + exit 1 + } ;; - # Search - *) { - if [ -z "$PATTERN" ]; then - PATTERN="$OPT" - else - FILES+=("$OPT") - fi - };; + # Search + *) { + if [ -z "$PATTERN" ]; then + PATTERN="$OPT" + else + FILES+=("$OPT") + fi + } ;; esac done @@ -126,7 +141,7 @@ if [[ -n "$OPT_CASE_SENSITIVITY" ]]; then fi if "$OPT_FOLLOW"; then - RG_ARGS+=("--follow") + RG_ARGS+=("--follow") fi if "$OPT_COLOR"; then @@ -155,13 +170,13 @@ if "$OPT_SEARCH_PATTERN"; then elif is_pager_disabled; then print_error "$( echo "The -p/--search-pattern option requires a pager, but" \ - "the pager was explicitly disabled by \$BAT_PAGER or the" \ - "--paging option." + "the pager was explicitly disabled by \$BAT_PAGER or the" \ + "--paging option." )" exit 1 else print_error "Unsupported pager '%s' for option -p/--search-pattern" \ - "$(pager_name)" + "$(pager_name)" exit 1 fi fi @@ -186,12 +201,12 @@ main() { # Print the file. "$BAT" "${BAT_ARGS[@]}" \ - "${LAST_LR[@]}" \ - "${LAST_LH[@]}" \ - --style="${BAT_STYLE}${OPT_SNIP}" \ - --paging=never \ - --terminal-width="$COLS" \ - "$LAST_FILE" + "${LAST_LR[@]}" \ + "${LAST_LH[@]}" \ + --style="${BAT_STYLE}${OPT_SNIP}" \ + --paging=never \ + --terminal-width="$COLS" \ + "$LAST_FILE" # Print the separator. echo "$SEP" @@ -206,7 +221,7 @@ main() { LAST_LR=() LAST_LH=() fi - + # Calculate the context line numbers. line_start=$((line - OPT_CONTEXT_BEFORE)) line_end=$((line + OPT_CONTEXT_AFTER)) @@ -225,4 +240,3 @@ main() { pager_exec main exit $? - diff --git a/src/batman.sh b/src/batman.sh index 5075d5d..6bcf042 100755 --- a/src/batman.sh +++ b/src/batman.sh @@ -37,4 +37,3 @@ fi command man "${MAN_ARGS[@]}" exit $? - diff --git a/src/batwatch.sh b/src/batwatch.sh index fe7dc28..c8c262c 100755 --- a/src/batwatch.sh +++ b/src/batwatch.sh @@ -23,7 +23,7 @@ hook_pager WATCHERS=("entr" "poll") -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - watcher_entr_watch() { ENTR_ARGS=() @@ -45,8 +45,7 @@ watcher_entr_supported() { return $? } - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POLL_STAT_VARIANT='' POLL_STAT_COMMAND=() @@ -96,7 +95,7 @@ watcher_poll_watch() { if [[ "$OPT_CLEAR" = "true" ]]; then clear fi - + "$BAT" "${BAT_ARGS[@]}" \ --terminal-width="$TERM_WIDTH" \ --paging=never \ @@ -106,7 +105,7 @@ watcher_poll_watch() { local i=0 for file in "${files[@]}"; do time="$("${POLL_STAT_COMMAND[@]}" "$file")" - + if [[ "$time" -ne "${times[$i]}" ]]; then times[$i]="$time" modified=true @@ -139,7 +138,7 @@ determine_watcher() { return 0 fi done - + return 1 } @@ -162,26 +161,32 @@ fi while shiftopt; do case "$OPT" in - # Script Options - --watcher) shiftval; OPT_WATCHER="$OPT_VAL";; - --clear) OPT_CLEAR=true;; - --no-clear) OPT_CLEAR=false;; - --terminal-width) shiftval; TERM_WIDTH="$OPT_VAL";; + # Script options + --watcher) + shiftval + OPT_WATCHER="$OPT_VAL" + ;; + --clear) OPT_CLEAR=true ;; + --no-clear) OPT_CLEAR=false ;; + --terminal-width) + shiftval + TERM_WIDTH="$OPT_VAL" + ;; - # Bat/Pager Options - -*) BAT_ARGS+=("$OPT=$OPT_VAL");; - - # Files - *) { - FILES+=("$OPT") - };; + # bat/Pager options + -*) BAT_ARGS+=("$OPT=$OPT_VAL") ;; + + # Files + *) { + FILES+=("$OPT") + } ;; esac done if [[ -z "$FILES" ]]; then - print_error "no files provided" - exit 1 + print_error "no files provided" + exit 1 fi for file in "${FILES[@]}"; do @@ -233,4 +238,3 @@ main() { pager_exec main exit $? - diff --git a/src/prettybat.sh b/src/prettybat.sh index 40721f4..3e0e19f 100755 --- a/src/prettybat.sh +++ b/src/prettybat.sh @@ -16,20 +16,21 @@ source "${LIB}/print.sh" FORMATTERS=("prettier" "rustfmt" "shfmt" "clangformat") -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - formatter_prettier_supports() { case "$1" in - .js|.jsx|\ - .ts|.tsx|\ - .css|.scss|.sass|\ - .html|\ - .json|\ - .md|\ + .js | .jsx | \ + .ts | .tsx | \ + .css | .scss | .sass | \ + .html | \ + .json | \ + .md | \ .yml) - return 0;; + return 0 + ;; esac - + return 1 } @@ -38,16 +39,17 @@ formatter_prettier_process() { return $? } -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - formatter_clangformat_supports() { case "$1" in - .c|.cpp|.cxx|\ - .h|.hpp|\ + .c | .cpp | .cxx | \ + .h | .hpp | \ .m) - return 0;; + return 0 + ;; esac - + return 1 } @@ -56,7 +58,7 @@ formatter_clangformat_process() { return $? } -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - formatter_rustfmt_supports() { [[ "$1" = ".rs" ]] @@ -68,7 +70,7 @@ formatter_rustfmt_process() { return $? } -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - formatter_shfmt_supports() { [[ "$1" = ".sh" ]] @@ -80,8 +82,6 @@ formatter_shfmt_process() { return $? } - - # ----------------------------------------------------------------------------- # Functions: # ----------------------------------------------------------------------------- @@ -93,21 +93,21 @@ map_language_to_extension() { local ext=".txt" case "$1" in - sh|bash) ext=".sh" ;; - js|es6|es) ext=".js" ;; - jsx) ext=".jsx" ;; - ts) ext=".ts" ;; - tsx) ext=".tsx" ;; - css) ext=".css" ;; - scss) ext=".scss" ;; - sass) ext=".sass" ;; - html|htm|shtml|xhtml) ext=".html" ;; - json) ext=".json" ;; - md|mdown|markdown) ext=".md" ;; - yaml|yml) ext=".yml" ;; - rust|rs) ext=".rs" ;; + sh | bash) ext=".sh" ;; + js | es6 | es) ext=".js" ;; + jsx) ext=".jsx" ;; + ts) ext=".ts" ;; + tsx) ext=".tsx" ;; + css) ext=".css" ;; + scss) ext=".scss" ;; + sass) ext=".sass" ;; + html | htm | shtml | xhtml) ext=".html" ;; + json) ext=".json" ;; + md | mdown | markdown) ext=".md" ;; + yaml | yml) ext=".yml" ;; + rust | rs) ext=".rs" ;; esac - + echo "$ext" } @@ -121,7 +121,7 @@ map_extension_to_formatter() { return 0 fi done - + echo "none" return 0 } @@ -146,7 +146,7 @@ process_file() { local ext="$2" local fext="$ext" local lang="${ext:1}" - + if [[ -n "$OPT_LANGUAGE" ]]; then lang="$OPT_LANGUAGE" fext="$(map_language_to_extension "$lang")" @@ -169,14 +169,14 @@ process_file() { local data_formatted if [[ "$file" = "-" ]]; then data_raw="$(cat -)" - data_formatted="$("formatter_${formatter}_process" "$file" 2>/dev/null <<< "$data_raw")" + data_formatted="$("formatter_${formatter}_process" "$file" 2>/dev/null <<<"$data_raw")" if [[ $? -ne 0 ]]; then print_warning "'STDIN': Unable to format with '%s'" "$formatter" - print_file --language="$lang" - <<< "$data_raw" + print_file --language="$lang" - <<<"$data_raw" return 1 fi else - data_formatted="$("formatter_${formatter}_process" "$file" < "$file")" + data_formatted="$("formatter_${formatter}_process" "$file" <"$file")" if [[ $? -ne 0 ]]; then print_warning "'%s': Unable to format with '%s'" "$file" "$formatter" print_file --language="$lang" "$file" @@ -184,7 +184,7 @@ process_file() { fi fi - print_file --language="$lang" - <<< "$data_formatted" + print_file --language="$lang" - <<<"$data_formatted" return $? } @@ -199,20 +199,26 @@ FILES=() while shiftopt; do case "$OPT" in - # Language Options - -l) shiftval; OPT_LANGUAGE="${OPT_VAL}" ;; - -l*) OPT_LANGUAGE="${OPT:2}" ;; - --language) shiftval; OPT_LANGUAGE="$OPT_VAL" ;; + # Language options + -l) + shiftval + OPT_LANGUAGE="${OPT_VAL}" + ;; + -l*) OPT_LANGUAGE="${OPT:2}" ;; + --language) + shiftval + OPT_LANGUAGE="$OPT_VAL" + ;; - # Bat Options - -*) { - BAT_ARGS+=("$OPT=$OPT_VAL") - };; - - # Files - *) { - FILES+=("$OPT") - };; + # bat options + -*) { + BAT_ARGS+=("$OPT=$OPT_VAL") + } ;; + + # Files + *) { + FILES+=("$OPT") + } ;; esac done @@ -231,4 +237,3 @@ done # Exit. exit $EXIT - diff --git a/test.sh b/test.sh index 7f14b01..ca46713 100755 --- a/test.sh +++ b/test.sh @@ -25,8 +25,11 @@ export SNAPSHOT_DIR="${HERE}/test/snapshot" OPT_ARGV=() while shiftopt; do case "$OPT" in - --compiled) TEST_ENV_BIN_DIR="${HERE}/bin"; TEST_ENV_BIN_SUFFIX="" ;; - *) OPT_ARGV+=("$OPT") ;; + --compiled) + TEST_ENV_BIN_DIR="${HERE}/bin" + TEST_ENV_BIN_SUFFIX="" + ;; + *) OPT_ARGV+=("$OPT") ;; esac done diff --git a/test/shimexec/bat b/test/shimexec/bat index 47bdf81..e86b61d 100755 --- a/test/shimexec/bat +++ b/test/shimexec/bat @@ -6,4 +6,4 @@ while read -d ':' -r dir; do if [[ -f "${dir}/bat" ]]; then exec "${dir}/bat" "$@" --theme="Monokai Extended" fi -done <<< "$PATH" +done <<<"$PATH" diff --git a/test/shimexec/tput b/test/shimexec/tput index 3d77075..26d0f08 100755 --- a/test/shimexec/tput +++ b/test/shimexec/tput @@ -1,5 +1,5 @@ #!/usr/bin/env bash case "$1" in - cols) echo 80 ;; - lines) echo 22 ;; +cols) echo 80 ;; +lines) echo 22 ;; esac