{"name":"WDL","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comment"},{"include":"#double-number-sign-comment"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.struct-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"command-block":{"contentName":"meta.embedded.block.shellscript","begin":"(?:\\s*)(command)\\s+(?:(\u003c\u003c\u003c)|({))","end":"(?:^|\\G)(?:\\s*)(?:(\u003e\u003e\u003e)|(}))(?:\\s*)$","patterns":[{"contentName":"meta.embedded.block.shellscript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*(?:(\u003e\u003e\u003e)|(}))\\s*$)","patterns":[{"include":"source.shell"}]}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"},"3":{"name":"punctuation.bracket.angle.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.heredoc.command-end.wdl"},"2":{"name":"punctuation.bracket.angle.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"source.gfm"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)[?=\\s|{i]","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(after|alias|as|call|command|else|false|hints|if|in|import|input|meta|null|object|output|parameter_meta|requirements|runtime|scatter|then|true|version)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)[?=\\s|{]","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.parameter_meta-start.wdl"}}},"placeholder":{"name":"constant.other.placeholder.wdl","match":"[$~]{\\s*([A-Za-z][A-Za-z0-9_]*)\\s*}"},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}