PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.3
Code Block Pro – Beautiful Syntax Highlighting v1.27.3
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / node_modules / jsonc-parser / lib / esm / impl / scanner.js

scanner.js in Code Block Pro – Beautiful Syntax Highlighting 1.27.3, at build/shiki/node_modules/jsonc-parser/lib/esm/impl/scanner.js

1 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 "use strict";export function createScanner(e,r=!1){const t=e.length;let a=0,s="",n=0,c=16,i=0,o=0,u=0,h=0,f=0;function l(r,t){let s=0,n=0;for(;s<r||!t;){let r=e.charCodeAt(a);if(r>=48&&r<=57)n=16*n+r-48;else if(r>=65&&r<=70)n=16*n+r-65+10;else{if(!(r>=97&&r<=102))break;n=16*n+r-97+10}a++,s++}return s<r&&(n=-1),n}function d(){if(s="",f=0,n=a,o=i,h=u,a>=t)return n=t,c=17;let r=e.charCodeAt(a);if(isWhiteSpace(r)){do{a++,s+=String.fromCharCode(r),r=e.charCodeAt(a)}while(isWhiteSpace(r));return c=15}if(isLineBreak(r))return a++,s+=String.fromCharCode(r),13===r&&10===e.charCodeAt(a)&&(a++,s+="\n"),i++,u=a,c=14;switch(r){case 123:return a++,c=1;case 125:return a++,c=2;case 91:return a++,c=3;case 93:return a++,c=4;case 58:return a++,c=6;case 44:return a++,c=5;case 34:return a++,s=function(){let r="",s=a;for(;;){if(a>=t){r+=e.substring(s,a),f=2;break}const n=e.charCodeAt(a);if(34===n){r+=e.substring(s,a),a++;break}if(92!==n){if(n>=0&&n<=31){if(isLineBreak(n)){r+=e.substring(s,a),f=2;break}f=6}a++}else{if(r+=e.substring(s,a),a++,a>=t){f=2;break}switch(e.charCodeAt(a++)){case 34:r+='"';break;case 92:r+="\\";break;case 47:r+="/";break;case 98:r+="\b";break;case 102:r+="\f";break;case 110:r+="\n";break;case 114:r+="\r";break;case 116:r+="\t";break;case 117:const e=l(4,!0);e>=0?r+=String.fromCharCode(e):f=4;break;default:f=5}s=a}}return r}(),c=10;case 47:const o=a-1;if(47===e.charCodeAt(a+1)){for(a+=2;a<t&&!isLineBreak(e.charCodeAt(a));)a++;return s=e.substring(o,a),c=12}if(42===e.charCodeAt(a+1)){a+=2;const r=t-1;let n=!1;for(;a<r;){const r=e.charCodeAt(a);if(42===r&&47===e.charCodeAt(a+1)){a+=2,n=!0;break}a++,isLineBreak(r)&&(13===r&&10===e.charCodeAt(a)&&a++,i++,u=a)}return n||(a++,f=1),s=e.substring(o,a),c=13}return s+=String.fromCharCode(r),a++,c=16;case 45:if(s+=String.fromCharCode(r),a++,a===t||!isDigit(e.charCodeAt(a)))return c=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return s+=function(){let r=a;if(48===e.charCodeAt(a))a++;else for(a++;a<e.length&&isDigit(e.charCodeAt(a));)a++;if(a<e.length&&46===e.charCodeAt(a)){if(a++,!(a<e.length&&isDigit(e.charCodeAt(a))))return f=3,e.substring(r,a);for(a++;a<e.length&&isDigit(e.charCodeAt(a));)a++}let t=a;if(a<e.length&&(69===e.charCodeAt(a)||101===e.charCodeAt(a)))if(a++,(a<e.length&&43===e.charCodeAt(a)||45===e.charCodeAt(a))&&a++,a<e.length&&isDigit(e.charCodeAt(a))){for(a++;a<e.length&&isDigit(e.charCodeAt(a));)a++;t=a}else f=3;return e.substring(r,t)}(),c=11;default:for(;a<t&&C(r);)a++,r=e.charCodeAt(a);if(n!==a){switch(s=e.substring(n,a),s){case"true":return c=8;case"false":return c=9;case"null":return c=7}return c=16}return s+=String.fromCharCode(r),a++,c=16}}function C(e){if(isWhiteSpace(e)||isLineBreak(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}return{setPosition:function(e){a=e,s="",n=0,c=16,f=0},getPosition:()=>a,scan:r?function(){let e;do{e=d()}while(e>=12&&e<=15);return e}:d,getToken:()=>c,getTokenValue:()=>s,getTokenOffset:()=>n,getTokenLength:()=>a-n,getTokenStartLine:()=>o,getTokenStartCharacter:()=>n-h,getTokenError:()=>f}}function isWhiteSpace(e){return 32===e||9===e}function isLineBreak(e){return 10===e||13===e}function isDigit(e){return e>=48&&e<=57}var CharacterCodes;!function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"}(CharacterCodes||(CharacterCodes={}));