Skip to main content

Mountain/RPC/CocoonService/Provider/
ProvideWorkspaceSymbols.rs

1#![allow(non_snake_case)]
2
3//! Forward a workspace-symbols query to the registered provider.
4
5use tonic::{Response, Status};
6use CommonLibrary::LanguageFeature::LanguageFeatureProviderRegistry::LanguageFeatureProviderRegistry;
7
8use crate::{
9	RPC::CocoonService::CocoonServiceImpl,
10	Vine::Generated::{ProvideWorkspaceSymbolsRequest, ProvideWorkspaceSymbolsResponse},
11	dev_log,
12};
13
14pub async fn Fn(
15	Service:&CocoonServiceImpl,
16	Request:ProvideWorkspaceSymbolsRequest,
17) -> Result<Response<ProvideWorkspaceSymbolsResponse>, Status> {
18	dev_log!(
19		"cocoon",
20		"[CocoonService] Providing workspace symbols for query: {}",
21		Request.query
22	);
23	match Service.environment.ProvideWorkspaceSymbols(Request.query).await {
24		Ok(_) => Ok(Response::new(ProvideWorkspaceSymbolsResponse::default())),
25		Err(Error) => Err(Status::internal(format!("Workspace symbols failed: {}", Error))),
26	}
27}