Repository: haxefoundation/intellij-haxe
Issue: Wrong icon displayed for completions

The Haxe-logo version of the completions icon is being displayed for completion results originating from the index completion results.  This should only show for completions provided by the compiler.

Version: master branch at 96338fbd0946e3a99fe9818af937c9b65bcdbafd

Changed files:
src/common/com/intellij/plugins/haxe/HaxeComponentType.java
src/common/com/intellij/plugins/haxe/ide/index/HaxeClassInfo.java
src/common/com/intellij/plugins/haxe/ide/completion/HaxeClassNameCompletionContributor.java

diff --git a/src/common/com/intellij/plugins/haxe/HaxeComponentType.java b/src/common/com/intellij/plugins/haxe/HaxeComponentType.java
index b7525c37..e7f79eaf 100644
--- a/src/common/com/intellij/plugins/haxe/HaxeComponentType.java
+++ b/src/common/com/intellij/plugins/haxe/HaxeComponentType.java
@@ -34,16 +34,28 @@ public enum HaxeComponentType {
     public Icon getIcon() {
       return icons.HaxeIcons.C_Haxe;
     }
+    @Override
+    public Icon getCompletionIcon() {
+      return AllIcons.Nodes.Class;
+    }
   }, ENUM(1) {
     @Override
     public Icon getIcon() {
       return icons.HaxeIcons.E_Haxe;
     }
+    @Override
+    public Icon getCompletionIcon() {
+      return AllIcons.Nodes.Enum;
+    }
   }, INTERFACE(2) {
     @Override
     public Icon getIcon() {
       return icons.HaxeIcons.I_Haxe;
     }
+    @Override
+    public Icon getCompletionIcon() {
+      return AllIcons.Nodes.Interface;
+    }
   }, FUNCTION(3) {
     @Override
     public Icon getIcon() {
@@ -93,6 +105,10 @@ public enum HaxeComponentType {
 
   public abstract Icon getIcon();
 
+  public Icon getCompletionIcon() {
+    return getIcon();
+  }
+
   public static boolean isVariable(@Nullable HaxeComponentType type) {
     return type == VARIABLE || type == PARAMETER || type == FIELD;
   }
diff --git a/src/common/com/intellij/plugins/haxe/ide/completion/HaxeClassNameCompletionContributor.java b/src/common/com/intellij/plugins/haxe/ide/completion/HaxeClassNameCompletionContributor.java
index ef468ddd..41824037 100644
--- a/src/common/com/intellij/plugins/haxe/ide/completion/HaxeClassNameCompletionContributor.java
+++ b/src/common/com/intellij/plugins/haxe/ide/completion/HaxeClassNameCompletionContributor.java
@@ -187,7 +187,7 @@ public class HaxeClassNameCompletionContributor extends CompletionContributor {
         String name = pair.getFirst();
         final String qName = HaxeResolveUtil.joinQName(info.getValue(), name);
         myResultSet.addElement(LookupElementBuilder.create(qName, name)
-                                 .withIcon(info.getIcon())
+                                 .withIcon(info.getCompletionIcon())
                                  .withTailText(" " + info.getValue(), true)
                                  .withInsertHandler(myInsertHandler));
       }
diff --git a/src/common/com/intellij/plugins/haxe/ide/index/HaxeClassInfo.java b/src/common/com/intellij/plugins/haxe/ide/index/HaxeClassInfo.java
index c360b88e..9c6f867f 100644
--- a/src/common/com/intellij/plugins/haxe/ide/index/HaxeClassInfo.java
+++ b/src/common/com/intellij/plugins/haxe/ide/index/HaxeClassInfo.java
@@ -50,6 +50,11 @@ public class HaxeClassInfo {
     return type == null ? null : type.getIcon();
   }
 
+  @Nullable
+  public Icon getCompletionIcon() {
+    return type == null ? null : type.getCompletionIcon();
+  }
+
   private int getTypeKey() {
     return type != null ? type.getKey() : -1;
   }