1import{e_ as y}from"./index-BOgCE3pF.js";function O(r,e){for(var i=0;i<e.length;i++){const a=e[i];if(typeof a!="string"&&!Array.isArray(a)){for(const t in a)if(t!=="default"&&!(t in r)){const s=Object.getOwnPropertyDescriptor(a,t);s&&Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:()=>a[t]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var g,u;function v(){if(u)return g;u=1;function r(e){const i="(_?[ui](8|16|32|64|128))?",a="(_?f(32|64))?",t="[a-zA-Z_]\\w*[!?=]?",s="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|[=!]~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?",o="[A-Za-z_]\\w*(::\\w+)*(\\?|!)?",_={$pattern:t,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"},c={className:"subst",begin:/#\{/,end:/\}/,keywords:_},d={className:"template-variable",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:_};function n(w,A){const l=[{begin:w,end:A}];return l[0].contains=l,l}const E={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[Qwi]?\\(",end:"\\)",contains:n("\\(","\\)")},{begin:"%[Qwi]?\\[",end:"\\]",contains:n("\\[","\\]")},{begin:"%[Qwi]?\\{",end:/\}/,contains:n(/\{/,/\}/)},{begin:"%[Qwi]?<",end:">",contains:n("<",">")},{begin:"%[Qwi]?\\|",end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0},T={className:"string",variants:[{begin:"%q\\(",end:"\\)",contains:n("\\(","\\)")},{begin:"%q\\[",end:"\\]",contains:n("\\[","\\]")},{begin:"%q\\{",end:/\}/,contains:n(/\{/,/\}/)},{begin:"%q<",end:">",contains:n("<",">")},{begin:"%q\\|",end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0},m={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,c],variants:[{begin:"//[a-z]*",relevance:0},{begin:"/(?!\\/)",end:"/[a-z]*"}]}],relevance:0},N={className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:"%r\\(",end:"\\)",contains:n("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:n("\\[","\\]")},{begin:"%r\\{",end:/\}/,contains:n(/\{/,/\}/)},{begin:"%r<",end:">",contains:n("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0},S={className:"meta",begin:"@\\[",end:"\\]",contains:[e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"})]},b=[d,E,T,N,m,S,e.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:o}),{begin:"<"}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:o})]},{beginKeywords:"annotation",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:o})],relevance:2},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:s,endsParent:!0})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:s,endsParent:!0})],relevance:2},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[E,{begin:s}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]+)"+i},{begin:"\\b0o([0-7_]+)"+i},{begin:"\\b0x([A-Fa-f0-9_]+)"+i},{begin:"\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_?[-+]?[0-9_]*)?"+a+"(?!_)"},{begin:"\\b([1-9][0-9_]*|0)"+i}],relevance:0}];return c.contains=b,d.contains=b.slice(1),{name:"Crystal",aliases:["cr"],keywords:_,contains:b}}return g=r,g}var f=v();const R=y(f),C=O({__proto__:null,default:R},[f]);export{C as c};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.