From d9f6ed634ef7e217657ed9c743cc03252920ef1e Mon Sep 17 00:00:00 2001
From: codiacdev <150445197+codiacdev@users.noreply.github.com>
Date: Thu, 23 Nov 2023 20:53:33 +0100
Subject: [PATCH] added: rule to objectpascal lexer (#888)
* added: another rule for objectpascal lexer
* updated: objectpascal lexer testdata
* fixed: processing of control (escape) characters
* updated: test data for objectpascal lexer
---
lexers/embedded/objectpascal.xml | 8 ++++++--
lexers/testdata/objectpascal.actual | 2 ++
lexers/testdata/objectpascal.expected | 13 +++++++++----
3 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/lexers/embedded/objectpascal.xml b/lexers/embedded/objectpascal.xml
index aac82f916..12af64b9d 100644
--- a/lexers/embedded/objectpascal.xml
+++ b/lexers/embedded/objectpascal.xml
@@ -28,7 +28,7 @@
-
+
@@ -50,8 +50,12 @@
+
+
+
+
-
+
diff --git a/lexers/testdata/objectpascal.actual b/lexers/testdata/objectpascal.actual
index cb49e257d..f80a5a432 100644
--- a/lexers/testdata/objectpascal.actual
+++ b/lexers/testdata/objectpascal.actual
@@ -83,6 +83,8 @@ var
{-NODEFINE string 'String' } {$OBJTYPENAME string 'NUnicodeString'} { defined in ustring.h }
{-EXTERNALSYM ShortInt 'signed char' } {-OBJTYPENAME ShortInt 'Bzc'}
+(*$hints off*) // another valid compiler directive
+
const
CLineBreak = {$IFDEF POSIX} _AnsiStr(#10) {$ENDIF}
{$IFDEF MSWINDOWS} _AnsiStr(#13#10) {$ENDIF};
diff --git a/lexers/testdata/objectpascal.expected b/lexers/testdata/objectpascal.expected
index 189e79a38..67ea6fac4 100644
--- a/lexers/testdata/objectpascal.expected
+++ b/lexers/testdata/objectpascal.expected
@@ -409,6 +409,11 @@
{"type":"TextWhitespace","value":" "},
{"type":"CommentPreproc","value":"{-OBJTYPENAME ShortInt 'Bzc'}"},
{"type":"Text","value":"\n\n"},
+ {"type":"CommentPreproc","value":"(*$hints off*)"},
+ {"type":"TextWhitespace","value":" "},
+ {"type":"CommentSingle","value":"// another valid compiler directive"},
+ {"type":"TextWhitespace","value":"\n"},
+ {"type":"Text","value":"\n"},
{"type":"KeywordReserved","value":"const"},
{"type":"Text","value":"\n"},
{"type":"TextWhitespace","value":" "},
@@ -420,7 +425,7 @@
{"type":"TextWhitespace","value":" "},
{"type":"Text","value":"_AnsiStr"},
{"type":"Operator","value":"("},
- {"type":"LiteralNumberHex","value":"#10"},
+ {"type":"LiteralStringEscape","value":"#10"},
{"type":"Operator","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"CommentPreproc","value":"{$ENDIF}"},
@@ -430,7 +435,7 @@
{"type":"TextWhitespace","value":" "},
{"type":"Text","value":"_AnsiStr"},
{"type":"Operator","value":"("},
- {"type":"LiteralNumberHex","value":"#13#10"},
+ {"type":"LiteralStringEscape","value":"#13#10"},
{"type":"Operator","value":")"},
{"type":"TextWhitespace","value":" "},
{"type":"CommentPreproc","value":"{$ENDIF}"},
@@ -1725,7 +1730,7 @@
{"type":"TextWhitespace","value":" "},
{"type":"Text","value":"Ord"},
{"type":"Operator","value":"("},
- {"type":"LiteralNumberHex","value":"#10"},
+ {"type":"LiteralStringEscape","value":"#10"},
{"type":"Operator","value":")"},
{"type":"Punctuation","value":"."},
{"type":"Text","value":"ToExtended"},
@@ -1947,7 +1952,7 @@
{"type":"Operator","value":"%"},
{"type":"Text","value":"fs"},
{"type":"Operator","value":":("},
- {"type":"LiteralNumberHex","value":"0x2c"},
+ {"type":"LiteralStringEscape","value":"0x2c"},
{"type":"Operator","value":")"},
{"type":"Punctuation","value":","},
{"type":"Operator","value":"%"},