mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-13 22:02:34 +00:00
62 lines
1.4 KiB
Bash
Executable File
62 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
SCRIPTS=${SCRIPTS:-$HOME/.local/scripts}
|
|
THIS_FILE=${BASH_SOURCE[0]}
|
|
LOG_LABEL=$(basename "$THIS_FILE")
|
|
THIS=${THIS:-$LOG_LABEL}
|
|
LOG_DIR=${LOG_DIR:=""}
|
|
LOG_FILE=${LOG_FILE:-"$LOG_LABEL.log"}
|
|
FZF_DEFAULT_OPTS=${FZF_DEFAULT_OPTS:-""}
|
|
|
|
# Logging utility function, use in place of echo.
|
|
log() {
|
|
logging log --source "$THIS_FILE" "$@"
|
|
}
|
|
|
|
footer() {
|
|
cat <<'EOF'
|
|
__
|
|
/ / ___ ___ ____
|
|
/ /__/ _ \/ _ `(_-<
|
|
/____/\___/\_, /___/
|
|
/___/
|
|
EOF
|
|
}
|
|
|
|
################################################################################
|
|
# MAIN
|
|
################################################################################
|
|
|
|
# Setup logging file and label.
|
|
source "$SCRIPTS/hypr/logging"
|
|
setup-logging "$LOG_FILE" "$LOG_LABEL"
|
|
|
|
if [[ -z $LOG_DIR ]]; then
|
|
echo "Log directory not setup properly!" && exit 1
|
|
fi
|
|
|
|
# Setup colors before calling fzf.
|
|
[[ -z $FZF_DEFAULT_OPTS ]] &&
|
|
[[ -f $SCRIPTS/catppuccin-colors ]] &&
|
|
source $SCRIPTS/catppuccin-colors
|
|
|
|
sel=$(
|
|
/bin/ls $LOG_DIR/*.log |
|
|
sed 's#.*/##; s/\..*$//' | # cleans to only show file name, excluding the path and '.log'
|
|
fzf --style=full \
|
|
--footer="$(footer)" \
|
|
--preview-label='[ Logs ]' \
|
|
--preview='echo ""; bat $LOG_DIR/{}.log' \
|
|
--preview-window="down"
|
|
)
|
|
|
|
if [[ -z $sel ]]; then
|
|
log --error "No selection" && exit 1
|
|
fi
|
|
|
|
bat $sel.log
|