     'name': 'keyword.other.other.stan'
   }
   {
-    'comment': 'truncation operator T[]':
-    'match': '\\bT(?=\\s*\[)'
+    'comment': 'truncation operator T[]'
+    'match': '\\bT(?=\\s*\\[)'
     'name': 'keyword.other.truncation.stan'
   }
   {

    'match': '\\blp__\\b'
    'name': 'invalid.deprecated.lp.stan'
  }
  {
    'include': '#operators'
  }
  {
    'include': '#numbers'
  }
  {
    'match': ','
    'name': 'meta.delimiter.comma.stan'
  }
  {
    'match': '\\;'
    'name': 'punctuation.terminator.statement.stan'
  }
  {
    'begin': '{|}'
    'name': 'meta.brace.curly.stan'
  }
  {
    'begin': '\\('
    'beginCaptures':
      '0':
        'name': 'meta.brace.round.stan'
    'end': '\\)'
    'endCaptures'
      '0':
        'name': 'meta.brace.round.stan'
    'patterns': [
      'include': '$self'
    ]
  }
  {
    'match': '\\[|\\]'
    'name': 'meta.brace.square.stan'
  }
]
'repository':
  'docblock':
    'patterns': [
      {
        'match': '(?<!\\w)@(param|return)\\b'
        'name': 'storage.type.class.stan'
      }
    ]
  'comments':
    'patterns': [
        {
          'begin': '/\\*\\*(?!/)'
          'captures':
            '0':
              'name': 'punctuation.definition.comment.stan'
          'patterns': [
            {
              'include': '#docblock'
            }
          ]
          'end': '\\*/'
          'name': 'comment.block.documentation.stan'
        }
      }
      {
        'comment': '/* comment block */'
        'begin': '/\\*'

        'name': 'keyword.operator.assignment.stan'
      }
      {
        'match': '\\|\\||&&'
        'name': 'keyword.operator.logical.stan'
      }
      {
        'match': '==|!=|<=?|>=?'
        'name': 'keyword.operator.comparison.stan'
      }
      {
        'match': '!'
        'name': 'keyword.operator.logical.stan'
      }
      {
        'match': "\\+|-|\\.?\\*|\\.?/|%|\\\\|\\^|'"
        'name': 'keyword.operator.arithmetic.stan'
      }
    ]
  'numbers':
    'patterns': [
      {
        'match': '''(?x)
        (
        [0-9]+\\.[0-9]*([eE]-?[0-9]+)?
        |
        \\.[0-9]+([eE][-]?[0-9]+)?
        |
        [0-9]+[eE][-]?[0-9]+
        )
        '''
        'name': 'constant.numeric.real.stan'
      }
      {
        'match': '[0-9]+'
        'name': 'constant.numeric.integer.stan'
      }
    ]
