chore(lint): formatting

This commit is contained in:
2025-02-14 00:02:49 +02:00
parent b299e3df1e
commit d59204f25f
3 changed files with 41 additions and 27 deletions

View File

@@ -12,7 +12,8 @@ DOTFILES="${DOTFILES:-$HOME/.dotfiles}"
T_MAX_DEPTH="${T_MAX_DEPTH:-3}"
# Function to print an error message and exit
error_exit() {
error_exit()
{
echo "Error: $1" >&2
exit 1
}
@@ -22,9 +23,9 @@ if [[ ! -d "$T_ROOT" ]]; then
error_exit "T_ROOT directory '$T_ROOT' does not exist."
fi
# Check for required dependencies
check_dependencies() {
check_dependencies()
{
local T_DEPS=(tmux fzf find)
for cmd in "${T_DEPS[@]}"; do
if ! command -v "$cmd" &> /dev/null; then
@@ -37,19 +38,21 @@ check_dependencies
# Generate an array of '-not -path' rules for each exclusion pattern
# without using namerefs.
generate_exclude_rules() {
generate_exclude_rules()
{
local result_var="$1"
shift
local arr=()
for pattern in "$@"; do
# Exclude both the directory and any subdirectories under it.
arr+=( -not -path "*/${pattern}" -not -path "*/${pattern}/*" )
arr+=(-not -path "*/${pattern}" -not -path "*/${pattern}/*")
done
# Use eval to assign the array to the variable whose name was passed.
eval "$result_var=(\"\${arr[@]}\")"
}
get_directories() {
get_directories()
{
local exclude_patterns=(
".bzr" ".git" ".hg" ".idea" ".obsidian" ".run" ".svn" ".vscode"
"build" "dist" "node_modules" "out" "target" "vendor"
@@ -60,16 +63,18 @@ get_directories() {
local dirs
# Use $'string' to correctly process escape sequences.
dirs=$'# Directories\n'
dirs+=$(find "$T_ROOT" \
-maxdepth "$T_MAX_DEPTH" \
-mindepth 1 \
-type d \
"${exclude_rules[@]}"
dirs+=$(
find "$T_ROOT" \
-maxdepth "$T_MAX_DEPTH" \
-mindepth 1 \
-type d \
"${exclude_rules[@]}"
)
echo -e "$dirs"
}
check_tmux() {
check_tmux()
{
if ! command -v tmux &> /dev/null; then
error_exit "tmux is not installed."
fi
@@ -80,7 +85,8 @@ check_tmux() {
fi
}
get_sessions() {
get_sessions()
{
check_tmux
T_TMUX_SESSIONS=$(tmux list-sessions -F "#{session_name}" 2> /dev/null)
@@ -119,8 +125,8 @@ fi
session_name="${session_name//./}"
# Attempt to switch to an existing session
tmux switch-client -t "=$session_name" 2>/dev/null
active_session=$(tmux display-message -p -F '#{session_name}' 2>/dev/null)
tmux switch-client -t "=$session_name" 2> /dev/null
active_session=$(tmux display-message -p -F '#{session_name}' 2> /dev/null)
if [[ "$active_session" == "$session_name" ]]; then
exit 0
@@ -132,7 +138,7 @@ if [ -z "$TMUX" ]; then
tmux new-session -A -s "$session_name" -c "$selected"
else
# Inside tmux: check if the target session exists.
if tmux has-session -t "$session_name" 2>/dev/null; then
if tmux has-session -t "$session_name" 2> /dev/null; then
# Session exists; switch to it.
tmux switch-client -t "$session_name"
else

View File

@@ -21,7 +21,8 @@ else
fi
# Function to remove node_modules and vendor folders
remove_node_modules_vendor() {
remove_node_modules_vendor()
{
local dir=$1
# If the directory is a symlink, skip it

View File

@@ -12,13 +12,15 @@ GITHUB_API_URL="${GITHUB_API_URL:-https://api.github.com/repos}"
VERBOSE="${VERBOSE:-0}"
# Prints a message if VERBOSE=1
msg() {
msg()
{
[[ "$VERBOSE" -eq 1 ]] && echo "$1"
}
# Show usage information
usage() {
cat <<EOF
usage()
{
cat << EOF
Usage: $0 <repo> (e.g. ivuorinen/dotfiles)
Fetches the latest release version, latest branch tag, or latest commit SHA from GitHub.
@@ -65,9 +67,10 @@ EOF
}
# Check that required dependencies are installed
check_dependencies() {
check_dependencies()
{
for cmd in curl jq; do
if ! command -v "$cmd" &>/dev/null; then
if ! command -v "$cmd" &> /dev/null; then
echo "Error: '$cmd' is required but not installed." >&2
exit 1
fi
@@ -76,7 +79,8 @@ check_dependencies() {
# Fetches the latest release or the oldest if OLDEST_RELEASE=1
# $1 - GitHub repository (string)
get_release_version() {
get_release_version()
{
local repo="$1"
local include_prereleases="${INCLUDE_PRERELEASES:-0}"
local oldest_release="${OLDEST_RELEASE:-0}"
@@ -93,7 +97,7 @@ get_release_version() {
json_response=$(curl -sSL "${auth_header[@]}" "$api_url")
# Check for API errors
if echo "$json_response" | jq -e 'has("message")' >/dev/null; then
if echo "$json_response" | jq -e 'has("message")' > /dev/null; then
msg "GitHub API error: $(echo "$json_response" | jq -r '.message')"
exit 1
fi
@@ -117,7 +121,8 @@ get_release_version() {
}
# Fetches the latest tag from the specified branch
get_latest_branch_tag() {
get_latest_branch_tag()
{
local repo="$1"
local branch="${BRANCH:-main}"
local api_url="${GITHUB_API_URL}/${repo}/git/refs/tags"
@@ -139,7 +144,8 @@ get_latest_branch_tag() {
}
# Fetches the latest commit SHA from the specified branch
get_latest_commit() {
get_latest_commit()
{
local repo="$1"
local branch="${BRANCH:-main}"
local api_url="${GITHUB_API_URL}/${repo}/commits/$branch"
@@ -162,7 +168,8 @@ get_latest_commit() {
# Main function
# $1 - GitHub repository (string)
main() {
main()
{
if [[ $# -ne 1 ]]; then
usage
fi