Merged
Conversation
Added a second level of filtering to .help so you can filter commands with a plugin or second filter for the command search .help now has commands and plugins sorted Adds .help-all which functions similar to previous .help except its ordered Added new unit tests
If there is ambiguity in which command was intended to be called then you will be presented with the options and asked to pick one with .# Can specify a command for a specific plugin by using the name of it first before the command
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With the number of commands in plugins and number of plugins out there it's becoming increasingly difficult to not run into conflicts. This change adds the ability for commands to be overloaded for the same number of parameters by checking the parameters passed against all possible options and seeing which ones will work. If there is only one option that works then that command is executed. If there is multiple options that is worked they are all presented to the user numbered with the user then being able to execute them by using
.#with # replaced with the appropriate number. Conflicts can as well be resolved beforehand by specifying the plugin name first before the command though you can still have overloading within a single plugin.A number of unit tests have been added to try to get decent coverage on all the various ways this can be used. Note had to add assembly to the command metadata in order to be able to properly unit test executing command based on plugin. Simplifies several retrievals of assembly as well as a result.
Don't want to PR this into help by plugin but into main after Help by plugin is finished being PRed