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.
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, andx: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.