UNPKG

1.33 kBJavaScriptView Raw
1/*
2 Language: dsconfig
3 Description: dsconfig batch configuration language for LDAP directory servers
4 Contributors: Jacob Childress <jacobc@gmail.com>
5 Category: enterprise, config
6 */
7
8 /** @type LanguageFn */
9function dsconfig(hljs) {
10 const QUOTED_PROPERTY = {
11 className: 'string',
12 begin: /"/,
13 end: /"/
14 };
15 const APOS_PROPERTY = {
16 className: 'string',
17 begin: /'/,
18 end: /'/
19 };
20 const UNQUOTED_PROPERTY = {
21 className: 'string',
22 begin: /[\w\-?]+:\w+/,
23 end: /\W/,
24 relevance: 0
25 };
26 const VALUELESS_PROPERTY = {
27 className: 'string',
28 begin: /\w+(\-\w+)*/,
29 end: /(?=\W)/,
30 relevance: 0
31 };
32
33 return {
34 keywords: 'dsconfig',
35 contains: [
36 {
37 className: 'keyword',
38 begin: '^dsconfig',
39 end: /\s/,
40 excludeEnd: true,
41 relevance: 10
42 },
43 {
44 className: 'built_in',
45 begin: /(list|create|get|set|delete)-(\w+)/,
46 end: /\s/,
47 excludeEnd: true,
48 illegal: '!@#$%^&*()',
49 relevance: 10
50 },
51 {
52 className: 'built_in',
53 begin: /--(\w+)/,
54 end: /\s/,
55 excludeEnd: true
56 },
57 QUOTED_PROPERTY,
58 APOS_PROPERTY,
59 UNQUOTED_PROPERTY,
60 VALUELESS_PROPERTY,
61 hljs.HASH_COMMENT_MODE
62 ]
63 };
64}
65
66export { dsconfig as default };