Currently we show parameter lists when the cursor is on the function name. This is fine, but for longer parameter lists, such as for os/run-application, it's much more useful to see the parameter list while typing the arguments inside the parens. Specifically, if the cursor is at | in any of the following it should show the parameter list for bar:
foo(a, bar(b,|
bar("abc|def"
Without looking at the code, I believe the client just sends the cursor location and we need to figure it out on the server side.
This is notably different from what should be done for variables, which currently works fine.
Initial thought: look backward one expression at a time looking for a paren or whitespace. If whitespace, look back for a paren or comma. Lather, rinse, repeat.
Well...now that I'm not using a tty emacs most of the time this is much less important since i can just move the mouse over the function name. Doesn't seem worth tracking for now.
Currently we show parameter lists when the cursor is on the function name. This is fine, but for longer parameter lists, such as for
os/run-application
, it's much more useful to see the parameter list while typing the arguments inside the parens. Specifically, if the cursor is at|
in any of the following it should show the parameter list forbar
:foo(a, bar(b,|
bar("abc|def"
Without looking at the code, I believe the client just sends the cursor location and we need to figure it out on the server side.
This is notably different from what should be done for variables, which currently works fine.
Initial thought: look backward one expression at a time looking for a paren or whitespace. If whitespace, look back for a paren or comma. Lather, rinse, repeat.