Emit pragmas for empty @ expressions in MVC #11653
Merged
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.
This is a fix for https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2414981/ where writing an
@
symbol does not give full IntelliSense, and a follow up from #10965 which only fixed it for components.For IntelliSense to work correctly, we need to emit a zero-length line pragma for the empty region following the
@
symbol.This change updates parsing so that in the error case we always emit a marker token as part of the empty transition. We previously only did this in design time. That ensures we have somewhere to emit the empty line pragma and allows the tooling to know it's in a CSharp context and offer the correct IntelliSense.
Though not used in this PR, it also fixes an issue with zerowidthspan calculations for spans that do not begin at character offset 0.