aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/completion/completion_item.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide/src/completion/completion_item.rs')
-rw-r--r--crates/ra_ide/src/completion/completion_item.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/crates/ra_ide/src/completion/completion_item.rs b/crates/ra_ide/src/completion/completion_item.rs
index cfb7c1e38..d1a4dd881 100644
--- a/crates/ra_ide/src/completion/completion_item.rs
+++ b/crates/ra_ide/src/completion/completion_item.rs
@@ -125,6 +125,32 @@ pub enum CompletionItemKind {
125 Attribute, 125 Attribute,
126} 126}
127 127
128impl CompletionItemKind {
129 pub fn tag(&self) -> String {
130 let tag = match self {
131 CompletionItemKind::Snippet => "sn",
132 CompletionItemKind::Keyword => "kw",
133 CompletionItemKind::Module => "md",
134 CompletionItemKind::Function => "fn",
135 CompletionItemKind::BuiltinType => "bt",
136 CompletionItemKind::Struct => "st",
137 CompletionItemKind::Enum => "en",
138 CompletionItemKind::EnumVariant => "ev",
139 CompletionItemKind::Binding => "bn",
140 CompletionItemKind::Field => "fd",
141 CompletionItemKind::Static => "sc",
142 CompletionItemKind::Const => "ct",
143 CompletionItemKind::Trait => "tt",
144 CompletionItemKind::TypeAlias => "ta",
145 CompletionItemKind::Method => "me",
146 CompletionItemKind::TypeParam => "tp",
147 CompletionItemKind::Macro => "ma",
148 CompletionItemKind::Attribute => "at",
149 };
150 tag.to_owned()
151 }
152}
153
128#[derive(Debug, PartialEq, Eq, Copy, Clone)] 154#[derive(Debug, PartialEq, Eq, Copy, Clone)]
129pub(crate) enum CompletionKind { 155pub(crate) enum CompletionKind {
130 /// Parser-based keyword completion. 156 /// Parser-based keyword completion.