diff options
Diffstat (limited to 'node_modules/highlight.js/lib/languages/oxygene.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/oxygene.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/oxygene.js b/node_modules/highlight.js/lib/languages/oxygene.js new file mode 100644 index 000000000..9a9b7499d --- /dev/null +++ b/node_modules/highlight.js/lib/languages/oxygene.js @@ -0,0 +1,69 @@ +module.exports = function(hljs) { + var OXYGENE_KEYWORDS = 'abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue '+ + 'create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false '+ + 'final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited '+ + 'inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of '+ + 'old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly '+ + 'record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple '+ + 'type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal '+ + 'register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained'; + var CURLY_COMMENT = hljs.COMMENT( + '{', + '}', + { + relevance: 0 + } + ); + var PAREN_COMMENT = hljs.COMMENT( + '\\(\\*', + '\\*\\)', + { + relevance: 10 + } + ); + var STRING = { + className: 'string', + begin: '\'', end: '\'', + contains: [{begin: '\'\''}] + }; + var CHAR_STRING = { + className: 'string', begin: '(#\\d+)+' + }; + var FUNCTION = { + className: 'function', + beginKeywords: 'function constructor destructor procedure method', end: '[:;]', + keywords: 'function constructor|10 destructor|10 procedure|10 method|10', + contains: [ + hljs.TITLE_MODE, + { + className: 'params', + begin: '\\(', end: '\\)', + keywords: OXYGENE_KEYWORDS, + contains: [STRING, CHAR_STRING] + }, + CURLY_COMMENT, PAREN_COMMENT + ] + }; + return { + case_insensitive: true, + lexemes: /\.?\w+/, + keywords: OXYGENE_KEYWORDS, + illegal: '("|\\$[G-Zg-z]|\\/\\*|</|=>|->)', + contains: [ + CURLY_COMMENT, PAREN_COMMENT, hljs.C_LINE_COMMENT_MODE, + STRING, CHAR_STRING, + hljs.NUMBER_MODE, + FUNCTION, + { + className: 'class', + begin: '=\\bclass\\b', end: 'end;', + keywords: OXYGENE_KEYWORDS, + contains: [ + STRING, CHAR_STRING, + CURLY_COMMENT, PAREN_COMMENT, hljs.C_LINE_COMMENT_MODE, + FUNCTION + ] + } + ] + }; +};
\ No newline at end of file |