This is an archive of the discontinued LLVM Phabricator instance.

[clangd] Implement RepoScheme for portable URIs
AbandonedPublic

Authored by kbobyrev on Jun 22 2020, 11:56 PM.

Details

Reviewers
None
Summary

This is not a complete patch, but rather RFC: while the schema implementation
itself does not seem very complicated it likely requires changes to the way we
keep track of available schemas. Right now, llvm::Registry allows to
.instantiate() found schemas but non of the existing ones require parameters.
For the portable URI schema we do need to understand where the project is and
hence it would require some internal stored parameters.

One way of dealing with it would be exposing a singleton that would store those
parameters assuming there could be only one RepoScheme at a time. This does not
look very nice from my perspective since it'd be a part of some global state
but it would do the trick.

What do you think?

Diff Detail

Event Timeline

kbobyrev created this revision.Jun 22 2020, 11:56 PM
kbobyrev planned changes to this revision.Jun 24 2020, 3:07 AM
kbobyrev abandoned this revision.Jul 1 2020, 1:56 AM
kbobyrev removed a reviewer: sammccall.
kbobyrev removed subscribers: ormris, ilya-biryukov, MaskRay and 5 others.