text: var colors = require('ansicolors');
  
  // mimics [jq](https://stedolan.github.io/jq/) highlighting for json files
  // mainly in the fact that the keys are a clearly different color than the strings
  // However improvements to this theme are highly welcome! :)
  
  // Change the below definitions in order to tweak the color theme.
  module.exports = {
  
      'Boolean': {
        'true'   :  undefined
      , 'false'  :  undefined
      , _default :  colors.brightRed
      }
  
    , 'Identifier': {
        'undefined' :  colors.brightBlack
      , 'self'      :  colors.brightRed
      , 'console'   :  colors.blue
      , 'log'       :  colors.blue
      , 'warn'      :  colors.red
      , 'error'     :  colors.brightRed
      , _default    :  colors.white
      }
  
    , 'Null': {
        _default: colors.brightBlack
      }
  
    , 'Numeric': {
        _default: colors.blue
      }
  
    , 'String': {
        _default: function (s, info) {
          var nextToken = info.tokens[info.tokenIndex + 1];
  
          // show keys of object literals and json in different color
          return (nextToken && nextToken.type === 'Punctuator' && nextToken.value === ':')
            ? colors.brightBlue(s)
            : colors.brightGreen(s);
        }
      }
  
    , 'Keyword': {
        'break'       :  undefined
  
      , 'case'        :  undefined
      , 'catch'       :  colors.cyan
      , 'class'       :  undefined
      , 'const'       :  undefined
      , 'continue'    :  undefined
  
      , 'debugger'    :  undefined
      , 'default'     :  undefined
      , 'delete'      :  colors.red
      , 'do'          :  undefined
  
      , 'else'        :  undefined
      , 'enum'        :  undefined
      , 'export'      :  undefined
      , 'extends'     :  undefined
  
      , 'finally'     :  colors.cyan
      , 'for'         :  undefined
      , 'function'    :  undefined
  
      , 'if'          :  undefined
      , 'implements'  :  undefined
      , 'import'      :  undefined
      , 'in'          :  undefined
      , 'instanceof'  :  undefined
      , 'let'         :  undefined
      , 'new'         :  colors.red
      , 'package'     :  undefined
      , 'private'     :  undefined
      , 'protected'   :  undefined
      , 'public'      :  undefined
      , 'return'      :  colors.red
      , 'static'      :  undefined
      , 'super'       :  undefined
      , 'switch'      :  undefined
  
      , 'this'        :  colors.brightRed
      , 'throw'       :  undefined
      , 'try'         :  colors.cyan
      , 'typeof'      :  undefined
  
      , 'var'         :  colors.green
      , 'void'        :  undefined
  
      , 'while'       :  undefined
      , 'with'        :  undefined
      , 'yield'       :  undefined
      , _default      :  colors.brightBlue
    }
    , 'Punctuator': {
        ';': colors.brightBlack
      , '.': colors.green
      , ',': colors.green
  
      , '{': colors.brightWhite
      , '}': colors.brightWhite
      , '(': colors.brightBlack
      , ')': colors.brightBlack
      , '[': colors.brightWhite
      , ']': colors.brightWhite
  
      , '<': undefined
      , '>': undefined
      , '+': undefined
      , '-': undefined
      , '*': undefined
      , '%': undefined
      , '&': undefined
      , '|': undefined
      , '^': undefined
      , '!': undefined
      , '~': undefined
      , '?': undefined
      , ':': undefined
      , '=': undefined
  
      , '<=': undefined
      , '>=': undefined
      , '==': undefined
      , '!=': undefined
      , '++': undefined
      , '--': undefined
      , '<<': undefined
      , '>>': undefined
      , '&&': undefined
      , '||': undefined
      , '+=': undefined
      , '-=': undefined
      , '*=': undefined
      , '%=': undefined
      , '&=': undefined
      , '|=': undefined
      , '^=': undefined
      , '/=': undefined
      , '=>': undefined
      , '**': undefined
  
      , '===': undefined
      , '!==': undefined
      , '>>>': undefined
      , '<<=': undefined
      , '>>=': undefined
      , '...': undefined
      , '**=': undefined
  
      , '>>>=': undefined
  
      , _default: colors.brightYellow
    }
  
      // line comment
    , Line: {
       _default: colors.brightBlack
      }
  
      /* block comment */
    , Block: {
       _default: colors.brightBlack
      }
  
    , _default: undefined
  };
  