UNPKG

highlightjs-motoko

Version:

highlight.js syntax definition for the Motoko programming language

64 lines (59 loc) 1.62 kB
/* Language: Candid Author: DFINITY Foundation Description: Candid interface description language support Website: https://internetcomputer.org */ function hljsDefineCandid(hljs) { const string = { className: 'string', variants: [ { begin: /r(#*)"(.|\n)*?"\1(?!#)/, }, { begin: /b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/, }, ], }; const number = { className: 'number', variants: [ { begin: '[+-]?\\b0[xX]([A-Fa-f0-9_]+)', }, { begin: '[+-]?\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)', }, ], relevance: 0, }; return { name: 'Candid', aliases: ['candid', 'did'], disableAutodetect: true, keywords: { $pattern: '[a-zA-Z_]\\w*', keyword: 'import service type', built_in: 'opt vec record variant func blob principal' + ' nat nat8 nat16 nat32 nat64 int int8 int16 int32 int64' + ' float32 float64 bool text null reserved empty' + ' oneway query', }, illegal: '</', contains: [ hljs.C_LINE_COMMENT_MODE, hljs.COMMENT('/\\*', '\\*/', { contains: ['self'], }), hljs.inherit(hljs.QUOTE_STRING_MODE, { begin: /b?"/, illegal: null, }), string, number, ], }; } module.exports = hljsDefineCandid;