lib/rouge/lexers/pascal.rb in rouge-3.29.0 vs lib/rouge/lexers/pascal.rb in rouge-3.30.0
- old
+ new
@@ -5,11 +5,11 @@
module Lexers
class Pascal < RegexLexer
tag 'pascal'
title "Pascal"
desc 'a procedural programming language commonly used as a teaching language.'
- filenames '*.pas', '*.lpr'
+ filenames '*.pas', '*.lpr', '*.pp'
mimetypes 'text/x-pascal'
id = /@?[_a-z]\w*/i
@@ -53,9 +53,10 @@
state :root do
mixin :whitespace
rule %r{((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?}, Num
+ rule %r/\$[0-9A-Fa-f]+/, Num::Hex
rule %r{[~!@#\$%\^&\*\(\)\+`\-={}\[\]:;<>\?,\.\/\|\\]}, Punctuation
rule %r{'([^']|'')*'}, Str
rule %r/(true|false|nil)\b/i, Name::Builtin
rule %r/\b(#{keywords.join('|')})\b/i, Keyword
rule %r/\b(#{keywords_type.join('|')})\b/i, Keyword::Type