basant307/AI_Governance_Project
048
1/*2Language: STEP Part 213Contributors: Adam Joseph Cook <adam.joseph.cook@gmail.com>4Description: Syntax highlighter for STEP Part 21 files (ISO 10303-21).5Website: https://en.wikipedia.org/wiki/ISO_10303-216Category: syntax7*/8 9function step21(hljs) {10 const STEP21_IDENT_RE = '[A-Z_][A-Z0-9_.]*';11 const STEP21_KEYWORDS = {12 $pattern: STEP21_IDENT_RE,13 keyword: [14 "HEADER",15 "ENDSEC",16 "DATA"17 ]18 };19 const STEP21_START = {20 className: 'meta',21 begin: 'ISO-10303-21;',22 relevance: 1023 };24 const STEP21_CLOSE = {25 className: 'meta',26 begin: 'END-ISO-10303-21;',27 relevance: 1028 };29 30 return {31 name: 'STEP Part 21',32 aliases: [33 'p21',34 'step',35 'stp'36 ],37 case_insensitive: true, // STEP 21 is case insensitive in theory, in practice all non-comments are capitalized.38 keywords: STEP21_KEYWORDS,39 contains: [40 STEP21_START,41 STEP21_CLOSE,42 hljs.C_LINE_COMMENT_MODE,43 hljs.C_BLOCK_COMMENT_MODE,44 hljs.COMMENT('/\\*\\*!', '\\*/'),45 hljs.C_NUMBER_MODE,46 hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null }),47 hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }),48 {49 className: 'string',50 begin: "'",51 end: "'"52 },53 {54 className: 'symbol',55 variants: [56 {57 begin: '#',58 end: '\\d+',59 illegal: '\\W'60 }61 ]62 }63 ]64 };65}66 67export { step21 as default };68 