Mountain/RPC/CocoonService/GenericNotification/LanguageProviders/
Dispatch.rs1use CommonLibrary::LanguageFeature::DTO::ProviderType::ProviderType;
5use serde_json::Value;
6
7use crate::RPC::CocoonService::CocoonServiceImpl;
8
9pub fn Fn(Method:&str, Params:Value, Service:&CocoonServiceImpl) -> bool {
10 let ProvType = match Method {
11 "register_hover_provider" => ProviderType::Hover,
12
13 "register_completion_item_provider" => ProviderType::Completion,
14
15 "register_definition_provider" => ProviderType::Definition,
16
17 "register_reference_provider" => ProviderType::References,
18
19 "register_code_actions_provider" => ProviderType::CodeAction,
20
21 "register_document_highlight_provider" => ProviderType::DocumentHighlight,
22
23 "register_document_symbol_provider" => ProviderType::DocumentSymbol,
24
25 "register_workspace_symbol_provider" => ProviderType::WorkspaceSymbol,
26
27 "register_rename_provider" => ProviderType::Rename,
28
29 "register_document_formatting_provider" => ProviderType::DocumentFormatting,
30
31 "register_document_range_formatting_provider" => ProviderType::DocumentRangeFormatting,
32
33 "register_on_type_formatting_provider" => ProviderType::OnTypeFormatting,
34
35 "register_signature_help_provider" => ProviderType::SignatureHelp,
36
37 "register_code_lens_provider" => ProviderType::CodeLens,
38
39 "register_folding_range_provider" => ProviderType::FoldingRange,
40
41 "register_selection_range_provider" => ProviderType::SelectionRange,
42
43 "register_semantic_tokens_provider" => ProviderType::SemanticTokens,
44
45 "register_inlay_hints_provider" => ProviderType::InlayHint,
46
47 "register_type_hierarchy_provider" => ProviderType::TypeHierarchy,
48
49 "register_call_hierarchy_provider" => ProviderType::CallHierarchy,
50
51 "register_linked_editing_range_provider" => ProviderType::LinkedEditingRange,
52
53 "register_document_link_provider" => ProviderType::DocumentLink,
54
55 "register_color_provider" => ProviderType::Color,
56
57 "register_implementation_provider" => ProviderType::Implementation,
58
59 "register_type_definition_provider" => ProviderType::TypeDefinition,
60
61 "register_declaration_provider" => ProviderType::Declaration,
62
63 "register_evaluatable_expression_provider" => ProviderType::EvaluatableExpression,
64
65 "register_inline_values_provider" => ProviderType::InlineValues,
66
67 "register_inline_completion_item_provider" => ProviderType::InlineCompletion,
68
69 _ => return false,
70 };
71
72 super::Register::Fn(Params, Service, ProvType);
73
74 true
75}