From 98c8849638be10e508b6b81099b969eaec94242d Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Fri, 5 Dec 2014 16:07:15 +0300 Subject: [PATCH] Emmet: mark emmet completion items with custom tail text --- .../template/emmet/ZenCodingTemplate.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/xml/impl/src/com/intellij/codeInsight/template/emmet/ZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/emmet/ZenCodingTemplate.java index 4b22ccf7e3db..9b423d61c0ce 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/emmet/ZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/emmet/ZenCodingTemplate.java @@ -19,6 +19,7 @@ import com.intellij.application.options.emmet.EmmetOptions; import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.completion.CompletionParameters; import com.intellij.codeInsight.completion.CompletionResultSet; +import com.intellij.codeInsight.lookup.LookupElementPresentation; import com.intellij.codeInsight.template.*; import com.intellij.codeInsight.template.emmet.filters.SingleLineEmmetFilter; import com.intellij.codeInsight.template.emmet.filters.ZenCodingFilter; @@ -510,8 +511,8 @@ public class ZenCodingTemplate extends CustomLiveTemplateBase { } }).isEmpty(); - CompletionResultSet resultSet = result.withPrefixMatcher(result.getPrefixMatcher().cloneWithPrefix(templatePrefix)); - resultSet.restartCompletionOnPrefixChange(StandardPatterns.string().startsWith(templatePrefix)); + result = result.withPrefixMatcher(result.getPrefixMatcher().cloneWithPrefix(templatePrefix)); + result.restartCompletionOnPrefixChange(StandardPatterns.string().startsWith(templatePrefix)); if (!regularTemplateWithSamePrefixExists) { // exclude perfect matches with existing templates because LiveTemplateCompletionContributor handles it final Collection extraFilters = ContainerUtil.newLinkedList(new SingleLineEmmetFilter()); @@ -526,8 +527,17 @@ public class ZenCodingTemplate extends CustomLiveTemplateBase { template.setKey(templatePrefix); template.setDescription(template.getTemplateText()); - resultSet.addElement(new CustomLiveTemplateLookupElement(this, template.getKey(), template.getKey(), template.getDescription(), - !LiveTemplateCompletionContributor.shouldShowAllTemplates(), true)); + final CustomLiveTemplateLookupElement lookupElement = + new CustomLiveTemplateLookupElement(this, template.getKey(), template.getKey(), template.getDescription(), + !LiveTemplateCompletionContributor.shouldShowAllTemplates(), true) { + @Override + public void renderElement(LookupElementPresentation presentation) { + super.renderElement(presentation); + presentation.setTailText("\temmet abbreviation", true); + } + }; + + result.addElement(lookupElement); } } }