Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/RPC/CocoonService/Provider/
RegisterSemanticTokensProvider.rs

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