From 70659d2c1610601b29ec9a65185c6d83458cb96f Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Fri, 21 Nov 2025 14:47:05 +0100 Subject: [PATCH] feat(docs): add autocompletion docs --- docs/config.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++ docs/fr/config.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) diff --git a/docs/config.md b/docs/config.md index 306d7e3f4..f8cd5b805 100644 --- a/docs/config.md +++ b/docs/config.md @@ -346,3 +346,69 @@ docker run -v $PWD:/app/public \ -p 80:80 -p 443:443 -p 443:443/udp \ dunglas/frankenphp ``` + +## Shell Completion + +FrankenPHP provides built-in shell completion support for Bash, Zsh, Fish, and PowerShell. This enables autocompletion for all commands (including custom commands like `php-server`, `php-cli`, and `extension-init`) and their flags. + +### Bash + +To load completions in your current shell session: + +```console +source <(frankenphp completion bash) +``` + +To load completions for every new session, run: + +**Linux:** + +```console +frankenphp completion bash > /etc/bash_completion.d/frankenphp +``` + +**macOS:** + +```console +frankenphp completion bash > $(brew --prefix)/etc/bash_completion.d/frankenphp +``` + +### Zsh + +If shell completion is not already enabled in your environment, you will need to enable it. You can execute the following once: + +```console +echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +To load completions for each session, execute once: + +```console +frankenphp completion zsh > "${fpath[1]}/_frankenphp" +``` + +You will need to start a new shell for this setup to take effect. + +### Fish + +To load completions in your current shell session: + +```console +frankenphp completion fish | source +``` + +To load completions for every new session, execute once: + +```console +frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish +``` + +### PowerShell + +To load completions in your current shell session: + +```powershell +frankenphp completion powershell | Out-String | Invoke-Expression +``` + +To load completions for every new session, add the output of the above command to your PowerShell profile. diff --git a/docs/fr/config.md b/docs/fr/config.md index 7c52cea7c..b6e4b6284 100644 --- a/docs/fr/config.md +++ b/docs/fr/config.md @@ -279,3 +279,69 @@ docker run -v $PWD:/app/public \ -p 80:80 -p 443:443 -p 443:443/udp \ dunglas/frankenphp ``` + +## Autocomplétion Shell + +FrankenPHP fournit un support d'autocomplétion intégré pour Bash, Zsh, Fish et PowerShell. Cela permet l'autocomplétion de toutes les commandes (y compris les commandes personnalisées comme `php-server`, `php-cli` et `extension-init`) ainsi que leurs options. + +### Bash + +Pour charger l'autocomplétion dans votre session shell actuelle : + +```console +source <(frankenphp completion bash) +``` + +Pour charger l'autocomplétion à chaque nouvelle session, exécutez : + +**Linux :** + +```console +frankenphp completion bash > /etc/bash_completion.d/frankenphp +``` + +**macOS :** + +```console +frankenphp completion bash > $(brew --prefix)/etc/bash_completion.d/frankenphp +``` + +### Zsh + +Si l'autocomplétion shell n'est pas déjà activée dans votre environnement, vous devrez l'activer. Vous pouvez exécuter la commande suivante une fois : + +```console +echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +Pour charger l'autocomplétion à chaque session, exécutez une fois : + +```console +frankenphp completion zsh > "${fpath[1]}/_frankenphp" +``` + +Vous devrez démarrer un nouveau shell pour que cette configuration prenne effet. + +### Fish + +Pour charger l'autocomplétion dans votre session shell actuelle : + +```console +frankenphp completion fish | source +``` + +Pour charger l'autocomplétion à chaque nouvelle session, exécutez une fois : + +```console +frankenphp completion fish > ~/.config/fish/completions/frankenphp.fish +``` + +### PowerShell + +Pour charger l'autocomplétion dans votre session shell actuelle : + +```powershell +frankenphp completion powershell | Out-String | Invoke-Expression +``` + +Pour charger l'autocomplétion à chaque nouvelle session, ajoutez la sortie de la commande ci-dessus à votre profil PowerShell.