microsoft / microsoft/WinAppVSCE
Consolidate XAML markup-extension metadata catalogs
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13
- Forks
- 3
- Avg merge
- 6d 1h
- Merged PRs (30d)
- 11
Description
Is your feature request related to a problem? Please describe.
The XAML language server currently maintains related markup-extension metadata in three places: completion labels/details, curated hover descriptions, and XAML-language directive quick info. The payloads serve different UI surfaces, but overlapping names and descriptions can drift over time.
Describe the solution you'd like
Introduce a shared markup-extension descriptor catalog that exposes the common identity and semantics for x:Bind, Binding, StaticResource, ThemeResource, TemplateBinding, RelativeSource, x:Static, x:Type, and x:Null. Completion and hover providers should project their surface-specific detail/markdown from that catalog. Keep attribute-only XAML directives separate because their resolution semantics differ.
Additional context
Identified during PR #50's hover-performance review. This refactor is intentionally separate from the latency/correctness fix to avoid expanding its risk and scope.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the completion-label/detail metadata, curated hover descriptions, and XAML-language directive quick-info implementations, then compare their overlapping markup-extension entries. Done means a shared descriptor catalog provides the common identity and semantics for the listed extensions, completion and hover project their own surfaces from it, and attribute-only directives remain separate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100