import nextflow_groovy from './nextflow-groovy.mjs'

const lang = Object.freeze(JSON.parse("{\"displayName\":\"Nextflow\",\"name\":\"nextflow\",\"patterns\":[{\"include\":\"#nextflow\"}],\"repository\":{\"enum-def\":{\"begin\":\"^\\\\s*(enum)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"storage.type.groovy\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"},{\"include\":\"#enum-values\"}]},\"enum-values\":{\"patterns\":[{\"begin\":\"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,}]|$))\",\"beginCaptures\":{\"1\":{\"name\":\"constant.enum.name.groovy\"}},\"end\":\",|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))\",\"patterns\":[{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"meta.enum.value.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.seperator.parameter.groovy\"},{\"include\":\"#groovy-code\"}]}]}]},\"function-body\":{\"patterns\":[{\"match\":\"\\\\s\"},{\"begin\":\"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()\",\"end\":\"(?=[$\\\\w]+\\\\s*\\\\()\",\"name\":\"meta.method.return-type.java\",\"patterns\":[{\"include\":\"source.nextflow-groovy#types\"}]},{\"begin\":\"([$\\\\w]+)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"\\\\)\",\"name\":\"meta.definition.method.signature.java\",\"patterns\":[{\"begin\":\"(?=[^)])\",\"end\":\"(?=\\\\))\",\"name\":\"meta.method.parameters.groovy\",\"patterns\":[{\"begin\":\"(?=[^),])\",\"end\":\"(?=[),])\",\"name\":\"meta.method.parameter.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.separator.groovy\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.groovy\"}},\"end\":\"(?=[),])\",\"name\":\"meta.parameter.default.groovy\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy-code\"}]},{\"include\":\"source.nextflow-groovy#parameters\"}]}]}]},{\"begin\":\"(?=<)\",\"end\":\"(?=\\\\s)\",\"name\":\"meta.method.paramerised-type.groovy\",\"patterns\":[{\"begin\":\"<\",\"end\":\">\",\"name\":\"storage.type.parameters.groovy\",\"patterns\":[{\"include\":\"source.nextflow-groovy#types\"},{\"match\":\",\",\"name\":\"punctuation.definition.seperator.groovy\"}]}]},{\"begin\":\"\\\\{\",\"end\":\"(?=})\",\"name\":\"meta.method.body.java\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy-code\"}]}]},\"function-def\":{\"applyEndPatternLast\":1,\"begin\":\"(?<=;|^|\\\\{)(?=\\\\s*(?:def|(?:(?:boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?n)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()\",\"end\":\"}|(?=[^{])\",\"name\":\"meta.definition.method.groovy\",\"patterns\":[{\"include\":\"#function-body\"}]},\"include-decl\":{\"patterns\":[{\"match\":\"^\\\\b(include)\\\\b\",\"name\":\"keyword.nextflow\"},{\"match\":\"\\\\b(from)\\\\b\",\"name\":\"keyword.nextflow\"}]},\"nextflow\":{\"patterns\":[{\"include\":\"#record-def\"},{\"include\":\"#enum-def\"},{\"include\":\"#function-def\"},{\"include\":\"#process-def\"},{\"include\":\"#workflow-def\"},{\"include\":\"#params-def\"},{\"include\":\"#output-def\"},{\"include\":\"#include-decl\"},{\"include\":\"source.nextflow-groovy\"}]},\"output-def\":{\"begin\":\"^\\\\s*(output)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"}},\"end\":\"}\",\"name\":\"output.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"params-def\":{\"begin\":\"^\\\\s*(params)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"}},\"end\":\"}\",\"name\":\"params.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"process-body\":{\"patterns\":[{\"match\":\"(?:input|output|when|script|shell|exec):\",\"name\":\"constant.block.nextflow\"},{\"match\":\"\\\\b(val|env|file|path|stdin|stdout|tuple)([(\\\\s])\",\"name\":\"entity.name.function.nextflow\"},{\"include\":\"source.nextflow-groovy#groovy\"}]},\"process-def\":{\"begin\":\"^\\\\s*(process)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"}\",\"name\":\"process.nextflow\",\"patterns\":[{\"include\":\"#process-body\"}]},\"record-def\":{\"begin\":\"^\\\\s*(record)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"storage.type.groovy\"}},\"end\":\"}\",\"name\":\"record.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"workflow-body\":{\"patterns\":[{\"match\":\"(?:take|main|emit|publish):\",\"name\":\"constant.block.nextflow\"},{\"include\":\"source.nextflow-groovy#groovy\"}]},\"workflow-def\":{\"begin\":\"^\\\\s*(workflow)(?:\\\\s+(\\\\w+))?\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"}\",\"name\":\"workflow.nextflow\",\"patterns\":[{\"include\":\"#workflow-body\"}]}},\"scopeName\":\"source.nextflow\",\"embeddedLangs\":[\"nextflow-groovy\"],\"aliases\":[\"nf\"]}"))

export default [
...nextflow_groovy,
lang
]
