]> luflow.net public git repositories - flow-web.git/blob - static/highlight/es/languages/step21.js
Initial commit.
[flow-web.git] / static / highlight / es / languages / step21.js
1 /*! `step21` grammar compiled for Highlight.js 11.11.1 */
2 var hljsGrammar = (function () {
3 'use strict';
4
5 /*
6 Language: STEP Part 21
7 Contributors: Adam Joseph Cook <adam.joseph.cook@gmail.com>
8 Description: Syntax highlighter for STEP Part 21 files (ISO 10303-21).
9 Website: https://en.wikipedia.org/wiki/ISO_10303-21
10 Category: syntax
11 */
12
13 function step21(hljs) {
14 const STEP21_IDENT_RE = '[A-Z_][A-Z0-9_.]*';
15 const STEP21_KEYWORDS = {
16 $pattern: STEP21_IDENT_RE,
17 keyword: [
18 "HEADER",
19 "ENDSEC",
20 "DATA"
21 ]
22 };
23 const STEP21_START = {
24 className: 'meta',
25 begin: 'ISO-10303-21;',
26 relevance: 10
27 };
28 const STEP21_CLOSE = {
29 className: 'meta',
30 begin: 'END-ISO-10303-21;',
31 relevance: 10
32 };
33
34 return {
35 name: 'STEP Part 21',
36 aliases: [
37 'p21',
38 'step',
39 'stp'
40 ],
41 case_insensitive: true, // STEP 21 is case insensitive in theory, in practice all non-comments are capitalized.
42 keywords: STEP21_KEYWORDS,
43 contains: [
44 STEP21_START,
45 STEP21_CLOSE,
46 hljs.C_LINE_COMMENT_MODE,
47 hljs.C_BLOCK_COMMENT_MODE,
48 hljs.COMMENT('/\\*\\*!', '\\*/'),
49 hljs.C_NUMBER_MODE,
50 hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null }),
51 hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }),
52 {
53 className: 'string',
54 begin: "'",
55 end: "'"
56 },
57 {
58 className: 'symbol',
59 variants: [
60 {
61 begin: '#',
62 end: '\\d+',
63 illegal: '\\W'
64 }
65 ]
66 }
67 ]
68 };
69 }
70
71 return step21;
72
73 })();
74 ;
75 export default hljsGrammar;