A way to distiguish between an explicit call of an imported function and a member call
E.g. VSCode can show the user which parameter the user is currently typing in. But when a member proc call is used, the first parameter is already given, so it should show that the user is currently typing the second parameter when he opens the brackets etc. But a member call has the same syntax as an explicit call of an imported procedure.
So e.g. in this case:
x.pow(|
x could be a variable and the procedure pow gets called or there could be package named x which contains a procedure named pow.
In VSCode the distiguishing is currently archived by using a rather ugly method. It checks if there are a dot and a symbol before the procedure call(using a custom parser) and compares the symbol to the package name, the procedure comes from(you can see the source code here: https://github.com/pragmagic/vscode-nim/blob/master/src/nimSignature.ts).
This method has a lot of weaknesses and doesn't work with aliased imports either.
Also for the suggestion which shows, which parameter the user currently types in, the parameter names and the current parameter need to be known, which is a very error prone process, if the editor does it.
That's why I suggest to add a suggestion mode which returns whether a procedure call is a member call or not and a list of all parameter names and their type in way which is easier to parse then a parsing the human readable form of it.
Took me some time to understand your problem, but yes, it makes sense to add this and is easy enough to do.