microsoft / microsoft/microsoft-ui-xaml
[Feature] Allow Unicode class Lm in XAML identifiers
- 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
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