diff options
author | David Luevano Alvarado <david@luevano.xyz> | 2022-12-13 20:44:08 -0600 |
---|---|---|
committer | David Luevano Alvarado <david@luevano.xyz> | 2022-12-13 20:44:08 -0600 |
commit | abc0de079b895af1b705894eb2b63596e3e37274 (patch) | |
tree | c51d24dce55da8d9b227cbac6c2ef64a59d8e9dc /pyssg.xyz/live/static/hl/languages/crystal.min.js | |
parent | db4b3736d4f45137a733ce5eb1e50aec968ca1d2 (diff) |
add pyssg.xyz configs and templates
Diffstat (limited to 'pyssg.xyz/live/static/hl/languages/crystal.min.js')
-rw-r--r-- | pyssg.xyz/live/static/hl/languages/crystal.min.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/pyssg.xyz/live/static/hl/languages/crystal.min.js b/pyssg.xyz/live/static/hl/languages/crystal.min.js new file mode 100644 index 0000000..2a5ffb5 --- /dev/null +++ b/pyssg.xyz/live/static/hl/languages/crystal.min.js @@ -0,0 +1,45 @@ +hljs.registerLanguage("crystal",(()=>{"use strict";return e=>{ +var n="(_*[ui](8|16|32|64|128))?",i="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?",a="[A-Za-z_]\\w*(::\\w+)*(\\?|!)?",s={ +$pattern:"[a-zA-Z_]\\w*[!?=]?", +keyword:"abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__", +literal:"false nil true"},t={className:"subst",begin:/#\{/,end:/\}/,keywords:s +},r={className:"template-variable",variants:[{begin:"\\{\\{",end:"\\}\\}"},{ +begin:"\\{%",end:"%\\}"}],keywords:s};function c(e,n){var i=[{begin:e,end:n}] +;return i[0].contains=i,i}var l={className:"string", +contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/`/,end:/`/},{begin:"%[Qwi]?\\(",end:"\\)",contains:c("\\(","\\)")},{ +begin:"%[Qwi]?\\[",end:"\\]",contains:c("\\[","\\]")},{begin:"%[Qwi]?\\{", +end:/\}/,contains:c(/\{/,/\}/)},{begin:"%[Qwi]?<",end:">",contains:c("<",">")},{ +begin:"%[Qwi]?\\|",end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0},b={ +className:"string",variants:[{begin:"%q\\(",end:"\\)",contains:c("\\(","\\)")},{ +begin:"%q\\[",end:"\\]",contains:c("\\[","\\]")},{begin:"%q\\{",end:/\}/, +contains:c(/\{/,/\}/)},{begin:"%q<",end:">",contains:c("<",">")},{begin:"%q\\|", +end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0},o={ +begin:"(?!%\\})("+e.RE_STARTERS_RE+"|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*", +keywords:"case if select unless until when while",contains:[{className:"regexp", +contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:"//[a-z]*",relevance:0},{ +begin:"/(?!\\/)",end:"/[a-z]*"}]}],relevance:0},g=[r,l,b,{className:"regexp", +contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:"%r\\(",end:"\\)", +contains:c("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:c("\\[","\\]")},{ +begin:"%r\\{",end:/\}/,contains:c(/\{/,/\}/)},{begin:"%r<",end:">", +contains:c("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0},o,{ +className:"meta",begin:"@\\[",end:"\\]", +contains:[e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"})] +},e.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct", +end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{ +begin:a}),{begin:"<"}]},{className:"class",beginKeywords:"lib enum union", +end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{ +begin:a})],relevance:10},{beginKeywords:"annotation",end:"$|;",illegal:/=/, +contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:a})],relevance:10},{ +className:"function",beginKeywords:"def",end:/\B\b/, +contains:[e.inherit(e.TITLE_MODE,{begin:i,endsParent:!0})]},{ +className:"function",beginKeywords:"fun macro",end:/\B\b/, +contains:[e.inherit(e.TITLE_MODE,{begin:i,endsParent:!0})],relevance:2},{ +className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{ +className:"symbol",begin:":",contains:[l,{begin:i}],relevance:0},{ +className:"number",variants:[{begin:"\\b0b([01_]+)"+n},{begin:"\\b0o([0-7_]+)"+n +},{begin:"\\b0x([A-Fa-f0-9_]+)"+n},{ +begin:"\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_*[-+]?[0-9_]*)?(_*f(32|64))?(?!_)" +},{begin:"\\b([1-9][0-9_]*|0)"+n}],relevance:0}] +;return t.contains=g,r.contains=g.slice(1),{name:"Crystal",aliases:["cr"], +keywords:s,contains:g}}})());
\ No newline at end of file |