Skip to main content

Mountain/RPC/CocoonService/Provider/
RegisterSemanticTokensProvider.rs

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