summaryrefslogtreecommitdiff
path: root/pyssg.xyz/live/static/hl/languages/elixir.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'pyssg.xyz/live/static/hl/languages/elixir.min.js')
-rw-r--r--pyssg.xyz/live/static/hl/languages/elixir.min.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/pyssg.xyz/live/static/hl/languages/elixir.min.js b/pyssg.xyz/live/static/hl/languages/elixir.min.js
new file mode 100644
index 0000000..9ed1269
--- /dev/null
+++ b/pyssg.xyz/live/static/hl/languages/elixir.min.js
@@ -0,0 +1,29 @@
+hljs.registerLanguage("elixir",(()=>{"use strict";return e=>{
+const n="[a-zA-Z_][a-zA-Z0-9_.]*(!|\\?)?",i={$pattern:n,
+keyword:"and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote require import with|0"
+},a={className:"subst",begin:/#\{/,end:/\}/,keywords:i},s={className:"number",
+begin:"(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[1-9][0-9_]*(.[0-9_]+([eE][-+]?[0-9]+)?)?)",
+relevance:0},b={className:"string",begin:"~[a-z](?=[/|([{<\"'])",contains:[{
+endsParent:!0,contains:[{contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:/"/,
+end:/"/},{begin:/'/,end:/'/},{begin:/\//,end:/\//},{begin:/\|/,end:/\|/},{
+begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/},{begin:/</,
+end:/>/}]}]}]},d={className:"string",contains:[e.BACKSLASH_ESCAPE,a],variants:[{
+begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:/~S"""/,end:/"""/,
+contains:[]},{begin:/~S"/,end:/"/,contains:[]},{begin:/~S'''/,end:/'''/,
+contains:[]},{begin:/~S'/,end:/'/,contains:[]},{begin:/'/,end:/'/},{begin:/"/,
+end:/"/}]},r={className:"function",beginKeywords:"def defp defmacro",end:/\B\b/,
+contains:[e.inherit(e.TITLE_MODE,{begin:n,endsParent:!0})]},g=e.inherit(r,{
+className:"class",beginKeywords:"defimpl defmodule defprotocol defrecord",
+end:/\bdo\b|$|;/}),t=[d,{className:"string",begin:"~[A-Z](?=[/|([{<\"'])",
+contains:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/\//,end:/\//},{
+begin:/\|/,end:/\|/},{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/},{begin:/\{/,
+end:/\}/},{begin:/</,end:/>/}]},b,e.HASH_COMMENT_MODE,g,r,{begin:"::"},{
+className:"symbol",begin:":(?![\\s:])",contains:[d,{
+begin:"[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?"
+}],relevance:0},{className:"symbol",begin:n+":(?!:)",relevance:0},s,{
+className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))"},{begin:"->"},{
+begin:"("+e.RE_STARTERS_RE+")\\s*",contains:[e.HASH_COMMENT_MODE,{
+begin:/\/: (?=\d+\s*[,\]])/,relevance:0,contains:[s]},{className:"regexp",
+illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:"/",end:"/[a-z]*"
+},{begin:"%r\\[",end:"\\][a-z]*"}]}],relevance:0}];return a.contains=t,{
+name:"Elixir",keywords:i,contains:t}}})()); \ No newline at end of file