rsc3/doc-schelp/HelpSource/lang-sc.js

37 lines
1.4 KiB
JavaScript
Raw Normal View History

2022-08-24 13:53:18 +00:00
PR.registerLangHandler(
PR.createSimpleLexer(
[
/* whitespace */
[PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'],
/* strings */
[PR.PR_STRING, /^"(?:[^\\"]|\\.)*(?:"|$)/, null, '"'],
],
[
/* char literal */
[PR.PR_LITERAL, /^\$(\\)?./],
/* symbols */
[PR.PR_ATTRIB_NAME, /^\\\w+/],
[PR.PR_ATTRIB_NAME, /^'[^']+'/],
[PR.PR_ATTRIB_VALUE, /^~\w+/],
/* special variables */
[PR.PR_TAG, /^(?:super|thisFunctionDef|thisFunction|thisMethod|thisProcess|thisThread|this)\b/],
/* special values */
[PR.PR_KEYWORD, /^(?:true|false|nil|inf)\b/],
/* variable declarations */
[PR.PR_DECLARATION, /^(?:var|classvar|const|arg)\b/],
// [PR.PR_DECLARATION, /^\|/],
/* class names */
[PR.PR_TYPE, /^\b([A-Z][A-Za-z_0-9]+)\b/],
[PR.PR_COMMENT, /^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/], //fixme: nested comments
/* numbers */
[PR.PR_LITERAL, /^-?\d+r[\da-zA-Z]+(\.[\da-zA-Z]+)?/],
// [PR.PR_LITERAL, /^-?(?:(?:\d+(?:\.\d*)?)(?:e[+\-]?\d+)?)(pi)?|pi/],
[PR.PR_LITERAL, /^-?(?:(?:\d+(\.\d+)?)(?:e[+\-]?\d+)?(pi)?)|(?:pi\b)/],
/* other stuff */
[PR.PR_PLAIN, /^[a-z_]\w*/i],
// [PR.PR_PUNCTUATION, /^[-.,;!?#$%&\|/+*<>=@()\[\]{}]/]
[PR.PR_PUNCTUATION, /^[-.,;#()\[\]{}]/]
]),
['sc']);