swiftlang / swift-docc-render

Web renderer for Swift-DocC documentation.
Apache License 2.0
315 stars 53 forks source link

Creating an `IndexStore` for Quick Navigation #889

Closed hqhhuang closed 2 months ago

hqhhuang commented 3 months ago

Bug/issue #, if applicable: rdar://134272215

Summary

  1. This PR creates a new IndexStore. The eventual goal is to share this store between the navigator and Quick Navigation. But for this PR, only Quick Navigation will be getting data from the new store.

  2. Additionally, the index data is fetched from the page view instead.

  3. Moves IncludedArchiveIdentifiers data from AppStore to the new IndexStore.

Testing

Manual testing, verify that Quick Nav still behaves as expected. I've added some tests. I'm working on adding more.

Checklist

Make sure you check off the following items. If they cannot be completed, provide a reason.

hqhhuang commented 3 months ago

@swift-ci test

marinaaisa commented 3 months ago

I've been checking the code and testing Quick Navigation and it's looking good to me!

The only thing that I don't like in this current state is that we are duplicating the NavigatorDataProvider computed properties into the indexProvider but I don't see any other way of not doing it until we get rid of the NavigatorDataProvider in the next step.