There seems to be an ArgumentOutOfRangeException occuring when I type in the following line:
asdf --[[ comment
nutha comment --]] flibby
I noticed that "nutha comment" is not colored green until a third line is created under this. The exception seems to be a problem with the TokenStart property associated with SourceStream.
I agree that the integration thing needs some refactoring. I dislike the fact that Visual Studio gives you only the line modified and a state integer to use when coloring a line. While this may be a perceived performance optimization, it seems
like the loops you must jump through in order to make it work defeats the purpose but alas there's nothing that can be done in that respect. It seems currently that the VS Integration is too tightly connected with the Irony compiler and parser which
will ultimately distort the code and limit the flexibility of the colorizer. It would be nicer to have this functionality in its own class or structure and still work in the single line/state limitation. This way we can use it as a boiler plate
that can be expanded.
For example, I'm looking into building a CodeDOM from the ParseTree that Irony generates and then using my own implementation of the IVsColorizer interface, colorize the lines based on that DOM. This way I can colorize not only base on language semantics
but also based on content such as declared or missing variables, methods, etc. Also, while the brace matching functionality that is currently in place is nice, it's still limiting as it cannot support multiple or colorize missing braces in a different
This all will take time though but so far I really like the progress being made :)