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
18	Request:RegisterSemanticTokensProviderRequest,
19) -> Result<Response<Empty>, Status> {
20	dev_log!("cocoon", "[CocoonService] Registering Semantic Tokens Provider");
21
22	Service.RegisterProvider(
23		Request.handle,
24		ProviderType::SemanticTokens,
25		&Request.language_selector,
26		&Request.extension_id,
27	);
28
29	Ok(Response::new(Empty {}))
30}