microsoft / microsoft/microsoft-ui-xaml

[Feature] Allow Unicode class Lm in XAML identifiers

Open
#10,201 1 comment 0 reactions 0 assignees View on GitHub
area-XamlCompiler feature proposal team-Core
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

_This issue has been moved from [a ticket on Developer Community](https://developercommunity.visualstudio.com/t/Unicode-class-Lm-in-XAML-identifiers/10798213)._

---
The XAML specification for identifiers ([here](https://learn.microsoft.com/en-us/dotnet/desktop/xaml-services/xamlname-grammar)) does not include Unicode class Lm in identifiers. But these are allowed in the C# specification ([here](https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/identifier-names)).

When I use an Lm letter in my C# identifier and then x:Bind it to XAML, the XAML IntelliSense in Visual Studio recognizes the letter. But then when I try to compile it, the XAML generates an error saying that the identifier could not be found.

My suggestion is to include the Lm character class as if it were a LetterCharacter in the XAML syntax. This will bring XAML and C# identifier parsing into alignment.

---
### Original Comments

#### Feedback Bot on 11/24/2024, 09:55 PM:

Thank you for taking the time to provide your suggestion. We will do some preliminary checks to make sure we can proceed further. You will hear from us in about a week on our next steps.

Contributor guide

Open the contributing guide

Research direction

Start with the linked XAML name grammar and C# identifier specification to compare how LetterCharacter and Unicode class Lm are defined. Trace the XAML identifier validation used during compilation, then verify that an Lm character in a C# identifier can be used through x:Bind without the current identifier-not-found error.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.