Fix ShaderLab parsing of whitespace and invalid parameters in variable references #357
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #257. Allows parsing a variable reference with trailing whitespace.
Also handles the scenario where someone incorrectly adds parameters to a reference (e.g.
BlendOp [_Op(foo, whatever) ]
). It will highlight the invalid parameters with a warning and provides a quick fix to delete them. I'd prefer it to be a syntax error, but the shader compiler doesn't treat it as an error, but silently ignores it (and seems to silently break the variable reference, using a default value, too, although I need to recheck this).This PR includes a small bit of housekeeping - fixed some obsolete warnings, etc. Also refactored the ShaderLab custom highlights to be defined in XML, rather than hand written.