| 
            Last change
 on this file since 6fe4a7f was             c26b98c4, checked in by Thierry Delisle <tdelisle@…>, 4 years ago           | 
        
        
          | 
             
Finally added some steps for auto-completion in zsh 
 
           | 
        
        
          
            
              - 
Property                 mode
 set to                 
100644
               
             
           | 
        
        
          | 
            File size:
            1.3 KB
           | 
        
      
      
| Line |   | 
|---|
| 1 | Shell Auto Completion
 | 
|---|
| 2 | =====================
 | 
|---|
| 3 | 
 | 
|---|
| 4 | tests/test.py
 | 
|---|
| 5 | -------------
 | 
|---|
| 6 | 
 | 
|---|
| 7 | ### Bash
 | 
|---|
| 8 | 
 | 
|---|
| 9 | Short version: copy this into your .profile file:
 | 
|---|
| 10 | 
 | 
|---|
| 11 |     _cfa_test() (
 | 
|---|
| 12 |         (case $3 in
 | 
|---|
| 13 |         (--continue|--debug|--install|--timout-with-gdb)
 | 
|---|
| 14 |             echo yes no;;
 | 
|---|
| 15 |         (--arch)
 | 
|---|
| 16 |             echo x86 x64;;
 | 
|---|
| 17 |         (-I|--include|-E|--exclude)
 | 
|---|
| 18 |             $1 --list-comp | tr ' ' '\n' | sed -e 's@/[^/]\+$@/@;t;d';;
 | 
|---|
| 19 |         (*)
 | 
|---|
| 20 |             $1 --list-comp;;
 | 
|---|
| 21 |         esac) | grep -Ewoe "$2[^[:space:]]*"
 | 
|---|
| 22 |     )
 | 
|---|
| 23 |     complete -C _cfa_test tests/test.py
 | 
|---|
| 24 | 
 | 
|---|
| 25 | The long version includes reading the bash manual, check for the complete
 | 
|---|
| 26 | built-in and readline programmable completion for details on how these
 | 
|---|
| 27 | commands are used. You can copy-paste the results directily into your
 | 
|---|
| 28 | terminal to test them or put them in one of the initalization files so they
 | 
|---|
| 29 | are loaded at start-up.
 | 
|---|
| 30 | 
 | 
|---|
| 31 | This particular script does not handle the comma seperated options.
 | 
|---|
| 32 | 
 | 
|---|
| 33 | ### Zsh
 | 
|---|
| 34 | 
 | 
|---|
| 35 | 1 - Add the following somewhere:
 | 
|---|
| 36 |     #compdef test.py
 | 
|---|
| 37 | 
 | 
|---|
| 38 |     _test_py() {
 | 
|---|
| 39 |         local -a options
 | 
|---|
| 40 |         options=$($words[1] --list-comp)
 | 
|---|
| 41 |         _alternative "files:filenames:($options)"
 | 
|---|
| 42 |     }
 | 
|---|
| 43 | 
 | 
|---|
| 44 |     _test_py "$@"
 | 
|---|
| 45 | 
 | 
|---|
| 46 | 2 - Add the path to that file to the "fpath" environment variable.
 | 
|---|
| 47 | 
 | 
|---|
| 48 | 3 - In ~/.zshrc add
 | 
|---|
| 49 |     autoload -U compinit
 | 
|---|
| 50 |     compinit
 | 
|---|
| 51 | 
 | 
|---|
| 52 | *How it works:* I don't know ;P
 | 
|---|
| 53 | 
 | 
|---|
| 54 | 
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.