increase keyword priority in custom file type lexer (IDEA-178179)

This commit is contained in:
peter
2017-08-31 16:51:56 +02:00
parent 824bcb3d0f
commit 707ef5cba9
2 changed files with 10 additions and 2 deletions
@@ -68,6 +68,7 @@ public final class CustomFileTypeLexer extends AbstractCustomLexer {
if (multilineCommentParser != null) {
tokenParsers.add(multilineCommentParser);
}
tokenParsers.add(keywordParser);
tokenParsers.add(quotedStringParser);
tokenParsers.add(quotedStringParser2);
tokenParsers.add(new PunctuationParser());
@@ -75,7 +76,6 @@ public final class CustomFileTypeLexer extends AbstractCustomLexer {
tokenParsers.add(hexNumberParser);
}
tokenParsers.add(numberParser);
tokenParsers.add(keywordParser);
tokenParsers.add(identifierParser);
if (table.isHasBraces()) {
@@ -394,10 +394,12 @@ CHARACTER (')')
SyntaxTable table = new SyntaxTable()
table.addKeyword1("a*")
table.addKeyword1("b-c")
table.addKeyword1(":")
table.addKeyword2("d#")
table.addKeyword2("e")
table.addKeyword2("foo{}")
doTest table, 'a* b-c d# e- e foo{}', '''\
table.addKeyword3("foldl'")
doTest table, "a* b-c d# e- e foo{} : foldl' foo", '''\
KEYWORD_1 ('a*')
WHITESPACE (' ')
KEYWORD_1 ('b-c')
@@ -410,6 +412,12 @@ WHITESPACE (' ')
KEYWORD_2 ('e')
WHITESPACE (' ')
KEYWORD_2 ('foo{}')
WHITESPACE (' ')
KEYWORD_1 (':')
WHITESPACE (' ')
KEYWORD_3 ('foldl'')
WHITESPACE (' ')
IDENTIFIER ('foo')
'''
}