How the plugin resolves symbols
The information here are not strictly necessary for using the plugin. Nevertheless, I provide insight into this core functionality so that the interested reader understands this crucial part, which is used in high-lighting, auto-completion, navigation, refactoring, and many more places. Feel free to skip this section.
The term resolving means nothing more than identifying a symbol (be it a variable or a function) in your code correctly
so that the plugin knows, which symbols belong together.
To give an example, assume you have defined a variable myVar
inside a Module
, then you certainly expect the plugin
to highlight it (usually green), and you also want auto-completion for it when you are inside the Module
.
Also, in a very long Module
, you might want to jump from any usage of myVar
to its definition at the top.
What the plugin needs to do is to analyse the structure of the code (the abstract syntax tree) in order to identify
that myVar
is in the context of the Module
.
All usages of myVar
inside the Module
are then resolved to its point of definition at the top of the Module
.