aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rwxr-xr-xsh/.local/bin/lessfilter7
-rwxr-xr-xtmux/.local/bin/tmux-projectr44
2 files changed, 19 insertions, 32 deletions
diff --git a/sh/.local/bin/lessfilter b/sh/.local/bin/lessfilter
index 661a638..c0ea194 100755
--- a/sh/.local/bin/lessfilter
+++ b/sh/.local/bin/lessfilter
@@ -1,6 +1,11 @@
#!/bin/sh
+if [ -d "$1" ]; then
+ onefetch --include-hidden --no-art --no-color-palette "$1" 2>/dev/null && exit 0
+ tree -CL 3 --gitignore --noreport "$1" 2>/dev/null && exit 0
+fi
+
case "$1" in
-*/rfc/txt/rfc*.txt) sed -e '1,+2d' -e '/\f/d' "$1" ;;
+*/rfc/txt/rfc*.txt) sed -e '1,+2d' -e '/\f/d' "$1" && exit 0 ;;
*) exit 1 ;;
esac
diff --git a/tmux/.local/bin/tmux-projectr b/tmux/.local/bin/tmux-projectr
index 9dfb1b9..4f0fc8a 100755
--- a/tmux/.local/bin/tmux-projectr
+++ b/tmux/.local/bin/tmux-projectr
@@ -1,41 +1,23 @@
#!/bin/sh
if [ "$#" -eq 0 ]; then
- PREVIEW_CMD="(
- onefetch --include-hidden --no-art --no-color-palette {} &&
- printf '\n'
- tree -CL 3 --gitignore --noreport --filelimit=50 {} &&
- printf '\n'
- case {}/ in
- */dkr/*) bat -f --style=header {}/docker-compose.yml;;
- */pkg/*) bat -f --style=header {}/PKGBUILD;;
- *) bat -f --style=header {}/README.md;;
- esac | sed '1s|File: ||'
- ) 2>/dev/null"
-
- # shellcheck disable=2046
- set -- $(
- projectr -mgt ~/.local/src --exclude-cwd |
- fzf-tmux -p100,30 -- --tac --exit-0 -d/ --with-nth -1 \
- --bind "focus:transform-header(echo {} | sed 's|$HOME|~|')" \
- --preview-window='right,60,<60(hidden)' --preview="$PREVIEW_CMD"
- )
-
+ set -- "$(
+ find ~/.local/src/* -prune ! -path "$(pwd)" -printf "%T+\t%p\n" | sort | cut -f2 |
+ fzf --tmux --tac --exit-0 -d/ --with-nth=-1 --preview='lesspipe.sh {}'
+ )"
test -n "$1" || exit 0
fi
-if [ -z "$2" ]; then
- if [ -z "$(tmux list-sessions -f "#{==:#{session_path},$1}" -F '#S' 2>/dev/null)" ]; then
- tmux new-session -dc "$1"
- fi
+if [ ! -d "$1" ]; then
+ exit 1
+fi
- set -- "$1" "$(tmux list-sessions -f "#{==:#{session_path},$1}" -F '#S' 2>/dev/null)"
-elif ! tmux has-session -t "$2" 2>/dev/null; then
- tmux new-session -dc "$1" -s "$2"
+if ! session="$(tmux ls -f "#{==:#{session_path},$1}" -F '#S' 2>/dev/null | grep ^)"; then
+ session="$(tmux new -dc "$1" -PF'#S')"
fi
-if [ -z "$TMUX" ] && [ -z "$2" ]; then
- tmux attach-session -t "$2"
-elif tmux has-session -t "$2" 2>/dev/null; then
- tmux switch-client -t "$2"
+if [ -z "$TMUX" ]; then
+ tmux attach-session -t "$session"
+else
+ tmux switch-client -t "$session"
fi