{"name":"hlasm","scopeName":"source.hlasm","patterns":[{"include":"#comment.full"},{"include":"#line"},{"include":"#the_line"}],"repository":{"branch_instructions":{"patterns":[{"name":"keyword.control","match":"(^|\\b)(?i:b|bct|be|ber|bh|bhr|bl|blr|bm|bmr|bne|bner|bnh|bnhr|bnl|bnlr|bnm|bnmr|bno|bnor|bnp|bnpr|bnz|bnzr|bo|bor|bor|bp|bpr|br|bz|bz|bzr|nop|nopr|abend)\\b"}]},"char.def.strings":{"name":"string.character","match":"([0-9]*)(([cC][lL]([0-9]+))|([cC]([0-9]+))|([cC][uU])([0-9]+))"},"char.ln.strings":{"name":"string.character","match":"(([0-9]*)([cC][lL])|([cC][uU][lL]))([0-9]*)'.*'"},"char.strings":{"name":"string.character","match":"(([cC])|([cC][uU]))'.*'"},"comment":{"patterns":[{"name":"comment","match":"^(\\*.{,70})|(^\\.\\*.{,69})"}]},"comment.full":{"patterns":[{"name":"comment","match":"^(\\*.*$)|(^\\.\\*.*$)"}]},"constants":{"patterns":[{"include":"#char.strings"},{"include":"#char.ln.strings"},{"include":"#char.def.strings"},{"include":"#hex.strings"},{"include":"#hex.ln.strings"},{"include":"#hex.strings.invalid"},{"include":"#double.strings"},{"include":"#single.strings"}]},"directives":{"patterns":[{"name":"keyword.other.directives","match":"\\b(?i:amode|com|copy|csect|dc|dsect|ds|drop|eject|end|entry|equ|ltorg|macro|mend|mexit|mnote|org|print|rmode|space|start|title|using)\\b"}]},"double.strings":{"name":"string.quoted.double","begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"general_instructions":{"patterns":[{"name":"keyword","match":"(^|\\b)(?i:a|ahi|ah|al|alr|ap|ar|axr|bal|balr|bas|basm|bassm|bc|bcr|bctr|bsm|bxh|bxle|c|cds|chi|ch|cl|clc|clcl|cli|clm|clr|cp|cr|cs|cvb|cvd|cxr|d|dp|dr|ed|edmk|ex|ic|icm|ipm|l|la|lcr|lhi|lh|lm|lnr|lpr|lr|lx|ltr|m|mh|mp|mr|mvc|mvcin|mvcl|mvi|mvn|mvo|mvz|n|nc|ni|nr|o|oc|oi|or|pack|s|sh|sl|sla|slda|sldl|sll|slr|sp|sr|sra|srda|srdl|srl|srp|st|stb|stc|spm|stcm|sth|stm|svc|tm|tr|trt|unpk|x|xc|xi|xr|zap|save|return|equregs|t)\\b"}]},"hex.ln.strings":{"name":"constant.numeric.integer.hexadecimal","match":"([0-9]*([xX]|[xX][lL]))([0-9]*)'[[:xdigit:]]*'"},"hex.strings":{"name":"constant.numeric.integer.hexadecimal","match":"([0-9]*([xX]|[fF]))'[[:xdigit:]]*'"},"hex.strings.invalid":{"name":"invalid.illegal.hexadecimal","match":"([xX])'.*'"},"instructions":{"patterns":[{"include":"#general_instructions"},{"include":"#branch_instructions"}]},"label":{"patterns":[{"name":"entity.name.function","match":"(^[0-9a-z@A-Z$#_\\$]+)"}]},"line":{"patterns":[{"match":"^(.{71,71})[ xX]([0-9]*$)","captures":{"1":{"patterns":[{"include":"#the_line"}]},"2":{"name":"comment.line.identification.sequence.field"}}}]},"macros":{"patterns":[{"name":"entity.name.function","match":"(^|\\b|\\s+)(?i:actr|ago|aif|anop|chau|close|dcb|gbla|gblb|gblc|get|lcla|lclb|lclc|open|ppio|put|read|seta|setb|setc|snap|write|wto|wtor|wtorpc)\\b"}]},"operators":{"patterns":[{"name":"keyword.operator","match":"\\b(?i:and:eq:ge:gt:le:lt:ne:not:or)\\b"}]},"parameters":{"patterns":[{"name":"variable.parameter","match":"\\b(?i:blksize|dcb|ddname|dsorg|eodad|gen|id|lrecl|lv|macrf|nogen|pdata|recfm|record|ru|storage|synad)\\b"}]},"single.strings":{"name":"string","match":"\\s('.*')"},"start_with_label":{"match":"^([0-9a-z@A-Z$#_\\$]+)\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#label"}]},"2":{"patterns":[{"include":"#instructions"},{"include":"#directives"},{"include":"#macros"}]}}},"start_with_no_label":{"match":"^\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#instructions"},{"include":"#directives"},{"include":"#macros"}]}}},"the_line":{"patterns":[{"include":"#comment"},{"include":"#start_with_label"},{"include":"#start_with_no_label"},{"include":"#operators"},{"include":"#parameters"},{"include":"#constants"}]}}}
