mhutch / MonoDevelop.MSBuildEditor

Improved MSBuild editing support
Other
215 stars 26 forks source link

Classifier sometimes stops classifying at some point in the file #144

Open KirillOsenkov opened 7 months ago

KirillOsenkov commented 7 months ago

this is very strange, at some point classification just breaks:

<Project>
  <ItemGroup>
    <a Include="@(b->WithMetadataValue('c', 'd')->'%(e)')">
    </a>
  </ItemGroup>
</Project>

image

the quote should be blue, and everything after that loses classification.

KirillOsenkov commented 7 months ago

Strangely, the tagger does have an xml - attribute quotes tag where the closing quote is:

image

Is there another unclosed tag that overlaps this and goes to the end of the file?

KirillOsenkov commented 7 months ago

weird, it thinks this is an attribute value:

image

KirillOsenkov commented 7 months ago

Aha, it's TextMate, I added a way to see classifications and the last span is all classified as a string (in green):

image

KirillOsenkov commented 7 months ago

I found MSBuild.json and I'm not brave enough for this

KirillOsenkov commented 7 months ago

Maybe msbuild-item-function doesn't support A->B->C?

KirillOsenkov commented 7 months ago

Yes, feels like msbuild-item-function should be refactored to allow for multiple "invocations": @(A(->F(args))+)