mirror of
https://github.com/tw93/Mole.git
synced 2026-02-11 20:34:02 +00:00
chore: auto format code
This commit is contained in:
38
bin/purge.sh
38
bin/purge.sh
@@ -63,12 +63,12 @@ start_purge() {
|
|||||||
perform_purge() {
|
perform_purge() {
|
||||||
local stats_dir="${XDG_CACHE_HOME:-$HOME/.cache}/mole"
|
local stats_dir="${XDG_CACHE_HOME:-$HOME/.cache}/mole"
|
||||||
local monitor_pid=""
|
local monitor_pid=""
|
||||||
|
|
||||||
# Cleanup function
|
# Cleanup function
|
||||||
cleanup_monitor() {
|
cleanup_monitor() {
|
||||||
# Remove scanning file to stop monitor
|
# Remove scanning file to stop monitor
|
||||||
rm -f "$stats_dir/purge_scanning" 2> /dev/null || true
|
rm -f "$stats_dir/purge_scanning" 2> /dev/null || true
|
||||||
|
|
||||||
if [[ -n "$monitor_pid" ]]; then
|
if [[ -n "$monitor_pid" ]]; then
|
||||||
kill "$monitor_pid" 2> /dev/null || true
|
kill "$monitor_pid" 2> /dev/null || true
|
||||||
wait "$monitor_pid" 2> /dev/null || true
|
wait "$monitor_pid" 2> /dev/null || true
|
||||||
@@ -77,45 +77,45 @@ perform_purge() {
|
|||||||
printf '\r\033[K\n\033[K\033[A'
|
printf '\r\033[K\n\033[K\033[A'
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set up trap for cleanup
|
# Set up trap for cleanup
|
||||||
trap cleanup_monitor INT TERM
|
trap cleanup_monitor INT TERM
|
||||||
|
|
||||||
# Show scanning with spinner on same line as title
|
# Show scanning with spinner on same line as title
|
||||||
if [[ -t 1 ]]; then
|
if [[ -t 1 ]]; then
|
||||||
# Print title first
|
# Print title first
|
||||||
printf '%s' "${PURPLE_BOLD}Purge Project Artifacts${NC} "
|
printf '%s' "${PURPLE_BOLD}Purge Project Artifacts${NC} "
|
||||||
|
|
||||||
# Start background monitor with ASCII spinner
|
# Start background monitor with ASCII spinner
|
||||||
(
|
(
|
||||||
local spinner_chars="|/-\\"
|
local spinner_chars="|/-\\"
|
||||||
local spinner_idx=0
|
local spinner_idx=0
|
||||||
local last_path=""
|
local last_path=""
|
||||||
|
|
||||||
# Set up trap to exit cleanly
|
# Set up trap to exit cleanly
|
||||||
trap 'exit 0' INT TERM
|
trap 'exit 0' INT TERM
|
||||||
|
|
||||||
# Function to truncate path in the middle
|
# Function to truncate path in the middle
|
||||||
truncate_path() {
|
truncate_path() {
|
||||||
local path="$1"
|
local path="$1"
|
||||||
local max_len=80
|
local max_len=80
|
||||||
|
|
||||||
if [[ ${#path} -le $max_len ]]; then
|
if [[ ${#path} -le $max_len ]]; then
|
||||||
echo "$path"
|
echo "$path"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Calculate how much to show on each side
|
# Calculate how much to show on each side
|
||||||
local side_len=$(( (max_len - 3) / 2 ))
|
local side_len=$(((max_len - 3) / 2))
|
||||||
local start="${path:0:$side_len}"
|
local start="${path:0:$side_len}"
|
||||||
local end="${path: -$side_len}"
|
local end="${path: -$side_len}"
|
||||||
echo "${start}...${end}"
|
echo "${start}...${end}"
|
||||||
}
|
}
|
||||||
|
|
||||||
while [[ -f "$stats_dir/purge_scanning" ]]; do
|
while [[ -f "$stats_dir/purge_scanning" ]]; do
|
||||||
local current_path=$(cat "$stats_dir/purge_scanning" 2> /dev/null || echo "")
|
local current_path=$(cat "$stats_dir/purge_scanning" 2> /dev/null || echo "")
|
||||||
local display_path=""
|
local display_path=""
|
||||||
|
|
||||||
if [[ -n "$current_path" ]]; then
|
if [[ -n "$current_path" ]]; then
|
||||||
display_path="${current_path/#$HOME/~}"
|
display_path="${current_path/#$HOME/~}"
|
||||||
display_path=$(truncate_path "$display_path")
|
display_path=$(truncate_path "$display_path")
|
||||||
@@ -123,11 +123,11 @@ perform_purge() {
|
|||||||
elif [[ -n "$last_path" ]]; then
|
elif [[ -n "$last_path" ]]; then
|
||||||
display_path="$last_path"
|
display_path="$last_path"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get current spinner character
|
# Get current spinner character
|
||||||
local spin_char="${spinner_chars:$spinner_idx:1}"
|
local spin_char="${spinner_chars:$spinner_idx:1}"
|
||||||
spinner_idx=$(( (spinner_idx + 1) % ${#spinner_chars} ))
|
spinner_idx=$(((spinner_idx + 1) % ${#spinner_chars}))
|
||||||
|
|
||||||
# Show title on first line, spinner and scanning info on second line
|
# Show title on first line, spinner and scanning info on second line
|
||||||
if [[ -n "$display_path" ]]; then
|
if [[ -n "$display_path" ]]; then
|
||||||
printf '\r%s\n%s %sScanning %s\033[K\033[A' \
|
printf '\r%s\n%s %sScanning %s\033[K\033[A' \
|
||||||
@@ -140,7 +140,7 @@ perform_purge() {
|
|||||||
"${BLUE}${spin_char}${NC}" \
|
"${BLUE}${spin_char}${NC}" \
|
||||||
"${GRAY}"
|
"${GRAY}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sleep 0.05
|
sleep 0.05
|
||||||
done
|
done
|
||||||
exit 0
|
exit 0
|
||||||
@@ -149,14 +149,14 @@ perform_purge() {
|
|||||||
else
|
else
|
||||||
echo -e "${PURPLE_BOLD}Purge Project Artifacts${NC}"
|
echo -e "${PURPLE_BOLD}Purge Project Artifacts${NC}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
clean_project_artifacts
|
clean_project_artifacts
|
||||||
local exit_code=$?
|
local exit_code=$?
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
trap - INT TERM
|
trap - INT TERM
|
||||||
cleanup_monitor
|
cleanup_monitor
|
||||||
|
|
||||||
if [[ -t 1 ]]; then
|
if [[ -t 1 ]]; then
|
||||||
echo -e "${PURPLE_BOLD}Purge Project Artifacts${NC}"
|
echo -e "${PURPLE_BOLD}Purge Project Artifacts${NC}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -642,7 +642,7 @@ paginated_multi_select() {
|
|||||||
[[ $end_idx -ge $visible_total ]] && end_idx=$((visible_total - 1))
|
[[ $end_idx -ge $visible_total ]] && end_idx=$((visible_total - 1))
|
||||||
|
|
||||||
for ((i = start_idx; i <= end_idx; i++)); do
|
for ((i = start_idx; i <= end_idx; i++)); do
|
||||||
local row=$((i - start_idx + 3)) # +3 for header
|
local row=$((i - start_idx + 3)) # +3 for header
|
||||||
printf "\033[%d;1H" "$row" >&2
|
printf "\033[%d;1H" "$row" >&2
|
||||||
local is_current=false
|
local is_current=false
|
||||||
[[ $((i - start_idx)) -eq $cursor_pos ]] && is_current=true
|
[[ $((i - start_idx)) -eq $cursor_pos ]] && is_current=true
|
||||||
@@ -704,7 +704,7 @@ paginated_multi_select() {
|
|||||||
[[ $end_idx -ge $visible_total ]] && end_idx=$((visible_total - 1))
|
[[ $end_idx -ge $visible_total ]] && end_idx=$((visible_total - 1))
|
||||||
|
|
||||||
for ((i = start_idx; i <= end_idx; i++)); do
|
for ((i = start_idx; i <= end_idx; i++)); do
|
||||||
local row=$((i - start_idx + 3)) # +3 for header
|
local row=$((i - start_idx + 3)) # +3 for header
|
||||||
printf "\033[%d;1H" "$row" >&2
|
printf "\033[%d;1H" "$row" >&2
|
||||||
local is_current=false
|
local is_current=false
|
||||||
[[ $((i - start_idx)) -eq $cursor_pos ]] && is_current=true
|
[[ $((i - start_idx)) -eq $cursor_pos ]] && is_current=true
|
||||||
|
|||||||
Reference in New Issue
Block a user