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@param
directives 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: