Skip to main content

Mountain/RPC/CocoonService/Provider/
RegisterSemanticTokensProvider.rs

1
2//! Register a Cocoon-side semantic-tokens provider. Uses the
3//! semantic-tokens-specific request shape (carries the legend).
4
5use tonic::{Response, Status};
6use CommonLibrary::LanguageFeature::DTO::ProviderType::ProviderType;
7
8use crate::{
9	RPC::CocoonService::CocoonServiceImpl,
10	Vine::Generated::{Empty, RegisterSemanticTokensProviderRequest},
11	dev_log,
12};
13
14pub async fn Fn(
15	Service:&CocoonServiceImpl,
16
17	Request:RegisterSemanticTokensProviderRequest,
18) -> Result<Response<Empty>, Status> {
19	dev_log!("cocoon", "[CocoonService] Registering Semantic Tokens Provider");
20
21	Service.RegisterProvider(
22		Request.handle,
23		ProviderType::SemanticTokens,
24		&Request.language_selector,
25		&Request.extension_id,
26	);
27
28	Ok(Response::new(Empty {}))
29}