|
1 | 1 | use serde::{Deserialize, Serialize}; |
2 | 2 |
|
3 | 3 | use crate::{ |
4 | | - Command, Documentation, MarkupKind, PartialResultParams, TagSupport, |
| 4 | + Command, Documentation, MarkupKind, PartialResultParams, SymbolKind, TagSupport, |
5 | 5 | TextDocumentPositionParams, TextDocumentRegistrationOptions, TextEdit, WorkDoneProgressOptions, |
6 | 6 | WorkDoneProgressParams, |
7 | 7 | }; |
@@ -55,6 +55,41 @@ impl CompletionItemKind { |
55 | 55 | } |
56 | 56 | } |
57 | 57 |
|
| 58 | +impl CompletionItemKind { |
| 59 | + #[inline] |
| 60 | + #[must_use] |
| 61 | + pub const fn as_str(self) -> Option<&'static str> { |
| 62 | + match self { |
| 63 | + Self::TEXT => Some("text"), |
| 64 | + Self::METHOD => SymbolKind::METHOD.as_str(), |
| 65 | + Self::FUNCTION => SymbolKind::FUNCTION.as_str(), |
| 66 | + Self::CONSTRUCTOR => SymbolKind::CONSTRUCTOR.as_str(), |
| 67 | + Self::FIELD => SymbolKind::FIELD.as_str(), |
| 68 | + Self::VARIABLE => SymbolKind::VARIABLE.as_str(), |
| 69 | + Self::CLASS => SymbolKind::CLASS.as_str(), |
| 70 | + Self::INTERFACE => SymbolKind::INTERFACE.as_str(), |
| 71 | + Self::MODULE => SymbolKind::MODULE.as_str(), |
| 72 | + Self::PROPERTY => SymbolKind::PROPERTY.as_str(), |
| 73 | + Self::UNIT => Some("unit"), |
| 74 | + Self::VALUE => Some("value"), |
| 75 | + Self::ENUM => SymbolKind::ENUM.as_str(), |
| 76 | + Self::KEYWORD => Some("keyword"), |
| 77 | + Self::SNIPPET => Some("snippet"), |
| 78 | + Self::COLOR => Some("color"), |
| 79 | + Self::FILE => SymbolKind::FILE.as_str(), |
| 80 | + Self::REFERENCE => Some("reference"), |
| 81 | + Self::FOLDER => Some("folder"), |
| 82 | + Self::ENUM_MEMBER => SymbolKind::ENUM_MEMBER.as_str(), |
| 83 | + Self::CONSTANT => SymbolKind::CONSTANT.as_str(), |
| 84 | + Self::STRUCT => SymbolKind::STRUCT.as_str(), |
| 85 | + Self::EVENT => SymbolKind::EVENT.as_str(), |
| 86 | + Self::OPERATOR => SymbolKind::OPERATOR.as_str(), |
| 87 | + Self::TYPE_PARAMETER => SymbolKind::TYPE_PARAMETER.as_str(), |
| 88 | + _ => None, |
| 89 | + } |
| 90 | + } |
| 91 | +} |
| 92 | + |
58 | 93 | #[derive(Debug, Eq, PartialEq, Clone, Default, Deserialize, Serialize)] |
59 | 94 | #[serde(rename_all = "camelCase")] |
60 | 95 | pub struct CompletionItemCapability { |
|
0 commit comments