We currently handle textDocument/prepareTypeHierarchy request and typeHierarchy/supertypes requests but the structure of the index doesn't allow for easy descendants lookup.
A partial solution would be to iterate over the whole linearization hash, though since the linearization is lazy, we will be missing entries. It would be better to think about a new data structure to support this feature.
Description
Follow up to https://github.com/Shopify/ruby-lsp/issues/1046 and https://github.com/Shopify/ruby-lsp/pull/2103.
We currently handle
textDocument/prepareTypeHierarchy request
andtypeHierarchy/supertypes
requests but the structure of the index doesn't allow for easy descendants lookup.A partial solution would be to iterate over the whole linearization hash, though since the linearization is lazy, we will be missing entries. It would be better to think about a new data structure to support this feature.
LSP specification: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#typeHierarchy_subtypes.