Open
Conversation
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
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.
Adds a basic implementation of signature help for functions, processes, and workflows.
When you type a method name and then
(, vscode will show the method signature and docs (similar to hover hint). As you type each argument followed by a comma, the current parameter is highlighted, and can also show docs for each parameter. We could pull param docs from inline comments or@paramdirectives in the method's groovydoc comment.My main concern with the current impl is that process inputs don't quite fit the expectations of signature help, which expects a conventional signature of
func(param1, param2, param3, ...), whereas process inputs are a bit more complex.I tried to do a multi-line signature for processes to space out the inputs, but vscode still squashes it onto a single line.
Another thing I could try is to do something like
PROC( <1>, <2>, <3>, <4> )for the signature and then show the full spec below that for the current input, which should be possible with the label / documentation ofParameterInfo. But for some reason, the param documentation is only showing for the first param and then goes away. If I can fix this issue, that might be good enough.Long term, I think the problem will go away with typed process inputs, which should look more like function / workflow inputs: