This allows correctly resolving all optional dependencies as features (#14), by using cargos sparse registry index protocol.
Additionally this avoids the chained two step dependency fetching, but still requires making two requests.
Both the sparse index file and the api crate metadata have to be fetched, though that can be done in parallel.
The index files don't contain some fields currently used by crates.nvim:
ApiCrate
description
created
updated
downloads
homepage
documentation
repository
categories
keywords
ApiVersion
created
these are fetched separately from the crates.io api.
This allows correctly resolving all optional dependencies as features (#14), by using cargos sparse registry index protocol. Additionally this avoids the chained two step dependency fetching, but still requires making two requests. Both the sparse index file and the api crate metadata have to be fetched, though that can be done in parallel.
The index files don't contain some fields currently used by
crates.nvim
: ApiCratedescription
created
updated
downloads
homepage
documentation
repository
categories
keywords
ApiVersion
created
these are fetched separately from the crates.io api.