dsconfig.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. function dsconfig(hljs) {
  8. var QUOTED_PROPERTY = {
  9. className: 'string',
  10. begin: /"/, end: /"/
  11. };
  12. var APOS_PROPERTY = {
  13. className: 'string',
  14. begin: /'/, end: /'/
  15. };
  16. var UNQUOTED_PROPERTY = {
  17. className: 'string',
  18. begin: '[\\w-?]+:\\w+', end: '\\W',
  19. relevance: 0
  20. };
  21. var VALUELESS_PROPERTY = {
  22. className: 'string',
  23. begin: '\\w+-?\\w+', end: '\\W',
  24. relevance: 0
  25. };
  26. return {
  27. keywords: 'dsconfig',
  28. contains: [
  29. {
  30. className: 'keyword',
  31. begin: '^dsconfig', end: '\\s', excludeEnd: true,
  32. relevance: 10
  33. },
  34. {
  35. className: 'built_in',
  36. begin: '(list|create|get|set|delete)-(\\w+)', end: '\\s', excludeEnd: true,
  37. illegal: '!@#$%^&*()',
  38. relevance: 10
  39. },
  40. {
  41. className: 'built_in',
  42. begin: '--(\\w+)', end: '\\s', excludeEnd: true
  43. },
  44. QUOTED_PROPERTY,
  45. APOS_PROPERTY,
  46. UNQUOTED_PROPERTY,
  47. VALUELESS_PROPERTY,
  48. hljs.HASH_COMMENT_MODE
  49. ]
  50. };
  51. }
  52. module.exports = dsconfig;