UNPKG

2.2 kBJavaScriptView Raw
1hljs.registerLanguage("delphi",(()=>{"use strict";return e=>{
2const r=["exports","register","file","shl","array","record","property","for","mod","while","set","ally","label","uses","raise","not","stored","class","safecall","var","interface","or","private","static","exit","index","inherited","to","else","stdcall","override","shr","asm","far","resourcestring","finalization","packed","virtual","out","and","protected","library","do","xorwrite","goto","near","function","end","div","overload","object","unit","begin","string","on","inline","repeat","until","destructor","write","message","program","with","read","initialization","except","default","nil","if","case","cdecl","in","downto","threadvar","of","try","pascal","const","external","constructor","type","public","then","implementation","finally","published","procedure","absolute","reintroduce","operator","as","is","abstract","alias","assembler","bitpacked","break","continue","cppdecl","cvar","enumerator","experimental","platform","deprecated","unimplemented","dynamic","export","far16","forward","generic","helper","implements","interrupt","iochecks","local","name","nodefault","noreturn","nostackframe","oldfpccall","otherwise","saveregisters","softfloat","specialize","strict","unaligned","varargs"],a=[e.C_LINE_COMMENT_MODE,e.COMMENT(/\{/,/\}/,{
3relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],t={className:"meta",
4variants:[{begin:/\{\$/,end:/\}/},{begin:/\(\*\$/,end:/\*\)/}]},n={
5className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},i={
6className:"string",begin:/(#\d+)+/},s={begin:e.IDENT_RE+"\\s*=\\s*class\\s*\\(",
7returnBegin:!0,contains:[e.TITLE_MODE]},c={className:"function",
8beginKeywords:"function constructor destructor procedure",end:/[:;]/,
9keywords:"function constructor|10 destructor|10 procedure|10",
10contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:r,
11contains:[n,i,t].concat(a)},t].concat(a)};return{name:"Delphi",
12aliases:["dpr","dfm","pas","pascal"],case_insensitive:!0,keywords:r,
13illegal:/"|\$[G-Zg-z]|\/\*|<\/|\|/,contains:[n,i,e.NUMBER_MODE,{
14className:"number",relevance:0,variants:[{begin:"\\$[0-9A-Fa-f]+"},{
15begin:"&[0-7]+"},{begin:"%[01]+"}]},s,c,t].concat(a)}}})());
\No newline at end of file