@@ -45,21 +45,37 @@ func init() {
45
45
console .CompletionTemplates = completionTemplates
46
46
}
47
47
48
- func autocompleteSymfonyConsoleWrapper (context * console.Context , words complete.Args ) []string {
49
- args := buildSymfonyAutocompleteArgs ("console" , words )
48
+ func autocompleteApplicationConsoleWrapper (context * console.Context , words complete.Args ) []string {
49
+ return autocompleteSymfonyConsoleWrapper (words , "console" , func (args []string ) (* Executor , error ) {
50
+ return php .SymfonyConsoleExecutor (terminal .Logger , args )
51
+ })
52
+ }
53
+
54
+ func autocompletePieWrapper (context * console.Context , words complete.Args ) []string {
55
+ return autocompleteSymfonyConsoleWrapper (words , "console" , func (args []string ) (* Executor , error ) {
56
+ return php .Pie ("" , args , []string {}, context .App .Writer , context .App .ErrWriter , io .Discard , terminal .Logger )
57
+ })
58
+ }
59
+
60
+ // autocompleteSymfonyConsoleWrapper bridges the symfony-cli/console (Go)
61
+ // autocompletion with a symfony/console (PHP) one.
62
+ func autocompleteSymfonyConsoleWrapper (words complete.Args , commandName string , executor func (args []string ) (* Executor , error )) []string {
63
+ args := buildSymfonyAutocompleteArgs (commandName , words )
50
64
// Composer does not support those options yet, so we only use them for Symfony Console
51
65
args = append (args , "-a1" , fmt .Sprintf ("-s%s" , console .GuessShell ()))
52
66
53
- if executor , err := php . SymfonyConsoleExecutor ( terminal . Logger , args ); err == nil {
67
+ if executor , err := executor ( args ); err == nil {
54
68
os .Exit (executor .Execute (false ))
55
69
}
56
70
57
71
return []string {}
58
72
}
59
73
74
+ // autocompleteComposerWrapper is a bridget between Go autocompletion and
75
+ // Composer one. It does does use the generic one because Composer does not
76
+ // support multiple shell yet.
60
77
func autocompleteComposerWrapper (context * console.Context , words complete.Args ) []string {
61
78
args := buildSymfonyAutocompleteArgs ("composer" , words )
62
- // Composer does not support multiple shell yet, so we only use the default one
63
79
args = append (args , "-sbash" )
64
80
65
81
res := php .Composer ("" , args , []string {}, context .App .Writer , context .App .ErrWriter , io .Discard , terminal .Logger )
0 commit comments