[VZP-6] Improve IntelliSense completions and popup displays
Currently, there are many times when the IntelliSense data that pops up in the editor while writing ZIL code is more of a distraction than an assistant.
Sometimes it infers the wrong ZIL/MDL language context, and it suggests SUBR names inside a macro definition where a ZBuiltin name would be more appropriate. Sometimes it suggests the names of existing code entities while you're trying to name a new entity. VSCode aggressively completes these, so if you don't hit Escape in time, it will mangle the code you're writing.
The syntax used in popup definition snippets is inconsistent across entity types (ROUTINE vs. SUBR): do we want to show the definition or a sample call? What good are the lines like "Evaluated: No", and are they even accurate? Can we customize the argument names to clarify cases where multiple opcodes are implemented by the same ZBuiltin?
When the language service knows it lacks the context to suggest valid completions at a given position, can we return the completion list but make the editor less aggressive that one time?
- Issue type: Epic
- Priority: Medium