8 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			8 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /** @license
 | |
|  * fzf v0.5.2
 | |
|  * Copyright (c) 2021 Ajit
 | |
|  * Licensed under BSD 3-Clause
 | |
|  */
 | |
| (function(C,z){typeof exports=="object"&&typeof module!="undefined"?z(exports):typeof define=="function"&&define.amd?define(["exports"],z):(C=typeof globalThis!="undefined"?globalThis:C||self,z(C.fzf={}))})(this,function(C){"use strict";const z={216:"O",223:"s",248:"o",273:"d",295:"h",305:"i",320:"l",322:"l",359:"t",383:"s",384:"b",385:"B",387:"b",390:"O",392:"c",393:"D",394:"D",396:"d",398:"E",400:"E",402:"f",403:"G",407:"I",409:"k",410:"l",412:"M",413:"N",414:"n",415:"O",421:"p",427:"t",429:"t",430:"T",434:"V",436:"y",438:"z",477:"e",485:"g",544:"N",545:"d",549:"z",564:"l",565:"n",566:"t",567:"j",570:"A",571:"C",572:"c",573:"L",574:"T",575:"s",576:"z",579:"B",580:"U",581:"V",582:"E",583:"e",584:"J",585:"j",586:"Q",587:"q",588:"R",589:"r",590:"Y",591:"y",592:"a",593:"a",595:"b",596:"o",597:"c",598:"d",599:"d",600:"e",603:"e",604:"e",605:"e",606:"e",607:"j",608:"g",609:"g",610:"G",613:"h",614:"h",616:"i",618:"I",619:"l",620:"l",621:"l",623:"m",624:"m",625:"m",626:"n",627:"n",628:"N",629:"o",633:"r",634:"r",635:"r",636:"r",637:"r",638:"r",639:"r",640:"R",641:"R",642:"s",647:"t",648:"t",649:"u",651:"v",652:"v",653:"w",654:"y",655:"Y",656:"z",657:"z",663:"c",665:"B",666:"e",667:"G",668:"H",669:"j",670:"k",671:"L",672:"q",686:"h",867:"a",868:"e",869:"i",870:"o",871:"u",872:"c",873:"d",874:"h",875:"m",876:"r",877:"t",878:"v",879:"x",7424:"A",7427:"B",7428:"C",7429:"D",7431:"E",7432:"e",7433:"i",7434:"J",7435:"K",7436:"L",7437:"M",7438:"N",7439:"O",7440:"O",7441:"o",7442:"o",7443:"o",7446:"o",7447:"o",7448:"P",7449:"R",7450:"R",7451:"T",7452:"U",7453:"u",7454:"u",7455:"m",7456:"V",7457:"W",7458:"Z",7522:"i",7523:"r",7524:"u",7525:"v",7834:"a",7835:"s",8305:"i",8341:"h",8342:"k",8343:"l",8344:"m",8345:"n",8346:"p",8347:"s",8348:"t",8580:"c"};for(let t="\u0300".codePointAt(0);t<="\u036F".codePointAt(0);++t){const e=String.fromCodePoint(t);for(const s of"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"){const n=(s+e).normalize().codePointAt(0);n>126&&(z[n]=s)}}const rt={a:[7844,7863],e:[7870,7879],o:[7888,7907],u:[7912,7921]};for(const t of Object.keys(rt)){const e=t.toUpperCase();for(let s=rt[t][0];s<=rt[t][1];++s)z[s]=s%2===0?e:t}function E(t){if(t<192||t>8580)return t;const e=z[t];return e!==void 0?e.codePointAt(0):t}function Re(t){return t}function Ne(t){return t}function _(t,e){return t>e?t:e}const $=t=>t.split("").map(e=>e.codePointAt(0)),ot=t=>t.map(e=>String.fromCodePoint(e)).join(""),bt=new Set(` \f
 | |
| \r	\v\xA0\u1680\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("").map(t=>t.codePointAt(0)));for(let t="\u2000".codePointAt(0);t<="\u200A".codePointAt(0);t++)bt.add(t);const B=t=>bt.has(t),pt=t=>{let e=0;for(const s of t)if(B(s))e++;else break;return e},At=t=>{let e=0;for(let s=t.length-1;s>=0&&B(t[s]);s--)e++;return e},v="\x7F".codePointAt(0),W="A".codePointAt(0),G="Z".codePointAt(0),Pt="a".codePointAt(0),yt="z".codePointAt(0),Kt="0".codePointAt(0),Yt="9".codePointAt(0);function U(t,e,s){return s?t:e-t-1}const j=16,q=-3,Z=-1,R=j/2,Jt=j/2,Xt=R+Z,St=-(q+Z),ct=2;function lt(t){return t?new Set:null}function V(t,e,s){if(e!==null&&e.i16.length>t+s){const i=e.i16.subarray(t,t+s);return[t+s,i]}return[t,new Int16Array(s)]}function Ct(t,e,s){if(e!==null&&e.i32.length>t+s){const i=e.i32.subarray(t,t+s);return[t+s,i]}return[t,new Int32Array(s)]}function Lt(t){return t>=Pt&&t<=yt?1:t>=W&&t<=G?2:t>=Kt&&t<=Yt?4:0}function Et(t){const e=String.fromCodePoint(t);return e!==e.toUpperCase()?1:e!==e.toLowerCase()?2:e.match(/\p{Number}/gu)!==null?4:e.match(/\p{Letter}/gu)!==null?3:0}function tt(t){return t<=v?Lt(t):Et(t)}function ft(t,e){return t===0&&e!==0?R:t===1&&e===2||t!==4&&e===4?Xt:e===0?Jt:0}function Qt(t,e){return e===0?R:ft(tt(t[e-1]),tt(t[e]))}function $t(t,e,s,i){let n=t.slice(i),l=n.indexOf(s);if(l===0)return i;if(!e&&s>=Pt&&s<=yt){l>0&&(n=n.slice(0,l));const u=n.indexOf(s-32);u>=0&&(l=u)}return l<0?-1:i+l}function xt(t){for(const e of t)if(e>=128)return!1;return!0}function ut(t,e,s){if(!xt(t))return 0;if(!xt(e))return-1;let i=0,n=0;for(let l=0;l<e.length;l++){if(n=$t(t,s,e[l],n),n<0)return-1;l===0&&n>0&&(i=n-1),n++}return i}const wt=(t,e,s,i,n,l,u)=>{const r=n.length;if(r===0)return[{start:0,end:0,score:0},lt(l)];const o=i.length;if(u!==null&&o*r>u.i16.length)return Mt(t,e,s,i,n,l);const f=ut(i,n,t);if(f<0)return[{start:-1,end:-1,score:0},null];let a=0,d=0,c=null,h=null,g=null,m=null;[a,c]=V(a,u,o),[a,h]=V(a,u,o),[a,g]=V(a,u,o),[d,m]=Ct(d,u,r);const[,p]=Ct(d,u,o);for(let b=0;b<p.length;b++)p[b]=i[b];let P=0,S=0,K=0,Y=0;const ye=n[0];let Ht=n[0],ht=0,Tt=0,dt=!1,J=p.subarray(f),st=c.subarray(f).subarray(0,J.length),Wt=h.subarray(f).subarray(0,J.length),Se=g.subarray(f).subarray(0,J.length);for(let[b,A]of J.entries()){let y=null;A<=v?(y=Lt(A),!t&&y===2&&(A+=32)):(y=Et(A),!t&&y===2&&(A=String.fromCodePoint(A).toLowerCase().codePointAt(0)),e&&(A=E(A))),J[b]=A;const L=ft(Tt,y);if(Se[b]=L,Tt=y,A===Ht&&(K<r&&(m[K]=f+b,K++,Ht=n[Math.min(K,r-1)]),Y=f+b),A===ye){const x=j+L*ct;if(st[b]=x,Wt[b]=1,r===1&&(s&&x>P||!s&&x>=P)&&(P=x,S=f+b,s&&L===R))break;dt=!1}else dt?st[b]=_(ht+Z,0):st[b]=_(ht+q,0),Wt[b]=0,dt=!0;ht=st[b]}if(K!==r)return[{start:-1,end:-1,score:0},null];if(r===1){const b={start:S,end:S+1,score:P};if(!l)return[b,null];const A=new Set;return A.add(S),[b,A]}const M=m[0],N=Y-M+1;let k=null;[a,k]=V(a,u,N*r);{const b=c.subarray(M,Y+1);for(const[A,y]of b.entries())k[A]=y}let[,D]=V(a,u,N*r);{const b=h.subarray(M,Y+1);for(const[A,y]of b.entries())D[A]=y}const Gt=m.subarray(1),Ce=n.slice(1).slice(0,Gt.length);for(const[b,A]of Gt.entries()){let y=!1;const L=Ce[b],x=b+1,F=x*N,w=p.subarray(A,Y+1),Zt=g.subarray(A).subarray(0,w.length),Le=D.subarray(F+A-M).subarray(0,w.length),Ee=D.subarray(F+A-M-1-N).subarray(0,w.length),xe=k.subarray(F+A-M).subarray(0,w.length),we=k.subarray(F+A-M-1-N).subarray(0,w.length),mt=k.subarray(F+A-M-1).subarray(0,w.length);mt[0]=0;for(const[I,Me]of w.entries()){const Vt=I+A;let H=0,X=0,T=0;if(y?X=mt[I]+Z:X=mt[I]+q,L===Me){H=we[I]+j;let Q=Zt[I];T=Ee[I]+1,Q===R?T=1:T>1&&(Q=_(Q,_(St,g[Vt-T+1]))),H+Q<X?(H+=Zt[I],T=0):H+=Q}Le[I]=T,y=H<X;const it=_(_(H,X),0);x===r-1&&(s&&it>P||!s&&it>=P)&&(P=it,S=Vt),xe[I]=it}}const gt=lt(l);let O=M;if(l&>!==null){let b=r-1;O=S;let A=!0;for(;;){const y=b*N,L=O-M,x=k[y+L];let F=0,w=0;if(b>0&&O>=m[b]&&(F=k[y-N+L-1]),O>m[b]&&(w=k[y+L-1]),x>F&&(x>w||x===w&&A)){if(gt.add(O),b===0)break;b--}A=D[y+L]>1||y+N+L+1<D.length&&D[y+N+L+1]>0,O--}}return[{start:O,end:S+1,score:P},gt]};function et(t,e,s,i,n,l,u){let r=0,o=0,f=!1,a=0,d=0;const c=lt(u);let h=0;n>0&&(h=tt(s[n-1]));for(let g=n;g<l;g++){let m=s[g];const p=tt(m);if(t||(m>=W&&m<=G?m+=32:m>v&&(m=String.fromCodePoint(m).toLowerCase().codePointAt(0))),e&&(m=E(m)),m===i[r]){u&&c!==null&&c.add(g),o+=j;let P=ft(h,p);a===0?d=P:(P===R&&(d=P),P=_(_(P,d),St)),r===0?o+=P*ct:o+=P,f=!1,a++,r++}else f?o+=Z:o+=q,f=!0,a=0,d=0;h=p}return[o,c]}const Mt=(t,e,s,i,n,l,u)=>{if(n.length===0)return[{start:0,end:0,score:0},null];if(ut(i,n,t)<0)return[{start:-1,end:-1,score:0},null];let r=0,o=-1,f=-1;const a=i.length,d=n.length;for(let c=0;c<a;c++){let h=i[U(c,a,s)];t||(h>=W&&h<=G?h+=32:h>v&&(h=String.fromCodePoint(h).toLowerCase().codePointAt(0))),e&&(h=E(h));const g=n[U(r,d,s)];if(h===g&&(o<0&&(o=c),r++,r===d)){f=c+1;break}}if(o>=0&&f>=0){r--;for(let g=f-1;g>=o;g--){const m=U(g,a,s);let p=i[m];t||(p>=W&&p<=G?p+=32:p>v&&(p=String.fromCodePoint(p).toLowerCase().codePointAt(0)));const P=U(r,d,s),S=n[P];if(p===S&&(r--,r<0)){o=g;break}}if(!s){const g=o;o=a-f,f=a-g}const[c,h]=et(t,e,i,n,o,f,l);return[{start:o,end:f,score:c},h]}return[{start:-1,end:-1,score:0},null]},Rt=(t,e,s,i,n,l,u)=>{if(n.length===0)return[{start:0,end:0,score:0},null];const r=i.length,o=n.length;if(r<o)return[{start:-1,end:-1,score:0},null];if(ut(i,n,t)<0)return[{start:-1,end:-1,score:0},null];let f=0,a=-1,d=0,c=-1;for(let h=0;h<r;h++){const g=U(h,r,s);let m=i[g];t||(m>=W&&m<=G?m+=32:m>v&&(m=String.fromCodePoint(m).toLowerCase().codePointAt(0))),e&&(m=E(m));const p=U(f,o,s);if(n[p]===m){if(p===0&&(d=Qt(i,g)),f++,f===o){if(d>c&&(a=h,c=d),d===R)break;h-=f-1,f=0,d=0}}else h-=f,f=0,d=0}if(a>=0){let h=0,g=0;s?(h=a-o+1,g=a+1):(h=r-(a+1),g=r-(a-o+1));const[m]=et(t,e,i,n,h,g,!1);return[{start:h,end:g,score:m},null]}return[{start:-1,end:-1,score:0},null]},qt=(t,e,s,i,n,l,u)=>{if(n.length===0)return[{start:0,end:0,score:0},null];let r=0;if(B(n[0])||(r=pt(i)),i.length-r<n.length)return[{start:-1,end:-1,score:0},null];for(const[a,d]of n.entries()){let c=i[r+a];if(t||(c=String.fromCodePoint(c).toLowerCase().codePointAt(0)),e&&(c=E(c)),c!==d)return[{start:-1,end:-1,score:0},null]}const o=n.length,[f]=et(t,e,i,n,r,r+o,!1);return[{start:r,end:r+o,score:f},null]},te=(t,e,s,i,n,l,u)=>{let o=i.length;if((n.length===0||!B(n[n.length-1]))&&(o-=At(i)),n.length===0)return[{start:o,end:o,score:0},null];const f=o-n.length;if(f<0)return[{start:-1,end:-1,score:0},null];for(const[g,m]of n.entries()){let p=i[g+f];if(t||(p=String.fromCodePoint(p).toLowerCase().codePointAt(0)),e&&(p=E(p)),p!==m)return[{start:-1,end:-1,score:0},null]}const a=n.length,d=o-a,c=o,[h]=et(t,e,i,n,d,c,!1);return[{start:d,end:c,score:h},null]},ee=(t,e,s,i,n,l,u)=>{const r=n.length;if(r===0)return[{start:-1,end:-1,score:0},null];let o=0;B(n[0])||(o=pt(i));let f=0;if(B(n[r-1])||(f=At(i)),i.length-o-f!=r)return[{start:-1,end:-1,score:0},null];let a=!0;if(e){const d=i;for(const[c,h]of n.entries()){let g=d[o+c];if(t||(g=String.fromCodePoint(g).toLowerCase().codePointAt(0)),E(h)!==E(g)){a=!1;break}}}else{let d=ot(i).substring(o,i.length-f);t||(d=d.toLowerCase()),a=d===ot(n)}return a?[{start:o,end:o+r,score:(j+R)*r+(ct-1)*R},null]:[{start:-1,end:-1,score:0},null]},ne=100*1024,se=2048;function ie(t,e){return{i16:new Int16Array(t),i32:new Int32Array(e)}}const Nt=ie(ne,se);var It=(t=>(t[t.Fuzzy=0]="Fuzzy",t[t.Exact=1]="Exact",t[t.Prefix=2]="Prefix",t[t.Suffix=3]="Suffix",t[t.Equal=4]="Equal",t))(It||{});const re={[0]:wt,[1]:Rt,[2]:qt,[3]:te,[4]:ee};function _t(t,e,s,i){let n=!0;i=i.trimLeft();{const r=i.trimRight();r.endsWith("\\")&&i[r.length]===" "?i=r+" ":i=r}let l=!1,u=[];u=oe(t,e,s,i);t:for(const r of u)for(const[o,f]of r.entries())if(f.inv||(l=!0),(!n||o>0||f.inv||t&&f.typ!==0||!t&&f.typ!==1)&&(n=!1,l))break t;return{str:i,termSets:u,sortable:l,cacheable:n,fuzzy:t}}function oe(t,e,s,i){i=i.replace(/\\ /g,"	");const n=i.split(/ +/),l=[];let u=[],r=!1,o=!1;for(const f of n){let a=0,d=!1,c=f.replace(/\t/g," ");const h=c.toLowerCase(),g=e==="case-sensitive"||e==="smart-case"&&c!==h,m=s&&h===ot($(h).map(E));if(g||(c=h),t||(a=1),u.length>0&&!o&&c==="|"){r=!1,o=!0;continue}if(o=!1,c.startsWith("!")&&(d=!0,a=1,c=c.substring(1)),c!=="$"&&c.endsWith("$")&&(a=3,c=c.substring(0,c.length-1)),c.startsWith("'")?(t&&!d?a=1:a=0,c=c.substring(1)):c.startsWith("^")&&(a===3?a=4:a=2,c=c.substring(1)),c.length>0){r&&(l.push(u),u=[]);let p=$(c);m&&(p=p.map(E)),u.push({typ:a,inv:d,text:p,caseSensitive:g,normalize:m}),r=!0}}return u.length>0&&l.push(u),l}const kt=(t,e,s)=>{let i=!1;switch(e){case"smart-case":t.toLowerCase()!==t&&(i=!0);break;case"case-sensitive":i=!0;break;case"case-insensitive":t=t.toLowerCase(),i=!1;break}let n=$(t);return s&&(n=n.map(E)),{queryRunes:n,caseSensitive:i}};function ce(t,e,s,i,n,l,u){for(const r of e){const[o,f]=t(s,i,n,r.text,l,!0,u);if(o.start>=0){const a=o.start+r.prefixLength,d=o.end+r.prefixLength;if(f!==null){const c=new Set;return f.forEach(h=>c.add(r.prefixLength+h)),[[a,d],o.score,c]}return[[a,d],o.score,f]}}return[[-1,-1],0,null]}function le(t,e,s,i){const n=[{text:t,prefixLength:0}],l=[];let u=0;const r=new Set;for(const o of e.termSets){let f=[0,0],a=0,d=!1;for(const c of o){let h=re[c.typ];c.typ===It.Fuzzy&&(h=s);const[g,m,p]=ce(h,n,c.caseSensitive,c.normalize,i,c.text,Nt);if(g[0]>=0){if(c.inv)continue;if(f=g,a=m,d=!0,p!==null)p.forEach(S=>r.add(S));else for(let S=g[0];S<g[1];++S)r.add(S);break}else if(c.inv){f=[0,0],a=0,d=!0;continue}}d&&(l.push(f),u+=a)}return{offsets:l,totalScore:u,allPos:r}}function nt(t,e){const s=Object.keys(t).map(n=>parseInt(n,10)).sort((n,l)=>l-n);let i=[];for(const n of s)if(i=i.concat(t[n]),i.length>=e)break;return i}function Ft(t,e,s){return i=>{const n=this.runesList[i];if(e.length>n.length)return;let[l,u]=this.algoFn(s,this.opts.normalize,this.opts.forward,n,e,!0,Nt);if(l.start===-1)return;if(this.opts.fuzzy===!1){u=new Set;for(let o=l.start;o<l.end;++o)u.add(o)}const r=this.opts.sort?l.score:0;t[r]===void 0&&(t[r]=[]),t[r].push({item:this.items[i],...l,positions:u!=null?u:new Set})}}function zt(t,e){return s=>{const i=this.runesList[s],n=le(i,e,this.algoFn,this.opts.forward);if(n.offsets.length!==e.termSets.length)return;let l=-1,u=-1;n.allPos.size>0&&(l=Math.min(...n.allPos),u=Math.max(...n.allPos)+1);const r=this.opts.sort?n.totalScore:0;t[r]===void 0&&(t[r]=[]),t[r].push({score:n.totalScore,item:this.items[s],positions:n.allPos,start:l,end:u})}}function Ot(t){const{queryRunes:e,caseSensitive:s}=kt(t,this.opts.casing,this.opts.normalize),i={},n=Ft.bind(this)(i,e,s);for(let l=0,u=this.runesList.length;l<u;++l)n(l);return nt(i,this.opts.limit)}function fe(t){const e=_t(Boolean(this.opts.fuzzy),this.opts.casing,this.opts.normalize,t),s={},i=zt.bind(this)(s,e);for(let n=0,l=this.runesList.length;n<l;++n)i(n);return nt(s,this.opts.limit)}const ue=typeof require!="undefined"&&typeof window=="undefined";function Bt(t,e,s,i){return new Promise((n,l)=>{let r=0,o=Math.min(1e3,e);const f=()=>{if(t.cancelled)return l("search cancelled");for(;r<o;++r)s(r);o<e?(o=Math.min(o+1e3,e),ue?setImmediate(f):setTimeout(f)):n(i())};f()})}function vt(t,e){const{queryRunes:s,caseSensitive:i}=kt(t,this.opts.casing,this.opts.normalize),n={};return Bt(e,this.runesList.length,Ft.bind(this)(n,s,i),()=>nt(n,this.opts.limit))}function ae(t,e){const s=_t(Boolean(this.opts.fuzzy),this.opts.casing,this.opts.normalize,t),i={};return Bt(e,this.runesList.length,zt.bind(this)(i,s),()=>nt(i,this.opts.limit))}const at={limit:1/0,selector:t=>t,casing:"smart-case",normalize:!0,fuzzy:"v2",tiebreakers:[],sort:!0,forward:!0};class Ut{constructor(e,...s){switch(this.opts={...at,...s[0]},this.items=e,this.runesList=e.map(i=>$(this.opts.selector(i).normalize())),this.algoFn=Rt,this.opts.fuzzy){case"v2":this.algoFn=wt;break;case"v1":this.algoFn=Mt;break}}}const he={...at,match:Ot};class de extends Ut{constructor(e,...s){super(e,...s),this.opts={...he,...s[0]}}find(e){if(e.length===0||this.items.length===0)return this.items.slice(0,this.opts.limit).map(jt);e=e.normalize();let s=this.opts.match.bind(this)(e);return Dt(s,this.opts)}}const ge={...at,match:vt};class me extends Ut{constructor(e,...s){super(e,...s),this.opts={...ge,...s[0]},this.token={cancelled:!1}}async find(e){if(this.token.cancelled=!0,this.token={cancelled:!1},e.length===0||this.items.length===0)return this.items.slice(0,this.opts.limit).map(jt);e=e.normalize();let s=await this.opts.match.bind(this)(e,this.token);return Dt(s,this.opts)}}const jt=t=>({item:t,start:-1,end:-1,score:0,positions:new Set});function Dt(t,e){if(e.sort){const{selector:s}=e;t.sort((i,n)=>{if(i.score===n.score)for(const l of e.tiebreakers){const u=l(i,n,s);if(u!==0)return u}return 0})}return Number.isFinite(e.limit)&&t.splice(e.limit),t}function be(t,e,s){return s(t.item).length-s(e.item).length}function pe(t,e){return t.start-e.start}class Ae{constructor(e,...s){this.finder=new de(e,...s),this.find=this.finder.find.bind(this.finder)}}class Pe{constructor(e,...s){this.finder=new me(e,...s),this.find=this.finder.find.bind(this.finder)}}C.AsyncFzf=Pe,C.Fzf=Ae,C.asyncBasicMatch=vt,C.asyncExtendedMatch=ae,C.basicMatch=Ot,C.byLengthAsc=be,C.byStartAsc=pe,C.extendedMatch=fe,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
 |