Fixed Asm Editor
[Mograsim.git] / net.mograsim.plugin.core / src / net / mograsim / plugin / asm / editor / rules / InstructionRule.java
index 730305d..cbff408 100644 (file)
@@ -1,5 +1,6 @@
 package net.mograsim.plugin.asm.editor.rules;\r
 \r
+import java.util.Objects;\r
 import java.util.Set;\r
 \r
 import org.eclipse.jface.text.rules.IToken;\r
@@ -10,21 +11,24 @@ import net.mograsim.plugin.AsmOps;
 \r
 public class InstructionRule extends WordRule\r
 {\r
-       public InstructionRule(IToken defaultToken)\r
+       private final IToken instToken;\r
+\r
+       public InstructionRule(IToken defaultToken, IToken instToken)\r
        {\r
-               this(defaultToken, false);\r
+               this(defaultToken, instToken, false);\r
        }\r
 \r
-       public InstructionRule(IToken defaultToken, boolean ignoreCase)\r
+       public InstructionRule(IToken defaultToken, IToken instToken, boolean ignoreCase)\r
        {\r
-               super(new InstructionDetector(), defaultToken, ignoreCase);\r
+               super(new InstructionDetector(), Objects.requireNonNull(defaultToken), ignoreCase);\r
+               this.instToken = Objects.requireNonNull(instToken);\r
                AsmOps.addListener(this::update);\r
        }\r
 \r
        void update(Set<String> words)\r
        {\r
                fWords.clear();\r
-               words.forEach(s -> fWords.put(s, fDefaultToken));\r
+               words.forEach(s -> fWords.put(s, instToken));\r
        }\r
 \r
        static class InstructionDetector implements IWordDetector\r