xref: /llvm-project/clang-tools-extra/clangd/index/remote/Service.proto (revision 61fe67a4017375fd675f75652e857e837f77fa51)
1e6c1c3f9SSam McCall//===--- Service.proto - Remote index service definition ------------------===//
2e6c1c3f9SSam McCall//
3e6c1c3f9SSam McCall// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4e6c1c3f9SSam McCall// See https://llvm.org/LICENSE.txt for license information.
5e6c1c3f9SSam McCall// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6e6c1c3f9SSam McCall//
7e6c1c3f9SSam McCall//===----------------------------------------------------------------------===//
8e6c1c3f9SSam McCall
9e6c1c3f9SSam McCallsyntax = "proto2";
10e6c1c3f9SSam McCall
11e6c1c3f9SSam McCallpackage clang.clangd.remote.v1;
12e6c1c3f9SSam McCall
13e6c1c3f9SSam McCallimport "Index.proto";
14e6c1c3f9SSam McCall
15e6c1c3f9SSam McCall// Semantics of SymbolIndex match clangd::SymbolIndex with all required
16e6c1c3f9SSam McCall// structures corresponding to their clangd::* counterparts.
17e6c1c3f9SSam McCallservice SymbolIndex {
18e6c1c3f9SSam McCall  rpc Lookup(LookupRequest) returns (stream LookupReply) {}
19e6c1c3f9SSam McCall
20e6c1c3f9SSam McCall  rpc FuzzyFind(FuzzyFindRequest) returns (stream FuzzyFindReply) {}
21e6c1c3f9SSam McCall
22e6c1c3f9SSam McCall  rpc Refs(RefsRequest) returns (stream RefsReply) {}
23e6c1c3f9SSam McCall
24*61fe67a4SNathan Ridge  rpc ContainedRefs(ContainedRefsRequest) returns (stream ContainedRefsReply) {}
25*61fe67a4SNathan Ridge
26e6c1c3f9SSam McCall  rpc Relations(RelationsRequest) returns (stream RelationsReply) {}
27e6c1c3f9SSam McCall}
28