Excellent instructions I can reproduce!
This actually looks like a bug/feature in the Scintilla lexer (external dll I use) combined with my logic.
1] I only add a variable when the lexer is checking a line that is not the current.
2] The Scintilla lexer sends an event message whenever a line needs to be checked.
So if Scintilla lexer sends messages for parsing when I am on the line, I ignore it for variables becuase they could be being changed or part way through writng the name.
The Scintilla lexer however does not send a message if you just move the mouse away from a line rather than send a key.
So if you just move away and type, then this variable has not been tested for and not added to the list of variables.
This doesn't happen for me usually because I use a return key at the end of lines I write, and don't actually use the intellisense much.
Only way I can see to fix is to relax my rule about not considering variables on the current line - but this could result in lots of unnecessay variables added.
This actually looks like a bug/feature in the Scintilla lexer (external dll I use) combined with my logic.
1] I only add a variable when the lexer is checking a line that is not the current.
2] The Scintilla lexer sends an event message whenever a line needs to be checked.
So if Scintilla lexer sends messages for parsing when I am on the line, I ignore it for variables becuase they could be being changed or part way through writng the name.
The Scintilla lexer however does not send a message if you just move the mouse away from a line rather than send a key.
So if you just move away and type, then this variable has not been tested for and not added to the list of variables.
This doesn't happen for me usually because I use a return key at the end of lines I write, and don't actually use the intellisense much.
Only way I can see to fix is to relax my rule about not considering variables on the current line - but this could result in lots of unnecessay variables added.