Files
rootiest 084e6fb9ca refactor(functions): standardize documentation, metadata, and wrappers
- Add comprehensive `--description` flags to all fish functions for better `help` and `functions` output.
- Introduce and correct `--wraps` flags to ensure proper completions for aliased commands (e.g., `top` wrapping `btop`, `zellij`, `upgrade` wrapping `paru`).
- Prepend descriptive comments before function definitions for better source readability.
- Add standard copyright and SPDX license identifiers to shell scripts.
- Enhance script robustness by ensuring consistent terminal checks (Kitty, WezTerm) and graceful fallbacks in window/tab spawning functions (`spwin`, `tab`).
- Implement graceful fallbacks to basic core utilities when preferred modern alternatives are missing (e.g., `top` falling back to system `top` if `btop` is missing, `view` falling back to `less` or `cat` if `nvim` is unavailable).
- Improve overall code consistency across the `functions/` directory.
2026-04-30 23:16:28 -04:00

51 lines
1.3 KiB
Fish

# Copyright (C) 2026 Rootiest
# SPDX-License-Identifier: AGPL-3.0-or-later
# Toggle superpowers extension for Gemini and Claude
function superpowers --description 'Toggle superpowers extension for Gemini and Claude'
set -l scope_gemini workspace
set -l scope_claude project
set -l mode ""
set -l help_text "
Usage: superpowers [on|off] [options]
Commands:
on Enable superpowers for Gemini and Claude
off Disable superpowers for Gemini and Claude
Options:
-g, --global Apply settings to the user/global scope
-h, --help Show this help message
"
# Parse arguments
for arg in $argv
switch $arg
case on
set mode enable
case off
set mode disable
case -g --global
set scope_gemini user
set scope_claude user
case -h --help
echo $help_text
return 0
end
end
# Handle no arguments or invalid mode
if test -z "$mode"
echo $help_text
return 1
end
echo "Setting superpowers to: $mode (Scope: Gemini=$scope_gemini, Claude=$scope_claude)..."
# Execute Gemini command
gemini extensions $mode superpowers --scope $scope_gemini
# Execute Claude command
claude plugins $mode superpowers --scope $scope_claude
end