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
\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