   actions:
     patterns: [
       {
-        begin: '\\{'
+        begin: "\\{"
         beginCaptures:
           0:
-            name: 'punctuation.action.begin.jison'
-        end: '\\}'
-        endCaptures:
-          0:
-            name: 'punctuation.action.end.jison'
-        name: 'meta.action.jison'
-        comment: 'Match action blocks associated with grammar rules'
+            name: "punctuation.action.begin.jison"
+        end: "\\}"
+        endCaptures:
+          0:
+            name: "punctuation.action.end.jison"
+        name: "meta.action.jison"
+        comment: "Match action blocks associated with grammar rules"
         patterns: [
           # TODO: Patterns for $-variable go here, or inside block_innards
           {
-            include: 'source.js'
-          }
-          {
-            match: '\\$[$a-zA-Z\_][$a-zA-Z0-9\_]*',
-            name: 'variable.interpolation.grammar-rule.jison',
-            comment: 'A grammar rule variable reference.'
+            include: "source.js"
+          }
+          {
+            match: "\\$[$a-zA-Z\_][$a-zA-Z0-9\_]*",
+            name: "variable.interpolation.grammar-rule.jison",
+            comment: "A grammar rule variable reference."
           }
         ]
       }

  components:
    patterns: [
      {
        begin: '(?=([a-zA-Z_.\-][a-zA-Z_.\-0-9]*)?)'  # (?) Comp can be empty
        end: '\\||(?=;)'
        endCaptures:
          0:
            name: 'punctuation.grammar-rule.component-separator.jison'  # |
        comment: 'Match each component in a grammar rule'
        name: 'meta.section.component'
        patterns: [
          {
            include: '#comments'
            comment: 'Comments can be also inside grammar components'
          }
          {
            begin: '\''
            beginCaptures:
              0:
                name: 'punctuation.definition.string.begin.jison'
            end: '\''
            endCaptures:
              0:
                name: 'punctuation.definition.string.end.jison'
            comment: 'Match single character tokens inside components'
            name: 'string.quoted.single.character-token.jison'
            patterns: [
              #TODO {
              #  include: '#string_escaped_char'
              #}
              # {
              #  include: '#line_continuation_character'
              #}
            ]
          }
          {
            include: '#directives'
          }
          {
            include: '#symbols'
          }
          {
            include: '#actions'
          }
        ]
      }

  second_section:
    patterns: [
      {
        begin: "(?!^%%$)"
        end: "(?=^%%$)"
        comment: "Match the content of the second section"
        name: "meta.section.second.jison"
        patterns: [
          {
            include: "#comments"
            comment: "jison supports C/C++ comments"
          }
          {
            include: "#rules"
          }
        ]
      }
