Documents what each function needs for full functionality -- other repo functions it calls, and external CLI tools it uses or falls back gracefully without (e.g. rm/trash, ls/eza+lsd) -- matching the existing CLASSIFICATION convention's placement and the ~20 functions that already carried this label. Also broadens verify-manual.py's dependency-resolution check to recognize this repo's other existence-check idioms (command -q, command -v, which -- not just type -q) and dng2avif's dynamic type -q $cmd loop, since several genuine dependencies (eza, lsd, fastfetch, fd, ps, ...) are only ever guarded that way. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HdzcdfzUSzskSsCS1U4j5X
33 lines
766 B
Fish
33 lines
766 B
Fish
# Copyright (C) 2026 Rootiest
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
# CATEGORY
|
|
# 10-network
|
|
#
|
|
# DEPENDENCIES
|
|
# curl
|
|
#
|
|
# CLASSIFICATION
|
|
# network
|
|
#
|
|
# SYNOPSIS
|
|
# gip
|
|
#
|
|
# DESCRIPTION
|
|
# Fetches and prints both the public IPv4 and IPv6 addresses using
|
|
# icanhazip.com. Shows "Not detected" for any address that times out.
|
|
#
|
|
# EXIT STATUS
|
|
# 0 Always (network failures print "Not detected" instead of failing)
|
|
#
|
|
# EXAMPLE
|
|
# gip
|
|
function gip --description 'Show all public IP addresses'
|
|
__fish_help_header (status current-function) $argv; and return 0
|
|
|
|
echo -n "IPv4: "
|
|
curl -4 -s --max-time 2 https://icanhazip.com || echo "Not detected"
|
|
echo -n "IPv6: "
|
|
curl -6 -s --max-time 2 https://icanhazip.com || echo "Not detected"
|
|
end
|