1 package net.mograsim.plugin.asm.editor.rules;
\r
3 import java.util.Set;
\r
5 import org.eclipse.jface.text.rules.IToken;
\r
6 import org.eclipse.jface.text.rules.IWordDetector;
\r
7 import org.eclipse.jface.text.rules.WordRule;
\r
9 import net.mograsim.plugin.AsmOps;
\r
11 public class InstructionRule extends WordRule
\r
13 public InstructionRule(IToken defaultToken)
\r
15 this(defaultToken, false);
\r
18 public InstructionRule(IToken defaultToken, boolean ignoreCase)
\r
20 super(new InstructionDetector(), defaultToken, ignoreCase);
\r
21 AsmOps.addListener(this::update);
\r
24 void update(Set<String> words)
\r
27 words.forEach(s -> fWords.put(s, fDefaultToken));
\r
30 static class InstructionDetector implements IWordDetector
\r
33 public boolean isWordStart(char c)
\r
35 return Character.isJavaIdentifierStart(c);
\r
39 public boolean isWordPart(char c)
\r
41 return Character.isJavaIdentifierPart(c);
\r