// Monarch syntax highlighting for the snakeskin language. export default { keywords: [ '@@ignore','block','break','catch','continue','doctype','else','eval','extends','finally','for','forEach','forIn','head','if','import','include','interface','namespace','placeholder','putIn','return','super','switch','target','template','throw','try','unless','with' ], operators: [ '#','&+','*','+=','-','->','<','','>','?' ], symbols: /#|&\+|\*|\+=|-|->|<||>|\?/, tokenizer: { initial: [ { regex: /(?<=\n\s*)\(\)\s*=>\s/, action: {"token":"FUNC_PREFIX"} }, { regex: /(?<=[\n\r]+\s+)(?!=+=|\/\*)[^\-\s<:?].*?(?=\r?\n)/s, action: {"token":"TEXT"} }, { regex: /,/, action: {"token":"COMMA"} }, { regex: /JS Object, will be overwritten in the TokenBuilder/, action: {"token":"JS_EXPR"} }, { regex: /(?<==\s*).+?(?=\s+\.\s+|\s+\|\s+)/s, action: {"token":"ATTR_VAL_ML"} }, { regex: /(?<=\s(return|=|if|for|throw|unless|- target|\?) ).+?(?=\r?\n)/, action: {"token":"EXPR_TILL_EOL"} }, { regex: /from/, action: {"token":"FROM"} }, { regex: /[_a-zA-Z\-][\w\-]*?(?=-\w)[\-\w]+/, action: {"token":"DASHED_ID"} }, { regex: /(?<=\s)as(?=\s)/, action: {"token":"AS"} }, { regex: /(?<=\s)async(?=\s)/, action: {"token":"ASYNC"} }, { regex: /[_a-zA-Z][\w]*/, action: { cases: { '@keywords': {"token":"keyword"}, '@default': {"token":"ID"} }} }, { regex: /(?