From bf03e917941a7b77d13e20ca656946e7b7873f02 Mon Sep 17 00:00:00 2001 From: JBontes Date: Sat, 9 Jul 2016 17:06:33 +0200 Subject: [PATCH 1/2] Update lang-pascal.js to include all reserved words and relevant directives All reserved words in object-pascal should be included in the pascal keyword list. Also included should be the non-obsolete directives. Source: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Fundamental_Syntactic_Elements as well as: http://wiki.freepascal.org/Reserved_words --- src/lang-pascal.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lang-pascal.js b/src/lang-pascal.js index 0d93ecd5..8d2ce8f5 100644 --- a/src/lang-pascal.js +++ b/src/lang-pascal.js @@ -37,9 +37,9 @@ PR.registerLangHandler( [PR.PR_PLAIN, /^\s+/, null, ' \r\n\t\xA0'] ], [ // fallthroughStylePatterns - // A cStyleComments comment (* *) or {} - [PR.PR_COMMENT, /^\(\*[\s\S]*?(?:\*\)|$)|^\{[\s\S]*?(?:\}|$)/, null], - [PR.PR_KEYWORD, /^(?:ABSOLUTE|AND|ARRAY|ASM|ASSEMBLER|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DIV|DO|DOWNTO|ELSE|END|EXTERNAL|FOR|FORWARD|FUNCTION|GOTO|IF|IMPLEMENTATION|IN|INLINE|INTERFACE|INTERRUPT|LABEL|MOD|NOT|OBJECT|OF|OR|PACKED|PROCEDURE|PROGRAM|RECORD|REPEAT|SET|SHL|SHR|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|VIRTUAL|WHILE|WITH|XOR)\b/i, null], + // A cStyleComments comment (* *) or {} or // to eoln + [PR.PR_COMMENT, /^(?:\/\/[^\r\n]*|^\(\*[\s\S]*?(?:\*\)|$)|^\{[\s\S]*?(?:\}|$)/, null], + [PR.PR_KEYWORD, /^(?:ABSOLUTE|ABSTRACT|AND|ARRAY|AS|ASM|ASSEMBLER|AUTOMATED|BEGIN|CASE|CDECL|CLASS|CONST|CONSTRUCTOR|DEFAULT|DELAYED|DEPRECATED|DESTRUCTOR|DISPID|DISPINTERFACE|DIV|DO|DOWNTO|DYNAMIC|ELSE|END|EXCEPT|EXPERIMENTAL|EXPORT|EXPORTS|EXTERNAL|FILE|FINAL|FINALIZATION|FINALLY|FOR|FORWARD|FUNCTION|HELPER|GOTO|IF|IMPLEMENTATION|IMPLEMENTS|IN|INDEX|INHERITED|INITIALIZATION|INLINE|INTERFACE|IS|INTERRUPT|LABEL|LIBRARY|MESSAGE|MOD|NIL|NODEFAULT|NOT|OBJECT|OF|OPERATOR|OR|OUT|OVERLOAD|OVERRIDE|PACKED|PASCAL|PLATFORM|PRIVATE|PROCEDURE|PROGRAM|PROPERTY|PROTECTED|PUBLIC|PUBLISHED|RAISE|READ|READONLY|RECORD|REFERENCE|REGISTER|REINTRODUCE|REPEAT|RESOURCESTRING|SAFECALL|SEALED|SET|SHL|SHR|STATIC|STDCALL|STRICT|STRING|STORED|THEN|THREADVAR|TO|TRY|TYPE|UNIT|UNSAFE|UNTIL|USES|VAR|VARARGS|VIRTUAL|WHILE|WINAPI|WITH|WRITE|WRITEONLY|XOR)\b/i, null], [PR.PR_LITERAL, /^(?:true|false|self|nil)/i, null], [PR.PR_PLAIN, /^[a-z][a-z0-9]*/i, null], // Literals .0, 0, 0.0 0E13 From 40ba3caafd483deedc42f71eff83b52028d74552 Mon Sep 17 00:00:00 2001 From: JBontes Date: Sat, 9 Jul 2016 17:15:31 +0200 Subject: [PATCH 2/2] Nil is already included in literals --- src/lang-pascal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang-pascal.js b/src/lang-pascal.js index 8d2ce8f5..70e55111 100644 --- a/src/lang-pascal.js +++ b/src/lang-pascal.js @@ -39,7 +39,7 @@ PR.registerLangHandler( [ // fallthroughStylePatterns // A cStyleComments comment (* *) or {} or // to eoln [PR.PR_COMMENT, /^(?:\/\/[^\r\n]*|^\(\*[\s\S]*?(?:\*\)|$)|^\{[\s\S]*?(?:\}|$)/, null], - [PR.PR_KEYWORD, /^(?:ABSOLUTE|ABSTRACT|AND|ARRAY|AS|ASM|ASSEMBLER|AUTOMATED|BEGIN|CASE|CDECL|CLASS|CONST|CONSTRUCTOR|DEFAULT|DELAYED|DEPRECATED|DESTRUCTOR|DISPID|DISPINTERFACE|DIV|DO|DOWNTO|DYNAMIC|ELSE|END|EXCEPT|EXPERIMENTAL|EXPORT|EXPORTS|EXTERNAL|FILE|FINAL|FINALIZATION|FINALLY|FOR|FORWARD|FUNCTION|HELPER|GOTO|IF|IMPLEMENTATION|IMPLEMENTS|IN|INDEX|INHERITED|INITIALIZATION|INLINE|INTERFACE|IS|INTERRUPT|LABEL|LIBRARY|MESSAGE|MOD|NIL|NODEFAULT|NOT|OBJECT|OF|OPERATOR|OR|OUT|OVERLOAD|OVERRIDE|PACKED|PASCAL|PLATFORM|PRIVATE|PROCEDURE|PROGRAM|PROPERTY|PROTECTED|PUBLIC|PUBLISHED|RAISE|READ|READONLY|RECORD|REFERENCE|REGISTER|REINTRODUCE|REPEAT|RESOURCESTRING|SAFECALL|SEALED|SET|SHL|SHR|STATIC|STDCALL|STRICT|STRING|STORED|THEN|THREADVAR|TO|TRY|TYPE|UNIT|UNSAFE|UNTIL|USES|VAR|VARARGS|VIRTUAL|WHILE|WINAPI|WITH|WRITE|WRITEONLY|XOR)\b/i, null], + [PR.PR_KEYWORD, /^(?:ABSOLUTE|ABSTRACT|AND|ARRAY|AS|ASM|ASSEMBLER|AUTOMATED|BEGIN|CASE|CDECL|CLASS|CONST|CONSTRUCTOR|DEFAULT|DELAYED|DEPRECATED|DESTRUCTOR|DISPID|DISPINTERFACE|DIV|DO|DOWNTO|DYNAMIC|ELSE|END|EXCEPT|EXPERIMENTAL|EXPORT|EXPORTS|EXTERNAL|FILE|FINAL|FINALIZATION|FINALLY|FOR|FORWARD|FUNCTION|HELPER|GOTO|IF|IMPLEMENTATION|IMPLEMENTS|IN|INDEX|INHERITED|INITIALIZATION|INLINE|INTERFACE|IS|INTERRUPT|LABEL|LIBRARY|MESSAGE|MOD|NODEFAULT|NOT|OBJECT|OF|OPERATOR|OR|OUT|OVERLOAD|OVERRIDE|PACKED|PASCAL|PLATFORM|PRIVATE|PROCEDURE|PROGRAM|PROPERTY|PROTECTED|PUBLIC|PUBLISHED|RAISE|READ|READONLY|RECORD|REFERENCE|REGISTER|REINTRODUCE|REPEAT|RESOURCESTRING|SAFECALL|SEALED|SET|SHL|SHR|STATIC|STDCALL|STRICT|STRING|STORED|THEN|THREADVAR|TO|TRY|TYPE|UNIT|UNSAFE|UNTIL|USES|VAR|VARARGS|VIRTUAL|WHILE|WINAPI|WITH|WRITE|WRITEONLY|XOR)\b/i, null], [PR.PR_LITERAL, /^(?:true|false|self|nil)/i, null], [PR.PR_PLAIN, /^[a-z][a-z0-9]*/i, null], // Literals .0, 0, 0.0 0E13