Negative test cases for references.
Test cases for descriptions in search result.
SRP violation removed.
Small tests refactoring.
Additional find usages tests.
Separate package for lexer related stuff.
Move parser related stuff to parser package.
Move completion related stuff to completion package.
Move highlighting related stuff to highlighting package.
Final package level cleanups.
Reformatting code.