{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/lasso.js"],"names":["module","exports","hljs","LASSO_CLOSE_RE","LASSO_KEYWORDS","$pattern","LASSO_IDENT_RE","literal","built_in","keyword","HTML_COMMENT","COMMENT","relevance","LASSO_NOPROCESS","className","begin","starts","end","returnEnd","contains","LASSO_START","LASSO_DATAMEMBER","LASSO_CODE","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","inherit","C_NUMBER_MODE","C_NUMBER_RE","APOS_STRING_MODE","illegal","QUOTE_STRING_MODE","variants","beginKeywords","TITLE_MODE","name","aliases","case_insensitive","keywords","concat"],"mappings":"8EAgIAA,EAAOC,QA1HP,SAAeC,GACb,IAEIC,EAAiB,WACjBC,EAAiB,CACnBC,SAAUC,2BACVC,QAAS,uGACTC,SAAU,yMACVC,QAAS,2hCAEPC,EAAeR,EAAKS,QAAQ,UAAQ,SAAO,CAC7CC,UAAW,IAETC,EAAkB,CACpBC,UAAW,OACXC,MAAO,kBACPC,OAAQ,CACNC,IAAK,mBACLC,WAAW,EACXC,SAAU,CAACT,KAGXU,EAAc,CAChBN,UAAW,OACXC,MAAO,wCAELM,EAAmB,CACrBP,UAAW,SACXC,MAAO,sBAELO,EAAa,CAACpB,EAAKqB,oBAAqBrB,EAAKsB,qBAAsBtB,EAAKuB,QAAQvB,EAAKwB,cAAe,CACtGX,MAAOb,EAAKyB,YAAc,yBACxBzB,EAAKuB,QAAQvB,EAAK0B,iBAAkB,CACtCC,QAAS,OACP3B,EAAKuB,QAAQvB,EAAK4B,kBAAmB,CACvCD,QAAS,OACP,CACFf,UAAW,SACXC,MAAO,IACPE,IAAK,KACJ,CAEDc,SAAU,CAAC,CACThB,MAAO,wBACN,CACDA,MAAO,IACPE,IAAK,OACLY,QAAS,SAEV,CACDf,UAAW,OACXC,MAAO,SACPE,IAnDmB,mBAoDnBY,QAAS,OACR,CACDf,UAAW,SACXiB,SAAU,CAAC,CACThB,MAAO,gCACPH,UAAW,GACV,CACDG,MAAO,iBAER,CACDA,MAAO,aACPH,UAAW,EACXO,SAAU,CAACE,IACV,CACDP,UAAW,QACXkB,cAAe,SACfd,WAAW,EACXD,IAAK,SACLE,SAAU,CAACjB,EAAKuB,QAAQvB,EAAK+B,WAAY,CACvClB,MAAOT,8CAGX,MAAO,CACL4B,KAAM,QACNC,QAAS,CAAC,KAAM,eAChBC,kBAAkB,EAClBC,SAAUjC,EACVe,SAAU,CAAC,CACTL,UAAW,OACXC,MAAOZ,EACPS,UAAW,EACXI,OAAQ,CAENC,IAAK,6BACLC,WAAW,EACXN,UAAW,EACXO,SAAU,CAACT,KAEZG,EAAiBO,EAAa,CAC/BN,UAAW,OACXC,MAAO,wBACPC,OAAQ,CACNC,IAAK,4BAELoB,SAAUjC,EACVe,SAAU,CAAC,CACTL,UAAW,OACXC,MAAOZ,EACPS,UAAW,EACXI,OAAQ,CACNC,IAAK,yCACLC,WAAW,EACXC,SAAU,CAACT,KAEZG,EAAiBO,GAAakB,OAAOhB,KAEzC,CACDR,UAAW,OACXC,MAAO,MACPH,UAAW,GACV,CACDE,UAAW,OACXC,MAAO,MACPE,IAAK,UACLL,UAAW,KACV0B,OAAOhB","file":"react-syntax-highlighter_languages_highlight_lasso-6293544314bc3ae3c57c.js","sourcesContent":["/*\nLanguage: Lasso\nAuthor: Eric Knibbe <eric@lassosoft.com>\nDescription: Lasso is a language and server platform for database-driven web applications. This definition handles Lasso 9 syntax and LassoScript for Lasso 8.6 and earlier.\nWebsite: http://www.lassosoft.com/What-Is-Lasso\n*/\nfunction lasso(hljs) {\n  var LASSO_IDENT_RE = '[a-zA-Z_][\\\\w.]*';\n  var LASSO_ANGLE_RE = '<\\\\?(lasso(script)?|=)';\n  var LASSO_CLOSE_RE = '\\\\]|\\\\?>';\n  var LASSO_KEYWORDS = {\n    $pattern: LASSO_IDENT_RE + '|&[lg]t;',\n    literal: 'true false none minimal full all void and or not ' + 'bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft',\n    built_in: 'array date decimal duration integer map pair string tag xml null ' + 'boolean bytes keyword list locale queue set stack staticarray ' + 'local var variable global data self inherited currentcapture givenblock',\n    keyword: 'cache database_names database_schemanames database_tablenames ' + 'define_tag define_type email_batch encode_set html_comment handle ' + 'handle_error header if inline iterate ljax_target link ' + 'link_currentaction link_currentgroup link_currentrecord link_detail ' + 'link_firstgroup link_firstrecord link_lastgroup link_lastrecord ' + 'link_nextgroup link_nextrecord link_prevgroup link_prevrecord log ' + 'loop namespace_using output_none portal private protect records ' + 'referer referrer repeating resultset rows search_args ' + 'search_arguments select sort_args sort_arguments thread_atomic ' + 'value_list while abort case else fail_if fail_ifnot fail if_empty ' + 'if_false if_null if_true loop_abort loop_continue loop_count params ' + 'params_up return return_value run_children soap_definetag ' + 'soap_lastrequest soap_lastresponse tag_name ascending average by ' + 'define descending do equals frozen group handle_failure import in ' + 'into join let match max min on order parent protected provide public ' + 'require returnhome skip split_thread sum take thread to trait type ' + 'where with yield yieldhome'\n  };\n  var HTML_COMMENT = hljs.COMMENT('<!--', '-->', {\n    relevance: 0\n  });\n  var LASSO_NOPROCESS = {\n    className: 'meta',\n    begin: '\\\\[noprocess\\\\]',\n    starts: {\n      end: '\\\\[/noprocess\\\\]',\n      returnEnd: true,\n      contains: [HTML_COMMENT]\n    }\n  };\n  var LASSO_START = {\n    className: 'meta',\n    begin: '\\\\[/noprocess|' + LASSO_ANGLE_RE\n  };\n  var LASSO_DATAMEMBER = {\n    className: 'symbol',\n    begin: '\\'' + LASSO_IDENT_RE + '\\''\n  };\n  var LASSO_CODE = [hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, hljs.inherit(hljs.C_NUMBER_MODE, {\n    begin: hljs.C_NUMBER_RE + '|(-?infinity|NaN)\\\\b'\n  }), hljs.inherit(hljs.APOS_STRING_MODE, {\n    illegal: null\n  }), hljs.inherit(hljs.QUOTE_STRING_MODE, {\n    illegal: null\n  }), {\n    className: 'string',\n    begin: '`',\n    end: '`'\n  }, {\n    // variables\n    variants: [{\n      begin: '[#$]' + LASSO_IDENT_RE\n    }, {\n      begin: '#',\n      end: '\\\\d+',\n      illegal: '\\\\W'\n    }]\n  }, {\n    className: 'type',\n    begin: '::\\\\s*',\n    end: LASSO_IDENT_RE,\n    illegal: '\\\\W'\n  }, {\n    className: 'params',\n    variants: [{\n      begin: '-(?!infinity)' + LASSO_IDENT_RE,\n      relevance: 0\n    }, {\n      begin: '(\\\\.\\\\.\\\\.)'\n    }]\n  }, {\n    begin: /(->|\\.)\\s*/,\n    relevance: 0,\n    contains: [LASSO_DATAMEMBER]\n  }, {\n    className: 'class',\n    beginKeywords: 'define',\n    returnEnd: true,\n    end: '\\\\(|=>',\n    contains: [hljs.inherit(hljs.TITLE_MODE, {\n      begin: LASSO_IDENT_RE + '(=(?!>))?|[-+*/%](?!>)'\n    })]\n  }];\n  return {\n    name: 'Lasso',\n    aliases: ['ls', 'lassoscript'],\n    case_insensitive: true,\n    keywords: LASSO_KEYWORDS,\n    contains: [{\n      className: 'meta',\n      begin: LASSO_CLOSE_RE,\n      relevance: 0,\n      starts: {\n        // markup\n        end: '\\\\[|' + LASSO_ANGLE_RE,\n        returnEnd: true,\n        relevance: 0,\n        contains: [HTML_COMMENT]\n      }\n    }, LASSO_NOPROCESS, LASSO_START, {\n      className: 'meta',\n      begin: '\\\\[no_square_brackets',\n      starts: {\n        end: '\\\\[/no_square_brackets\\\\]',\n        // not implemented in the language\n        keywords: LASSO_KEYWORDS,\n        contains: [{\n          className: 'meta',\n          begin: LASSO_CLOSE_RE,\n          relevance: 0,\n          starts: {\n            end: '\\\\[noprocess\\\\]|' + LASSO_ANGLE_RE,\n            returnEnd: true,\n            contains: [HTML_COMMENT]\n          }\n        }, LASSO_NOPROCESS, LASSO_START].concat(LASSO_CODE)\n      }\n    }, {\n      className: 'meta',\n      begin: '\\\\[',\n      relevance: 0\n    }, {\n      className: 'meta',\n      begin: '^#!',\n      end: 'lasso9$',\n      relevance: 10\n    }].concat(LASSO_CODE)\n  };\n}\n\nmodule.exports = lasso;"],"sourceRoot":""}