Commit Graph

7 Commits

Author SHA1 Message Date
Sam McCall f0e69272c6 [clangd] Shutdown sequence for modules, and doc threading requirements
This allows modules to do work on non-TUScheduler background threads.

Differential Revision: https://reviews.llvm.org/D96755
2021-02-22 23:14:47 +01:00
Sam McCall 7b83837af6 [clangd] Bind outgoing calls through LSPBinder too. NFC
The redundancy around work-done-progress is annoying but ok for now.

There's a weirdness with context lifetimes around outgoing method calls, which
I've preserved to keep this NFC. We should probably fix it though.

Differential Revision: https://reviews.llvm.org/D96717
2021-02-17 10:56:06 +01:00
Sam McCall b6e52d8fa7 [clangd] Give modules access to filesystem, scheduler, and index.
This finally makes it possible to implement useful modules.

Differential Revision: https://reviews.llvm.org/D96726
2021-02-16 15:30:08 +01:00
Sam McCall 40cc63ea6e [clangd] Modules can have a public API. NFC
Differential Revision: https://reviews.llvm.org/D96730
2021-02-16 15:22:57 +01:00
Sam McCall 4d700fb060 [clangd] Pass raw client capabilities to modules. NFC 2021-02-15 20:57:14 +01:00
Sam McCall 0b55ecce45 [clangd] Allow modules to bind LSP methods/notifications/commands
Differential Revision: https://reviews.llvm.org/D96625
2021-02-15 11:00:14 +01:00
Kadir Cetinkaya 2423a3863e
[clangd] Introduce Modules
Modules can be used to augment clangd's behaviours in various features.

Differential Revision: https://reviews.llvm.org/D96244
2021-02-12 18:37:16 +01:00