import javascript from './javascript.mjs'

const lang = Object.freeze(JSON.parse("{\"displayName\":\"Jison\",\"fileTypes\":[\"jison\"],\"injections\":{\"L:(meta.action.jison - (comment | string)), source.js.embedded.jison - (comment | string), source.js.embedded.source - (comment | string.quoted.double | string.quoted.single)\":{\"patterns\":[{\"match\":\"\\\\${2}\",\"name\":\"variable.language.semantic-value.jison\"},{\"match\":\"@\\\\$\",\"name\":\"variable.language.result-location.jison\"},{\"match\":\"##\\\\$|\\\\byysp\\\\b\",\"name\":\"variable.language.stack-index-0.jison\"},{\"match\":\"#\\\\S+#\",\"name\":\"support.variable.token-reference.jison\"},{\"match\":\"#\\\\$\",\"name\":\"variable.language.result-id.jison\"},{\"match\":\"\\\\$(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)\",\"name\":\"support.variable.token-value.jison\"},{\"match\":\"@(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)\",\"name\":\"support.variable.token-location.jison\"},{\"match\":\"##(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)\",\"name\":\"support.variable.stack-index.jison\"},{\"match\":\"#(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)\",\"name\":\"support.variable.token-id.jison\"},{\"match\":\"\\\\byy(?:l(?:eng|ineno|oc|stack)|rulelength|s(?:tate|s?tack)|text|vstack)\\\\b\",\"name\":\"variable.language.jison\"},{\"match\":\"\\\\byy(?:clearin|erro[kr])\\\\b\",\"name\":\"keyword.other.jison\"}]}},\"name\":\"jison\",\"patterns\":[{\"begin\":\"%%\",\"beginCaptures\":{\"0\":{\"name\":\"meta.separator.section.jison\"}},\"end\":\"\\\\z\",\"patterns\":[{\"begin\":\"%%\",\"beginCaptures\":{\"0\":{\"name\":\"meta.separator.section.jison\"}},\"end\":\"\\\\z\",\"patterns\":[{\"begin\":\"\\\\G\",\"contentName\":\"source.js.embedded.jison\",\"end\":\"\\\\z\",\"name\":\"meta.section.epilogue.jison\",\"patterns\":[{\"include\":\"#epilogue_section\"}]}]},{\"begin\":\"\\\\G\",\"end\":\"(?=%%)\",\"name\":\"meta.section.rules.jison\",\"patterns\":[{\"include\":\"#rules_section\"}]}]},{\"begin\":\"^\",\"end\":\"(?=%%)\",\"name\":\"meta.section.declarations.jison\",\"patterns\":[{\"include\":\"#declarations_section\"}]}],\"repository\":{\"actions\":{\"patterns\":[{\"begin\":\"\\\\{\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.action.begin.jison\"}},\"contentName\":\"source.js.embedded.jison\",\"end\":\"}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.action.end.jison\"}},\"name\":\"meta.action.jison\",\"patterns\":[{\"include\":\"source.js\"}]},{\"begin\":\"(?=%\\\\{)\",\"end\":\"(?<=%})\",\"name\":\"meta.action.jison\",\"patterns\":[{\"include\":\"#user_code_blocks\"}]}]},\"comments\":{\"patterns\":[{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.jison\"}},\"end\":\"$\",\"name\":\"comment.line.double-slash.jison\"},{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.jison\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.jison\"}},\"name\":\"comment.block.jison\"}]},\"declarations_section\":{\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"^\\\\s*(%lex)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.lexer.begin.jison\"}},\"end\":\"^\\\\s*(/lex)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.tag.lexer.end.jison\"}},\"patterns\":[{\"begin\":\"%%\",\"beginCaptures\":{\"0\":{\"name\":\"meta.separator.section.jisonlex\"}},\"end\":\"(?=/lex)\",\"patterns\":[{\"begin\":\"^%%\",\"beginCaptures\":{\"0\":{\"name\":\"meta.separator.section.jisonlex\"}},\"end\":\"(?=/lex)\",\"patterns\":[{\"begin\":\"\\\\G\",\"contentName\":\"source.js.embedded.jisonlex\",\"end\":\"(?=/lex)\",\"name\":\"meta.section.user-code.jisonlex\",\"patterns\":[{\"include\":\"source.jisonlex#user_code_section\"}]}]},{\"begin\":\"\\\\G\",\"end\":\"^(?=%%|/lex)\",\"name\":\"meta.section.rules.jisonlex\",\"patterns\":[{\"include\":\"source.jisonlex#rules_section\"}]}]},{\"begin\":\"^\",\"end\":\"(?=%%|/lex)\",\"name\":\"meta.section.definitions.jisonlex\",\"patterns\":[{\"include\":\"source.jisonlex#definitions_section\"}]}]},{\"begin\":\"(?=%\\\\{)\",\"end\":\"(?<=%})\",\"name\":\"meta.section.prologue.jison\",\"patterns\":[{\"include\":\"#user_code_blocks\"}]},{\"include\":\"#options_declarations\"},{\"match\":\"%(ebnf|left|nonassoc|parse-param|right|start)\\\\b\",\"name\":\"keyword.other.declaration.$1.jison\"},{\"include\":\"#include_declarations\"},{\"begin\":\"%(code)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.declaration.$1.jison\"}},\"end\":\"$\",\"name\":\"meta.code.jison\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#rule_actions\"},{\"match\":\"(init|required)\",\"name\":\"keyword.other.code-qualifier.$1.jison\"},{\"include\":\"#quoted_strings\"},{\"match\":\"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b\",\"name\":\"string.unquoted.jison\"}]},{\"begin\":\"%(parser-type)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.declaration.$1.jison\"}},\"end\":\"$\",\"name\":\"meta.parser-type.jison\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#quoted_strings\"},{\"match\":\"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b\",\"name\":\"string.unquoted.jison\"}]},{\"begin\":\"%(token)\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.declaration.$1.jison\"}},\"end\":\"$|(%%|;)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.declaration.token.jison\"}},\"name\":\"meta.token.jison\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#numbers\"},{\"include\":\"#quoted_strings\"},{\"match\":\"<[_[:alpha:]](?:[-\\\\w]*\\\\w)?>\",\"name\":\"invalid.unimplemented.jison\"},{\"match\":\"\\\\S+\",\"name\":\"entity.other.token.jison\"}]},{\"match\":\"%(debug|import)\\\\b\",\"name\":\"keyword.other.declaration.$1.jison\"},{\"match\":\"%prec\\\\b\",\"name\":\"invalid.illegal.jison\"},{\"match\":\"%[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b\",\"name\":\"invalid.unimplemented.jison\"},{\"include\":\"#numbers\"},{\"include\":\"#quoted_strings\"}]},\"epilogue_section\":{\"patterns\":[{\"include\":\"#user_code_include_declarations\"},{\"include\":\"source.js\"}]},\"include_declarations\":{\"patterns\":[{\"begin\":\"(%(include))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.declaration.$2.jison\"}},\"end\":\"(?<=[\\\"'])|(?=\\\\s)\",\"name\":\"meta.include.jison\",\"patterns\":[{\"include\":\"#include_paths\"}]}]},\"include_paths\":{\"patterns\":[{\"include\":\"#quoted_strings\"},{\"begin\":\"(?=\\\\S)\",\"end\":\"(?=\\\\s)\",\"name\":\"string.unquoted.jison\",\"patterns\":[{\"include\":\"source.js#string_escapes\"}]}]},\"numbers\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.number.jison\"},\"2\":{\"name\":\"constant.numeric.integer.hexadecimal.jison\"}},\"match\":\"(0[Xx])(\\\\h+)\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.integer.decimal.jison\"}]},\"options_declarations\":{\"patterns\":[{\"begin\":\"%options\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.options.jison\"}},\"end\":\"^(?=\\\\S|\\\\s*$)\",\"name\":\"meta.options.jison\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b\",\"name\":\"entity.name.constant.jison\"},{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.option.assignment.jison\"}},\"end\":\"(?<=[\\\"'])|(?=\\\\s)\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.$1.jison\"},{\"include\":\"#numbers\"},{\"include\":\"#quoted_strings\"},{\"match\":\"\\\\S+\",\"name\":\"string.unquoted.jison\"}]},{\"include\":\"#quoted_strings\"}]}]},\"quoted_strings\":{\"patterns\":[{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.jison\",\"patterns\":[{\"include\":\"source.js#string_escapes\"}]},{\"begin\":\"'\",\"end\":\"'\",\"name\":\"string.quoted.single.jison\",\"patterns\":[{\"include\":\"source.js#string_escapes\"}]}]},\"rule_actions\":{\"patterns\":[{\"include\":\"#actions\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.action.begin.jison\"}},\"contentName\":\"source.js.embedded.jison\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.action.end.jison\"}},\"name\":\"meta.action.jison\",\"patterns\":[{\"include\":\"source.js\"}]},{\"include\":\"#include_declarations\"},{\"begin\":\"->|→\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.action.arrow.jison\"}},\"contentName\":\"source.js.embedded.jison\",\"end\":\"$\",\"name\":\"meta.action.jison\",\"patterns\":[{\"include\":\"source.js\"}]}]},\"rules_section\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#actions\"},{\"include\":\"#include_declarations\"},{\"begin\":\"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.constant.rule-result.jison\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.rule.jison\"}},\"name\":\"meta.rule.jison\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.rule-components.assignment.jison\"}},\"end\":\"(?=;)\",\"name\":\"meta.rule-components.jison\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#quoted_strings\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.named-reference.begin.jison\"},\"2\":{\"name\":\"entity.name.other.reference.jison\"},\"3\":{\"name\":\"punctuation.definition.named-reference.end.jison\"}},\"match\":\"(\\\\[)([_[:alpha:]](?:[-\\\\w]*\\\\w)?)(])\"},{\"begin\":\"(%(prec))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.$2.jison\"}},\"end\":\"(?<=[\\\"'])|(?=\\\\s)\",\"name\":\"meta.prec.jison\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#quoted_strings\"},{\"begin\":\"(?=\\\\S)\",\"end\":\"(?=\\\\s)\",\"name\":\"constant.other.token.jison\"}]},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.rule-components.separator.jison\"},{\"match\":\"\\\\b(?:EOF|error)\\\\b\",\"name\":\"keyword.other.$0.jison\"},{\"match\":\"(?:%e(?:mpty|psilon)|\\\\b[Ɛɛεϵ])\\\\b\",\"name\":\"keyword.other.empty.jison\"},{\"include\":\"#rule_actions\"}]}]}]},\"user_code_blocks\":{\"patterns\":[{\"begin\":\"%\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.user-code-block.begin.jison\"}},\"contentName\":\"source.js.embedded.jison\",\"end\":\"%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.user-code-block.end.jison\"}},\"name\":\"meta.user-code-block.jison\",\"patterns\":[{\"include\":\"source.js\"}]}]},\"user_code_include_declarations\":{\"patterns\":[{\"begin\":\"^(%(include))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.declaration.$2.jison\"}},\"end\":\"(?<=[\\\"'])|(?=\\\\s)\",\"name\":\"meta.include.jison\",\"patterns\":[{\"include\":\"#include_paths\"}]}]}},\"scopeName\":\"source.jison\",\"embeddedLangs\":[\"javascript\"]}"))

export default [
...javascript,
lang
]
