function e(e){let t=`[a-z'][a-zA-Z0-9_']*`,n=`(`+t+`:[a-z'][a-zA-Z0-9_']*|[a-z'][a-zA-Z0-9_']*)`,r={keyword:`after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor maybe else`,literal:`false true`},i=e.COMMENT(`%`,`$`),a={className:`number`,begin:`\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)`,relevance:0},o={begin:`fun\\s+`+t+`/\\d+`},s={begin:n+`\\(`,end:`\\)`,returnBegin:!0,relevance:0,contains:[{begin:n,relevance:0},{begin:`\\(`,end:`\\)`,endsWithParent:!0,returnEnd:!0,relevance:0}]},c={begin:/\{/,end:/\}/,relevance:0},l={begin:`\\b_([A-Z][A-Za-z0-9_]*)?`,relevance:0},u={begin:`[A-Z][a-zA-Z0-9_]*`,relevance:0},d={begin:`#`+e.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{begin:`#`+e.UNDERSCORE_IDENT_RE,relevance:0},{begin:/\{/,end:/\}/,relevance:0}]},f={scope:`string`,match:/\$(\\([^0-9]|[0-9]{1,3}|)|.)/},p={scope:`string`,match:/"""("*)(?!")[\s\S]*?"""\1/},m={scope:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{match:/~\w?"""("*)(?!")[\s\S]*?"""\1/},{begin:/~\w?\(/,end:/\)/},{begin:/~\w?\[/,end:/\]/},{begin:/~\w?{/,end:/}/},{begin:/~\w?</,end:/>/},{begin:/~\w?\//,end:/\//},{begin:/~\w?\|/,end:/\|/},{begin:/~\w?'/,end:/'/},{begin:/~\w?"/,end:/"/},{begin:/~\w?`/,end:/`/},{begin:/~\w?#/,end:/#/}]},h={beginKeywords:`fun receive if try case maybe`,end:`end`,keywords:r};h.contains=[i,o,e.inherit(e.APOS_STRING_MODE,{className:``}),h,s,m,p,e.QUOTE_STRING_MODE,a,c,l,u,d,f];let g=[i,o,h,s,m,p,e.QUOTE_STRING_MODE,a,c,l,u,d,f];s.contains[1].contains=g,c.contains=g,d.contains[1].contains=g;let _=[`-module`,`-record`,`-undef`,`-export`,`-ifdef`,`-ifndef`,`-author`,`-copyright`,`-doc`,`-moduledoc`,`-vsn`,`-import`,`-include`,`-include_lib`,`-compile`,`-define`,`-else`,`-endif`,`-file`,`-behaviour`,`-behavior`,`-spec`,`-on_load`,`-nifs`],v={className:`params`,begin:`\\(`,end:`\\)`,contains:g};return{name:`Erlang`,aliases:[`erl`],keywords:r,illegal:`(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))`,contains:[{className:`function`,begin:`^`+t+`\\s*\\(`,end:`->`,returnBegin:!0,illegal:`\\(|#|//|/\\*|\\\\|:|;`,contains:[v,e.inherit(e.TITLE_MODE,{begin:t})],starts:{end:`;|\\.`,keywords:r,contains:g}},i,{begin:`^-`,end:`\\.`,relevance:0,excludeEnd:!0,returnBegin:!0,keywords:{$pattern:`-`+e.IDENT_RE,keyword:_.map(e=>`${e}|1.5`).join(` `)},contains:[v,m,p,e.QUOTE_STRING_MODE]},a,m,p,e.QUOTE_STRING_MODE,d,l,u,c,f,{begin:/\.$/}]}}export{e as default};