UNPKG

997 BJavaScriptView Raw
1hljs.registerLanguage("cal",(()=>{"use strict";return e=>{
2const n="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",a=[e.C_LINE_COMMENT_MODE,e.COMMENT(/\{/,/\}/,{
3relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],r={className:"string",
4begin:/'/,end:/'/,contains:[{begin:/''/}]},s={className:"string",begin:/(#\d+)+/
5},i={className:"function",beginKeywords:"procedure",end:/[:;]/,
6keywords:"procedure|10",contains:[e.TITLE_MODE,{className:"params",begin:/\(/,
7end:/\)/,keywords:n,contains:[r,s]}].concat(a)},t={className:"class",
8begin:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",
9returnBegin:!0,contains:[e.TITLE_MODE,i]};return{name:"C/AL",
10case_insensitive:!0,keywords:{keyword:n,literal:"false true"},illegal:/\/\*/,
11contains:[r,s,{className:"number",begin:"\\b\\d+(\\.\\d+)?(DT|D|T)",relevance:0
12},{className:"string",begin:'"',end:'"'},e.NUMBER_MODE,t,i]}}})());
\No newline at end of file