]> luflow.net public git repositories - flow-web.git/blob - static/highlight/es/languages/crmsh.js
Initial commit.
[flow-web.git] / static / highlight / es / languages / crmsh.js
1 /*! `crmsh` grammar compiled for Highlight.js 11.11.1 */
2 var hljsGrammar = (function () {
3 'use strict';
4
5 /*
6 Language: crmsh
7 Author: Kristoffer Gronlund <kgronlund@suse.com>
8 Website: http://crmsh.github.io
9 Description: Syntax Highlighting for the crmsh DSL
10 Category: config
11 */
12
13 /** @type LanguageFn */
14 function crmsh(hljs) {
15 const RESOURCES = 'primitive rsc_template';
16 const COMMANDS = 'group clone ms master location colocation order fencing_topology '
17 + 'rsc_ticket acl_target acl_group user role '
18 + 'tag xml';
19 const PROPERTY_SETS = 'property rsc_defaults op_defaults';
20 const KEYWORDS = 'params meta operations op rule attributes utilization';
21 const OPERATORS = 'read write deny defined not_defined in_range date spec in '
22 + 'ref reference attribute type xpath version and or lt gt tag '
23 + 'lte gte eq ne \\';
24 const TYPES = 'number string';
25 const LITERALS = 'Master Started Slave Stopped start promote demote stop monitor true false';
26
27 return {
28 name: 'crmsh',
29 aliases: [
30 'crm',
31 'pcmk'
32 ],
33 case_insensitive: true,
34 keywords: {
35 keyword: KEYWORDS + ' ' + OPERATORS + ' ' + TYPES,
36 literal: LITERALS
37 },
38 contains: [
39 hljs.HASH_COMMENT_MODE,
40 {
41 beginKeywords: 'node',
42 starts: {
43 end: '\\s*([\\w_-]+:)?',
44 starts: {
45 className: 'title',
46 end: '\\s*[\\$\\w_][\\w_-]*'
47 }
48 }
49 },
50 {
51 beginKeywords: RESOURCES,
52 starts: {
53 className: 'title',
54 end: '\\s*[\\$\\w_][\\w_-]*',
55 starts: { end: '\\s*@?[\\w_][\\w_\\.:-]*' }
56 }
57 },
58 {
59 begin: '\\b(' + COMMANDS.split(' ').join('|') + ')\\s+',
60 keywords: COMMANDS,
61 starts: {
62 className: 'title',
63 end: '[\\$\\w_][\\w_-]*'
64 }
65 },
66 {
67 beginKeywords: PROPERTY_SETS,
68 starts: {
69 className: 'title',
70 end: '\\s*([\\w_-]+:)?'
71 }
72 },
73 hljs.QUOTE_STRING_MODE,
74 {
75 className: 'meta',
76 begin: '(ocf|systemd|service|lsb):[\\w_:-]+',
77 relevance: 0
78 },
79 {
80 className: 'number',
81 begin: '\\b\\d+(\\.\\d+)?(ms|s|h|m)?',
82 relevance: 0
83 },
84 {
85 className: 'literal',
86 begin: '[-]?(infinity|inf)',
87 relevance: 0
88 },
89 {
90 className: 'attr',
91 begin: /([A-Za-z$_#][\w_-]+)=/,
92 relevance: 0
93 },
94 {
95 className: 'tag',
96 begin: '</?',
97 end: '/?>',
98 relevance: 0
99 }
100 ]
101 };
102 }
103
104 return crmsh;
105
106 })();
107 ;
108 export default hljsGrammar;