The exported API here: https://github.com/eclipse-cdt-cloud/vscode-clangd/blob/main/src/extension.ts#L18
is an instance of a single ClangdProjectService class. Exposing this as the root API means it is not possible to expose other features without adding them to the ClangdProjectService itself, creating a very ugly interface.
For example, this PR: clangd#575 is exposing access to the AST and wont play nicely with the changes in this fork.
Could you consider changing the exports to be more extensible, possibly employing the same versioned API in the PR mentioned above?
The exported API here: https://github.com/eclipse-cdt-cloud/vscode-clangd/blob/main/src/extension.ts#L18
is an instance of a single
ClangdProjectServiceclass. Exposing this as the root API means it is not possible to expose other features without adding them to theClangdProjectServiceitself, creating a very ugly interface.For example, this PR: clangd#575 is exposing access to the AST and wont play nicely with the changes in this fork.
Could you consider changing the exports to be more extensible, possibly employing the same versioned API in the PR mentioned above?