aboutsummaryrefslogtreecommitdiff
path: root/lua/lexers/pascal.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lexers/pascal.lua')
-rw-r--r--lua/lexers/pascal.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/lua/lexers/pascal.lua b/lua/lexers/pascal.lua
index b0c9c8a..0435387 100644
--- a/lua/lexers/pascal.lua
+++ b/lua/lexers/pascal.lua
@@ -54,10 +54,14 @@ local pblock_comment = lexer.range('(*', '*)')
lex:add_rule('comment', token(lexer.COMMENT, line_comment + bblock_comment + pblock_comment))
-- Numbers.
-lex:add_rule('number', token(lexer.NUMBER, lexer.number * S('LlDdFf')^-1))
+local hex_num = '$' * lexer.xdigit^1
+local oct_num = '&' * lpeg.R('07')^1
+local bin_num = '%' * S('01')^1
+local integer = hex_num + oct_num + bin_num + lexer.integer
+lex:add_rule('number', token(lexer.NUMBER, lexer.float + integer))
-- Operators.
-lex:add_rule('operator', token(lexer.OPERATOR, S('.,;^@:=<>+-/*()[]')))
+lex:add_rule('operator', token(lexer.OPERATOR, '..' + S('.,;^@:=<>+-/*()[]')))
lexer.property['scintillua.comment'] = '//'