aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rwxr-xr-xsh/.local/bin/lessfilter31
1 files changed, 18 insertions, 13 deletions
diff --git a/sh/.local/bin/lessfilter b/sh/.local/bin/lessfilter
index 21da13b..012f2fe 100755
--- a/sh/.local/bin/lessfilter
+++ b/sh/.local/bin/lessfilter
@@ -31,17 +31,19 @@ help() {
}
say() {
- printf "%s: %s\n" "$SCRIPT" "$@"
+ if [ -z "$LESSQUIET" ]; then
+ printf "%s: %s\n" "$SCRIPT" "$*"
+ fi
}
say_verbose() {
if [ "$verbose" -gt "0" ]; then
- say "$@"
+ say "$*"
fi
}
say_err() {
- say "$@" >&2
+ say "$*" >&2
}
err() {
@@ -71,7 +73,6 @@ filetype() {
*.md | *.MD | *.mkd | *.markdown | *.rst) ftype='markdown' ;;
/*) [ -d "$1" ] && ftype='directory' ;;
"${1%/*}/${1#*/}")
- say_err "GOT HERE"
for remote in ${GIT_REMOTES:-https://git.sr.ht https://github.com}; do
if git ls-remote "$remote/$1" CHECK_GIT_REMOTE_URL_REACHABILITY; then
ftype=$(filetype "$remote/$1")
@@ -127,23 +128,27 @@ ft=$(filetype "$1")
case "$ft" in
directory)
if has onefetch && in_git_repo "$1" 2>/dev/null; then
- onefetch --hidden --show-logo="$([ "$width" -lt "80" ] && printf 'never' || printf 'always')" "$1" 2>/dev/null
+ show_logo=$([ "$width" -lt "80" ] && printf 'never' || printf 'always')
+ cmd="onefetch --include-hidden --show-logo=$show_logo"
elif [ -f "$1/README.md" ]; then
- $SCRIPT "$1/README.md"
+ exec $SCRIPT "$1/README.md"
else
- exa --tree --git-ignore --level=3 --icons "$1" 2>/dev/null
+ cmd="exa --tree --git-ignore --level=3 --icons"
fi
;;
markdown)
- bat --color always "$1" 2>/dev/null
+ had bat && cmd="bat --color always"
;;
sourcehut)
- has hut && hut git show --repo "$1" 2>/dev/null
+ has hut && cmd="hut git show --repo"
;;
github)
- has gh && gh repo view "$1" 2>/dev/null
- ;;
-*)
- exit 1
+ has gh && cmd="gh repo view"
;;
esac
+
+if [ -z "$cmd" ]; then
+ exit 1
+fi
+
+$cmd "$1" 2>/dev/null