67 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/*
 | 
						|
 Language: dsconfig
 | 
						|
 Description: dsconfig batch configuration language for LDAP directory servers
 | 
						|
 Contributors: Jacob Childress <jacobc@gmail.com>
 | 
						|
 Category: enterprise, config
 | 
						|
 */
 | 
						|
 | 
						|
 /** @type LanguageFn */
 | 
						|
function dsconfig(hljs) {
 | 
						|
  const QUOTED_PROPERTY = {
 | 
						|
    className: 'string',
 | 
						|
    begin: /"/,
 | 
						|
    end: /"/
 | 
						|
  };
 | 
						|
  const APOS_PROPERTY = {
 | 
						|
    className: 'string',
 | 
						|
    begin: /'/,
 | 
						|
    end: /'/
 | 
						|
  };
 | 
						|
  const UNQUOTED_PROPERTY = {
 | 
						|
    className: 'string',
 | 
						|
    begin: /[\w\-?]+:\w+/,
 | 
						|
    end: /\W/,
 | 
						|
    relevance: 0
 | 
						|
  };
 | 
						|
  const VALUELESS_PROPERTY = {
 | 
						|
    className: 'string',
 | 
						|
    begin: /\w+(\-\w+)*/,
 | 
						|
    end: /(?=\W)/,
 | 
						|
    relevance: 0
 | 
						|
  };
 | 
						|
 | 
						|
  return {
 | 
						|
    keywords: 'dsconfig',
 | 
						|
    contains: [
 | 
						|
      {
 | 
						|
        className: 'keyword',
 | 
						|
        begin: '^dsconfig',
 | 
						|
        end: /\s/,
 | 
						|
        excludeEnd: true,
 | 
						|
        relevance: 10
 | 
						|
      },
 | 
						|
      {
 | 
						|
        className: 'built_in',
 | 
						|
        begin: /(list|create|get|set|delete)-(\w+)/,
 | 
						|
        end: /\s/,
 | 
						|
        excludeEnd: true,
 | 
						|
        illegal: '!@#$%^&*()',
 | 
						|
        relevance: 10
 | 
						|
      },
 | 
						|
      {
 | 
						|
        className: 'built_in',
 | 
						|
        begin: /--(\w+)/,
 | 
						|
        end: /\s/,
 | 
						|
        excludeEnd: true
 | 
						|
      },
 | 
						|
      QUOTED_PROPERTY,
 | 
						|
      APOS_PROPERTY,
 | 
						|
      UNQUOTED_PROPERTY,
 | 
						|
      VALUELESS_PROPERTY,
 | 
						|
      hljs.HASH_COMMENT_MODE
 | 
						|
    ]
 | 
						|
  };
 | 
						|
}
 | 
						|
 | 
						|
module.exports = dsconfig;
 |