From 367e6345273bf44bdd3fc4bcceb294cbc19e0a16 Mon Sep 17 00:00:00 2001 From: Lockszmith Date: Mon, 29 Apr 2024 23:23:19 -0400 Subject: [PATCH] revamped load-fzf and load-zellij --- load-fzf | 24 +++++++++++++++++++++--- load-zellij | 31 +++++++++++++++++++++++++------ 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/load-fzf b/load-fzf index 0586d36..7fe4cc9 100755 --- a/load-fzf +++ b/load-fzf @@ -1,7 +1,21 @@ #! /usr/bin/env bash +# shellcheck disable=SC2034,SC1090 +# SC2034 variables appear unsued. export if used externally +# - uneeded, as this checked whether script is sourced +# SC1090 Can't follow non-constant source -BASE_0="$(basename ${0#-})" -BASE_SHELL="$(basename "$SHELL")" +# Helper function +is_sourced() { + if [ -n "$ZSH_VERSION" ]; then + case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac + else # Add additional POSIX-compatible shell names here, if needed. + case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac + fi + return 1; # NOT sourced. +} + +BASE_0=${BASE_0:-$0} +BASE_SHELL=$(basename "$SHELL") if [[ "$1" == "--force" ]]; then [[ -e ~/.local/bin/fzf ]] && rm ~/.local/bin/fzf @@ -12,11 +26,12 @@ fi if [[ -z "$(type -t fzf)" || ! -e "$(type -p fzf)" ]]; then curl -sS https://webi.sh/fzf | bash >&2 + # shellcheck disable=SC2016 # $ inside single quotes is intentional printf '%s\n' \ 'Run the following and then try again:' \ ' exec $SHELL -l' \ '' >&2 -elif [[ -z "${BASE_0}" || "${BASE_0}" == "$BASE_SHELL" ]]; then +elif is_sourced; then FZF_CTRL_T_COMMAND="command find -L . -xdev -mindepth 1 \\( \ -path '*/\\.*' \ @@ -28,6 +43,9 @@ elif [[ -z "${BASE_0}" || "${BASE_0}" == "$BASE_SHELL" ]]; then -o -type l -print 2> /dev/null | cut -b3- \ " + # shellcheck disable=SC2034 + # variable appears unsued. export if used externally + # - uneeded, as script is sourced FZF_ALT_C_COMMAND="command find -L . -xdev -mindepth 1 \\( \ -path '*/\\.*' \ -xdev \ diff --git a/load-zellij b/load-zellij index 4b34b25..a46e394 100755 --- a/load-zellij +++ b/load-zellij @@ -1,9 +1,19 @@ #! /usr/bin/env bash -BASE_0="$(basename ${0#-})" -BASE_SHELL="$(basename "$SHELL")" +# Helper function +is_sourced() { + if [ -n "$ZSH_VERSION" ]; then + case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac + else # Add additional POSIX-compatible shell names here, if needed. + case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac + fi + return 1; # NOT sourced. +} -if [[ -z "${BASE_0}" || "${BASE_0}" == "$BASE_SHELL" ]]; then +BASE_0=${BASE_0:-$0} +BASE_SHELL=$(basename "$SHELL") + +if is_sourced; then zellij() { if [[ -x /tmp/zellij/bootstrap/zellij ]]; then /tmp/zellij/bootstrap/zellij "${@}" @@ -11,13 +21,22 @@ if [[ -z "${BASE_0}" || "${BASE_0}" == "$BASE_SHELL" ]]; then bash <(curl -sL zellij.dev/launch) "${@}" fi } - . <( zellij setup --generate-completion "$BASE_SHELL" ) if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then - (zellij list-sessions 2&>1) > /dev/null || zellij attach -c $USER@$(hostname) + # shellcheck disable=SC2210 + #(zellij list-sessions 2&>1) > /dev/null || zellij attach -c "$USER@$(hostname)" + zellij attach -c "$USER@$(hostname)" || EXITCODE=$? + + # shellcheck disable=SC2086 # EXITCODE might be empty + return $EXITCODE + fi + if [[ -z "$ZSH_VERSION" ]] || (type compdef > /dev/null 2>&1); then + # shellcheck disable=SC1090 + . <( zellij setup --generate-completion "$BASE_SHELL" ) 2> /dev/null fi elif [[ "$1" == '-' ]]; then - cat "${BASH_SOURCE[0]}" + echo "BASE_0=${BASE_0}" + cat "${0}" else SCRIPT_NAME="$BASE_0" printf '%s\n' \