//===--- Service.proto - Remote index service definition ------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

syntax = "proto2";

package clang.clangd.remote.v1;

import "Index.proto";

// Semantics of SymbolIndex match clangd::SymbolIndex with all required
// structures corresponding to their clangd::* counterparts.
service SymbolIndex {
  rpc Lookup(LookupRequest) returns (stream LookupReply) {}

  rpc FuzzyFind(FuzzyFindRequest) returns (stream FuzzyFindReply) {}

  rpc Refs(RefsRequest) returns (stream RefsReply) {}

  rpc ContainedRefs(ContainedRefsRequest) returns (stream ContainedRefsReply) {}

  rpc Relations(RelationsRequest) returns (stream RelationsReply) {}
}
