|
47 | 47 |
|
48 | 48 |
|
49 | 49 | # The total number of steps in the installation process |
50 | | -TOTAL_STEPS="8" |
| 50 | +TOTAL_STEPS="9" |
51 | 51 | # The Rocket Pool user data path |
52 | 52 | RP_PATH="$HOME/.rocketpool" |
53 | 53 | # The default network to run Rocket Pool on |
@@ -422,6 +422,44 @@ progress 7 "Copying package files to Rocket Pool user data directory..." |
422 | 422 | # Clean up unnecessary files from old installations |
423 | 423 | progress 8 "Cleaning up obsolete files from previous installs..." |
424 | 424 | { rm -rf "$DATA_PATH/fr-default" || echo "NOTE: Could not remove '$DATA_PATH/fr-default' which is no longer needed."; } >&2 |
| 425 | + |
| 426 | +# Install shell completion for rocketpool CLI |
| 427 | +progress 9 "Installing shell completion for rocketpool CLI..." |
| 428 | + |
| 429 | +if command -v rocketpool >/dev/null 2>&1; then |
| 430 | + COMPLETION_SCRIPT=$(rocketpool completion bash 2>/dev/null) |
| 431 | + if [ -n "$COMPLETION_SCRIPT" ]; then |
| 432 | + mkdir -p ~/.bash_completion.d 2>/dev/null || true |
| 433 | + echo "$COMPLETION_SCRIPT" > ~/.bash_completion.d/rocketpool |
| 434 | + chmod 644 ~/.bash_completion.d/rocketpool |
| 435 | + |
| 436 | + # Automatically add sourcing to ~/.bashrc if not already present |
| 437 | + BASHRC="$HOME/.bashrc" |
| 438 | + COMPLETION_SOURCE='[[ -r ~/.bash_completion.d/rocketpool ]] && source ~/.bash_completion.d/rocketpool' |
| 439 | + |
| 440 | + if [ -f "$BASHRC" ]; then |
| 441 | + if ! grep -q "bash_completion.d/rocketpool" "$BASHRC"; then |
| 442 | + echo "" >> "$BASHRC" |
| 443 | + echo "# Rocket Pool CLI shell completion" >> "$BASHRC" |
| 444 | + echo "$COMPLETION_SOURCE" >> "$BASHRC" |
| 445 | + echo "Added shell completion sourcing to $BASHRC" |
| 446 | + else |
| 447 | + echo "Shell completion already configured in $BASHRC" |
| 448 | + fi |
| 449 | + else |
| 450 | + # Create .bashrc if it doesn't exist |
| 451 | + echo "# Rocket Pool CLI shell completion" > "$BASHRC" |
| 452 | + echo "$COMPLETION_SOURCE" >> "$BASHRC" |
| 453 | + echo "Created $BASHRC with shell completion" |
| 454 | + fi |
| 455 | + |
| 456 | + echo "Shell completion installed and configured. Restart your shell or run: source ~/.bash_completion.d/rocketpool" |
| 457 | + else |
| 458 | + echo "NOTE: Could not generate completion script." >&2 |
| 459 | + fi |
| 460 | +else |
| 461 | + echo "NOTE: rocketpool command not found in PATH, skipping shell completion install." >&2 |
| 462 | +fi |
425 | 463 | GRAFFITI_OWNER=$(stat -c "%U" $RP_PATH/addons/gww/graffiti.txt) |
426 | 464 | if [ "$GRAFFITI_OWNER" = "$USER" ]; then |
427 | 465 | { rm -f "$RP_PATH/addons/gww/graffiti.txt" || echo -e "${COLOR_YELLOW}WARNING: Could not remove '$RP_PATH/addons/gww/graffiti.txt' which was used by the Graffiti Wall Writer addon. You will need to remove this file manually if you intend to use the Graffiti Wall Writer.${COLOR_RESET}"; } >&2 |
|
0 commit comments