1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 01:15:29 +02:00

bug 404599: Makefile Editor does not sense that # is escaped (\#), still colors rest of line as comment

This commit is contained in:
Andrew Gvozdev 2013-03-29 00:31:27 -04:00
parent 3424f482ba
commit eafce4c179

View file

@ -15,6 +15,7 @@ import java.util.List;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.rules.EndOfLineRule;
import org.eclipse.jface.text.rules.ICharacterScanner;
import org.eclipse.jface.text.rules.IPredicateRule;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
@ -46,7 +47,22 @@ public class MakefilePartitionScanner extends RuleBasedPartitionScanner {
// Add rule for single line comments.
rules.add(new EndOfLineRule("#", tComment, '\\', true)); //$NON-NLS-1$
EndOfLineRule commentRule = new EndOfLineRule("#", tComment, '\\', true) { //$NON-NLS-1$
@Override
protected IToken doEvaluate(ICharacterScanner scanner, boolean resume) {
int c = scanner.read();
if (c == fEscapeCharacter) {
c = scanner.read();
if (c == fStartSequence[0]) {
return Token.UNDEFINED;
}
scanner.unread();
}
scanner.unread();
return super.doEvaluate(scanner, resume);
}
};
rules.add(commentRule);
IPredicateRule[] result = new IPredicateRule[rules.size()];
rules.toArray(result);