Skip to main content

Mountain/RPC/CocoonService/Provider/
ProvideWorkspaceSymbols.rs

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