Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Symfony Console Completion Laravel Package

stecman/symfony-console-completion

Adds Bash and Zsh tab-completion to Symfony Console apps. Zero-config completion for command names and options, plus hooks to customize argument/option value suggestions. Install via Composer and register the CompletionCommand to enable shell completion.

View on GitHub
Deep Wiki
Context7
v0.15.0

No functional changes. Thanks to @W0rma for sorting out Symfony 8 support!

v0.14.0

No functional changes. Updates version constraint and some type hints as required.

v0.13.0

No functional changes. Updates version constraint and some type hints as required.

v0.12.2
v0.12.1

Bug fix release for return type incompatibility with Console >=6.3

v0.12.0

Adds support for symfony/console 6.x versions, but removes older Symfony compatibility due to API changes upstream.

No changes have been made to the completion API.

For older versions of Symfony and PHP, you can continue to use version 0.11.0. If major new features are added, these may be back-ported and released separately.

0.11.0

Simple bump to requirements to enable use with symfony/console 5.x versions.

No changes are needed to upgrade from 0.10.x.

0.10.1
  • Fixes options appearing before the command name (eg. program -v cmdname) breaking the detection of the command that should be completed for (#83)
0.10.0

Adds support for quoted and escaped multi-word completions. No changes are required to upgrade from 0.9.0.

BASH users will need to regenerate/reload their shell hook for multi-word completions to work.

0.9.0

To avoid conflicts with application-level options defined by the library user, CompletionCommand now ignores custom application options. Options from Symfony's base Application class are retained.

No action is needed to upgrade to this version unless your subclass of CompletionCommand has been modified to use global options defined by your application. In this case you will need to override CompletionCommand::filterApplicationOptions to whitelist your options.

0.8.0

Adds Symfony Console 4.x to the versions supported. No changes are required to update to this version from 0.7.0.

Other changes:

  • Commands marked as hidden (symfony-console >= 3.2) are excluded from completion results
0.7.0
  • Support completing array arguments multiple times (#66)
  • Fixes single letters completing incorrectly in some cases (#65)
0.6.2
0.6.1
  • Fixes completion broken under BASH on Centos 6.x (#57)
  • Fixes BASH mail check messages being written during completion with some combinations of BASH ≈3.2 and bash-completion ≈1.3 (#59)
  • Adds error message for BASH when registering completion without the bash-completion package (#58)
0.6.0
  • Sanitise program name when using in shell function name
  • Auto-complete arguments of built-in "help" and "list" commands
  • Allow _completion command to auto-complete it's arguments or their values
  • Support generation of hook that runs _completion command against the program being completed for at the shell function's runtime (--multiple)
0.5.1

This release fixes the completion handler to honour Symfony Console's default handling of unambiguous namespaced command abbreviations. The following are now equivalent (previously only the first would return results):

program deploy:run TAB
program d:r TAB
program de:r TAB
program d:ru TAB

Completions of command names that are not "namespaced" using colons are not affected by this change.

Thanks to @aik099 for this.

0.5.0

This release adds the ability to make a command responsible for its own completions with CompletionAwareInterface, thanks to @aik099.

0.4.4

This release adds ShellPathCompletion - a class with a similar signature to Completion that exits and triggers the calling shell's built-in path completion functionality when run.

The new functionality in this version depends on an update to shell hooks, so you'll need to re-initialise any hook after upgrading to this version. Existing hooks will continue to work correctly except with the deferred path completion.

0.4.3

The minimum-stability setting in composer.json was previously set to "dev". The option has been removed from the file so that the default "stable" setting is used.

0.4.2

This release is a re-fix of #6 thanks to @pjcdawkins as the fix released in 0.4.1 didn't function correctly. This fix reintroduces the shell selection option from 0.4.0 as --shell-type, which doesn't conflict with the Symfony framework application.

0.4.1

User interface BC break from 0.4.0: The --shell option introduced yesterday in 0.4.0 has been removed in favour of an argument to the existing --generate-hook option. This was required as the default console application in Symfony Framework has a global --shell option which conflicts with the one in this command, causing a logic exception. Forcing a shell type is now done as follows:

$ myprogram _completion --generate-hook zsh
v0.4.0

This release adds a hook for using the module under ZSH, and makes it easy to add hooks for other shells. The appropriate hook is determined automatically at runtime, so no user profile changes should be needed for existing setups in most cases (see second note below).

Notes

  • The recommended way of parsing the completion hook in a shell has changed, though the old method will continue working for existing installations:

    # New method (works under BASH and ZSH)
    myprogram _completion --generate-hook | source /dev/stdin
    
    # Old method (only works under BASH)
    eval $(myprogram _completion --generate-hook)
    
  • In order to generate a script that will work in the current shell, the SHELL environment variable is parsed. Since this is a setting rather than a representation of current state, the --shell option may need to be specified in some circumstances.

v0.3.0

This release primarily adds support for colon characters in completions.

BC break: public methods on CompletionHandler that allowed reading of command-line contents have been moved to CompletionContext. A completion handler's context is accessible through CompletionHandler::getContext().

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport