Fills the gaps recorded in JOB-BRIEF-FINDINGS.md for the functions converted to header-driven --help: 16 argument-less functions gain an EXIT STATUS section (check_fish_deps, claude-docs, claude-pr, cleanup, fast, fzf-update, gip, gip4, hist, limine-edit, lock, ports, screensleep, steam-dl, swapstat, tmux-clean), and 8 functions that already document ARGUMENTS gain EXIT STATUS too (lD, lsr, lss, lstree, lt, ltr, lx, qr). Not touched: gip6, ld, parur, sudo-toggle, upgrade, the JOB-BRIEF's 'missing ARGUMENTS' group. Re-checked their bodies against that claim -- none of the five take a positional argument ($argv only appears forwarded to the --help check), so an ARGUMENTS section would document something that doesn't exist. All five already have EXIT STATUS.
35 lines
926 B
Fish
35 lines
926 B
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# CATEGORY
|
|
# 14-miscellaneous
|
|
#
|
|
# SYNOPSIS
|
|
# tmux-clean
|
|
#
|
|
# DESCRIPTION
|
|
# Kills all detached (unattached) tmux sessions, leaving any currently
|
|
# attached sessions running.
|
|
#
|
|
# EXIT STATUS
|
|
# 0 Always
|
|
#
|
|
# EXAMPLE
|
|
# tmux-clean
|
|
function tmux-clean --description 'Kill all tmux sessions except the current one'
|
|
__fish_help_header (status current-function) $argv; and return 0
|
|
|
|
# Get a list of all session names that are NOT currently attached
|
|
set sessions (tmux list-sessions -F '#{session_name} #{session_attached}' | string match -rv ' 1$' | string split -f1 ' ')
|
|
|
|
if test -n "$sessions"
|
|
for session in $sessions
|
|
echo "Stopping session: $session"
|
|
tmux kill-session -t "$session"
|
|
end
|
|
echo "Clean-up complete."
|
|
else
|
|
echo "No detached sessions to clean."
|
|
end
|
|
end
|