programable_shell_complete
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| programable_shell_complete [2020/02/27 12:40] – créée bigMax | programable_shell_complete [2020/03/30 12:42] (Version actuelle) – bigMax | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| < | < | ||
| - | # Complétion programmable | + | # Complétion |
| - | + | ||
| - | Comment réaliser une complétion pour ses petits scripts maison ? | + | |
| ## Documentation | ## Documentation | ||
| 1. https:// | 1. https:// | ||
| Ligne 27: | Ligne 24: | ||
| Dans la fonction, on dispose de 3 variables d' | Dans la fonction, on dispose de 3 variables d' | ||
| - | - COMP_WORDS : Le tableau contenant la liste des mots déjà complétés et en cours de " | + | - **COMP_WORDS** : Le tableau contenant la liste des mots déjà complétés et en cours de " |
| - | - COMP_CWORD : L' | + | - **COMP_CWORD** : L' |
| - | - COMPREPLY : Le tableau qui contiendra la liste des mots à proposer à l' | + | - **COMPREPLY** : Le tableau qui contiendra la liste des mots à proposer à l' |
| La fonction est appelée avec ces 3 paramètres : | La fonction est appelée avec ces 3 paramètres : | ||
| - | - $1 le nom de la commande en cours de complétion | + | - __$1__ le nom de la commande en cours de complétion |
| - | - $2 le mot en cours de " | + | - __$2__ le mot en cours de " |
| - | - $3 le mot précédent le mot en cours de " | + | - __$3__ le mot précédent le mot en cours de " |
| ### Recherche des mots qui match | ### Recherche des mots qui match | ||
| Ligne 45: | Ligne 42: | ||
| ## Exemples | ## Exemples | ||
| + | ### Completion simple "à 1 seul niveau" | ||
| + | Dans cet exemple, la commande `mon_autre_commande` sera complétée avec les mots "foo bar baz". | ||
| + | |||
| + | ``` bash | ||
| + | | ||
| + | ``` | ||
| + | |||
| + | ### Completion plus compliqué "à 2 niveaux" | ||
| + | Dans cet exemple, la commande `ma_commande` sera complétée par un premier niveau de mots : "foo bar baz". | ||
| + | |||
| + | Puis un second niveau de complétion sera proposé lorsque le premier mot sera complété : la commande `ma_commande bar` sera complété par les mots "-o -i -b toto". | ||
| + | |||
| ``` bash | ``` bash | ||
| _ma_commande() { | _ma_commande() { | ||
| Ligne 59: | Ligne 68: | ||
| else | else | ||
| # Le premier mot est déjà écrit | # Le premier mot est déjà écrit | ||
| - | local firstWord = " | + | local firstWord=" |
| case " | case " | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | quattre) completions=" | + | |
| esac | esac | ||
| fi | fi | ||
| Ligne 74: | Ligne 82: | ||
| complete -F _ma_commande -- ma_commande | complete -F _ma_commande -- ma_commande | ||
| - | complete -W "foo bar baz" -- mon_autre_commande | ||
| ``` | ``` | ||
| - | |||
| </ | </ | ||
programable_shell_complete.1582807204.txt.gz · Dernière modification : de bigMax
