function e(e){let t={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`},n=e.COMMENT(`%`,`$`),r={className:`number`,begin:`\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)`,relevance:0},i={begin:`fun\\s+[a-z'][a-zA-Z0-9_']*/\\d+`},a={begin:`([a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*|[a-z'][a-zA-Z0-9_']*)\\(`,end:`\\)`,returnBegin:!0,relevance:0,contains:[{begin:`([a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*|[a-z'][a-zA-Z0-9_']*)`,relevance:0},{begin:`\\(`,end:`\\)`,endsWithParent:!0,returnEnd:!0,relevance:0}]},o={begin:/\{/,end:/\}/,relevance:0},s={begin:`\\b_([A-Z][A-Za-z0-9_]*)?`,relevance:0},c={begin:`[A-Z][a-zA-Z0-9_]*`,relevance:0},l={begin:`#`+e.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{begin:`#`+e.UNDERSCORE_IDENT_RE,relevance:0},{begin:/\{/,end:/\}/,relevance:0}]},u={scope:`string`,match:/\$(\\([^0-9]|[0-9]{1,3}|)|.)/},d={scope:`string`,match:/"""("*)(?!")[\s\S]*?"""\1/},f={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:/#/}]},p={beginKeywords:`fun receive if try case maybe`,end:`end`,keywords:t};p.contains=[n,i,e.inherit(e.APOS_STRING_MODE,{className:``}),p,a,f,d,e.QUOTE_STRING_MODE,r,o,s,c,l,u];let m=[n,i,p,a,f,d,e.QUOTE_STRING_MODE,r,o,s,c,l,u];a.contains[1].contains=m,o.contains=m,l.contains[1].contains=m;let h=[`-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`],g={className:`params`,begin:`\\(`,end:`\\)`,contains:m};return{name:`Erlang`,aliases:[`erl`],keywords:t,illegal:`(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))`,contains:[{className:`function`,begin:`^[a-z'][a-zA-Z0-9_']*\\s*\\(`,end:`->`,returnBegin:!0,illegal:`\\(|#|//|/\\*|\\\\|:|;`,contains:[g,e.inherit(e.TITLE_MODE,{begin:`[a-z'][a-zA-Z0-9_']*`})],starts:{end:`;|\\.`,keywords:t,contains:m}},n,{begin:`^-`,end:`\\.`,relevance:0,excludeEnd:!0,returnBegin:!0,keywords:{$pattern:`-`+e.IDENT_RE,keyword:h.map(e=>`${e}|1.5`).join(` `)},contains:[g,f,d,e.QUOTE_STRING_MODE]},r,f,d,e.QUOTE_STRING_MODE,l,s,c,o,u,{begin:/\.$/}]}}export{e as default};