feat: implement multi-process LSP server architecture (#364)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ykiko
2026-03-22 23:37:08 +08:00
committed by GitHub
parent 73afcfbb58
commit 020c2cb3cc
61 changed files with 4231 additions and 674 deletions

View File

@@ -9,7 +9,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
TEST_SUITE(CodeCompletion) {

View File

@@ -9,7 +9,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
TEST_SUITE(DocumentLink) {
@@ -24,8 +24,8 @@ void run(llvm::StringRef source) {
}
auto to_local_range(const protocol::Range& range) -> LocalSourceRange {
eventide::language::PositionMapper converter(tester.unit->interested_content(),
feature::PositionEncoding::UTF8);
feature::PositionMapper converter(tester.unit->interested_content(),
feature::PositionEncoding::UTF8);
return LocalSourceRange(converter.to_offset(range.start), converter.to_offset(range.end));
}

View File

@@ -11,7 +11,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
TEST_SUITE(DocumentSymbol) {

View File

@@ -9,7 +9,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
TEST_SUITE(FoldingRange) {
@@ -39,8 +39,8 @@ void run(llvm::StringRef code) {
}
auto to_local_range(const protocol::FoldingRange& range) -> LocalSourceRange {
eventide::language::PositionMapper converter(tester.unit->interested_content(),
feature::PositionEncoding::UTF8);
feature::PositionMapper converter(tester.unit->interested_content(),
feature::PositionEncoding::UTF8);
auto start = protocol::Position{
.line = range.start_line,

View File

@@ -8,7 +8,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
TEST_SUITE(Hover) {

View File

@@ -8,7 +8,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
TEST_SUITE(InlayHint) {
@@ -25,8 +25,8 @@ void run(llvm::StringRef code, std::source_location location = std::source_locat
hints = feature::inlay_hints(*tester.unit, range, {}, feature::PositionEncoding::UTF8);
hints_map.clear();
eventide::language::PositionMapper converter(tester.unit->interested_content(),
feature::PositionEncoding::UTF8);
feature::PositionMapper converter(tester.unit->interested_content(),
feature::PositionEncoding::UTF8);
for(auto& hint: hints) {
hints_map[converter.to_offset(hint.position)] = hint;
}

View File

@@ -13,7 +13,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
struct DecodedToken {
LocalSourceRange range;

View File

@@ -6,7 +6,7 @@ namespace clice::testing {
namespace {
namespace protocol = eventide::language::protocol;
namespace protocol = eventide::ipc::protocol;
TEST_SUITE(SignatureHelp) {