468e14d7e158f935ea41bf5ccecf725b6ff2acc2
Hover navigated with subschemas_for_path, which flattens every anyOf/oneOf branch into one list, and describe then merged their keywords into a single nonsensical fact block (a value that is a hex string OR "none" OR an integer OR an object showed type, enum, pattern, min/max, and required all at once). Split navigation from expansion in the matcher: subschemas_for_path keeps the flattened union for completion, while the new schemas_at_path returns the leaf schema without expanding its combinators. Make describe combinator-aware instead: it resolves internal $refs, merges allOf into one shape, and fans anyOf/oneOf out into a 'one of:' list, each branch on its own line. Bounded by depth and a variant cap against ref cycles. Key completion docs go through the same renderer, so a property whose schema is a union now documents its alternatives too.
Languages
Rust
100%