From fad15f79b1230b3076be515d6894c8919562809b Mon Sep 17 00:00:00 2001 From: mitchell Date: Sat, 25 Apr 2020 16:26:31 -0400 Subject: Reformatted Lua LPeg lexers and added new convenience functions and pattern. `lexer.range()` replaces `lexer.delimited_range()` and `lexer.nested_pair()`. `lexer.to_eol()` replaces `patt * lexer.nonnewline^0` constructs. `lexer.number` replaces `lexer.float + lexer.integer`. Also added unit tests for lexer functions. --- lexlua/css.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lexlua/css.lua') diff --git a/lexlua/css.lua b/lexlua/css.lua index 521540d2c..c11833750 100644 --- a/lexlua/css.lua +++ b/lexlua/css.lua @@ -124,8 +124,8 @@ lex:add_rule('color', token('color', word_match[[ lex:add_style('color', lexer.STYLE_NUMBER) -- Identifiers. -lex:add_rule('identifier', token(lexer.IDENTIFIER, lexer.alpha * - (lexer.alnum + S('_-'))^0)) +local word = lexer.alpha * (lexer.alnum + S('_-'))^0 +lex:add_rule('identifier', token(lexer.IDENTIFIER, word)) -- Pseudo classes and pseudo elements. lex:add_rule('pseudoclass', ':' * token('pseudoclass', word_match[[ @@ -141,12 +141,12 @@ lex:add_rule('pseudoelement', '::' * token('pseudoelement', word_match[[ lex:add_style('pseudoelement', lexer.STYLE_CONSTANT) -- Strings. -lex:add_rule('string', token(lexer.STRING, lexer.delimited_range("'") + - lexer.delimited_range('"'))) +local sq_str = lexer.range("'") +local dq_str = lexer.range('"') +lex:add_rule('string', token(lexer.STRING, sq_str + dq_str)) -- Comments. -lex:add_rule('comment', token(lexer.COMMENT, '/*' * (lexer.any - '*/')^0 * - P('*/')^-1)) +lex:add_rule('comment', token(lexer.COMMENT, lexer.range('/*', '*/'))) -- Numbers. local unit = token('unit', word_match[[ -- cgit v1.2.3