1import{u as Y,f as se,g as te,h as B,i as ae,P as le,t as re,j as ie,k as E,l as Q,m as oe,n as M,p as t,q as ue,R as $,s as ne,v as ce,x as ve,C as de,y as pe,z as me,A as ye,B as he,D as ge,E as fe,F as ke,G as I,H as _,I as He,J as w,K as je}from"./app-CjUkjRdW.js";const Re=["/","/acronyms/","/nim/01-mm","/nim/","/nimjet/01-intro","/nimjet/02-setup","/nimjet/03-filetype","/nimjet/04-lexer","/nimjet/05-parser","/nimjet/06-parser-p2","/nimjet/07-grammarkit","/nimjet/08-go-to-decl","/nimjet/09-scopes","/nimjet/10-rename-refactoring","/nimjet/11-indentation","/nimjet/12-decl-sections","/nimjet/13-comments","/nimjet/14-numeric-lit","/nimjet/15-expressions","/nimjet/99-tmp","/nimjet/","/osdev/01-intro","/osdev/02-environment-setup","/osdev/03-targeting-uefi-p1","/osdev/04-targeting-uefi-p2","/osdev/05-bootloader-p1","/osdev/06-bootloader-p2","/osdev/07-kernel-image","/osdev/08-loading-the-kernel-p1","/osdev/09-loading-the-kernel-p2","/osdev/10-loading-the-kernel-p3","/osdev/11-physical-memory","/osdev/12-virtual-memory","/osdev/13-higher-half-kernel","/osdev/14-memory-segments","/osdev/15-interrupts","/osdev/16-user-mode","/osdev/17-tss","/osdev/18-system-calls","/osdev/19-tasks","/osdev/20-position-independent-code","/osdev/21-elf-loader-p1","/osdev/22-elf-loader-p2","/osdev/23-coop-multitasking","/osdev/24-system-library","/osdev/25-interrupt-controller","/osdev/","/404.html"],xe="SEARCH_PRO_QUERY_HISTORY",g=Y(xe,[]),Qe=()=>{const{queryHistoryCount:a}=w,l=a>0;return{enabled:l,queryHistory:g,addQueryHistory:r=>{l&&(g.value=Array.from(new Set([r,...g.value.slice(0,a-1)])))},removeQueryHistory:r=>{g.value=[...g.value.slice(0,r),...g.value.slice(r+1)]}}},F=a=>Re[a.id]+("anchor"in a?`#${a.anchor}`:""),we="SEARCH_PRO_RESULT_HISTORY",{resultHistoryCount:U}=w,f=Y(we,[]),qe=()=>{const a=U>0;return{enabled:a,resultHistory:f,addResultHistory:l=>{if(a){const r={link:F(l),display:l.display};"header"in l&&(r.header=l.header),f.value=[r,...f.value.slice(0,U-1)]}},removeResultHistory:l=>{f.value=[...f.value.slice(0,l),...f.value.slice(l+1)]}}},Se=a=>{const l=de(),r=B(),q=pe(),o=E(0),j=Q(()=>o.value>0),m=me([]);return ye(()=>{const{search:y,terminate:S}=he(),k=He(c=>{const H=c.join(" "),{searchFilter:C=p=>p,splitWord:b,suggestionsFilter:P,...h}=l.value;H?(o.value+=1,y(c.join(" "),r.value,h).then(p=>C(p,H,r.value,q.value)).then(p=>{o.value-=1,m.value=p}).catch(p=>{console.warn(p),o.value-=1,o.value||(m.value=[])})):m.value=[]},w.searchDelay-w.suggestDelay);M([a,r],([c])=>k(c),{immediate:!0}),ge(()=>{S()})}),{isSearching:j,results:m}};var be=se({name:"SearchResult",props:{queries:{type:Array,required:!0},isFocusing:Boolean},emits:["close","updateQuery"],setup(a,{emit:l}){const r=te(),q=B(),o=ae(le),{enabled:j,addQueryHistory:m,queryHistory:y,removeQueryHistory:S}=Qe(),{enabled:k,resultHistory:c,addResultHistory:H,removeResultHistory:C}=qe(),b=j||k,P=re(a,"queries"),{results:h,isSearching:p}=Se(P),i=ie({isQuery:!0,index:0}),v=E(0),d=E(0),O=Q(()=>b&&(y.value.length>0||c.value.length>0)),D=Q(()=>h.value.length>0),L=Q(()=>h.value[v.value]||null),z=()=>{const{isQuery:e,index:s}=i;s===0?(i.isQuery=!e,i.index=e?c.value.length-1:y.value.length-1):i.index=s-1},G=()=>{const{isQuery:e,index:s}=i;s===(e?y.value.length-1:c.value.length-1)?(i.isQuery=!e,i.index=0):i.index=s+1},J=()=>{v.value=v.value>0?v.value-1:h.value.length-1,d.value=L.value.contents.length-1},K=()=>{v.value=v.value<h.value.length-1?v.value+1:0,d.value=0},V=()=>{d.value<L.value.contents.length-1?d.value+=1:K()},N=()=>{d.value>0?d.value-=1:J()},A=e=>e.map(s=>je(s)?s:t(s[0],s[1])),W=e=>{if(e.type==="customField"){const s=fe[e.index]||"$content",[u,x=""]=ke(s)?s[q.value].split("$content"):s.split("$content");return e.display.map(n=>t("div",A([u,...n,x])))}return e.display.map(s=>t("div",A(s)))},R=()=>{v.value=0,d.value=0,l("updateQuery",""),l("close")},X=()=>j?t("ul",{class:"search-pro-result-list"},t("li",{class:"search-pro-result-list-item"},[t("div",{class:"search-pro-result-title"},o.value.queryHistory),y.value.map((e,s)=>t("div",{class:["search-pro-result-item",{active:i.isQuery&&i.index===s}],onClick:()=>{l("updateQuery",e)}},[t(I,{class:"search-pro-result-type"}),t("div",{class:"search-pro-result-content"},e),t("button",{class:"search-pro-remove-icon",innerHTML:_,onClick:u=>{u.preventDefault(),u.stopPropagation(),S(s)}})]))])):null,Z=()=>k?t("ul",{class:"search-pro-result-list"},t("li",{class:"search-pro-result-list-item"},[t("div",{class:"search-pro-result-title"},o.value.resultHistory),c.value.map((e,s)=>t($,{to:e.link,class:["search-pro-result-item",{active:!i.isQuery&&i.index===s}],onClick:()=>{R()}},()=>[t(I,{class:"search-pro-result-type"}),t("div",{class:"search-pro-result-content"},[e.header?t("div",{class:"content-header"},e.header):null,t("div",e.display.map(u=>A(u)).flat())]),t("button",{class:"search-pro-remove-icon",innerHTML:_,onClick:u=>{u.preventDefault(),u.stopPropagation(),C(s)}})]))])):null;return oe("keydown",e=>{if(a.isFocusing){if(D.value){if(e.key==="ArrowUp")N();else if(e.key==="ArrowDown")V();else if(e.key==="Enter"){const s=L.value.contents[d.value];m(a.queries.join(" ")),H(s),r.push(F(s)),R()}}else if(k){if(e.key==="ArrowUp")z();else if(e.key==="ArrowDown")G();else if(e.key==="Enter"){const{index:s}=i;i.isQuery?(l("updateQuery",y.value[s]),e.preventDefault()):(r.push(c.value[s].link),R())}}}}),M([v,d],()=>{var e;(e=document.querySelector(".search-pro-result-list-item.active .search-pro-result-item.active"))==null||e.scrollIntoView(!1)},{flush:"post"}),()=>t("div",{class:["search-pro-result-wrapper",{empty:a.queries.length?!D.value:!O.value}],id:"search-pro-results"},a.queries.length?p.value?t(ue,{hint:o.value.searching}):D.value?t("ul",{class:"search-pro-result-list"},h.value.map(({title:e,contents:s},u)=>{const x=v.value===u;return t("li",{class:["search-pro-result-list-item",{active:x}]},[t("div",{class:"search-pro-result-title"},e||o.value.defaultTitle),s.map((n,ee)=>{const T=x&&d.value===ee;return t($,{to:F(n),class:["search-pro-result-item",{active:T,"aria-selected":T}],onClick:()=>{m(a.queries.join(" ")),H(n),R()}},()=>[n.type==="text"?null:t(n.type==="title"?ne:n.type==="heading"?ce:ve,{class:"search-pro-result-type"}),t("div",{class:"search-pro-result-content"},[n.type==="text"&&n.header?t("div",{class:"content-header"},n.header):null,t("div",W(n))])])})])})):o.value.emptyResult:b?O.value?[X(),Z()]:o.value.emptyHistory:o.value.emptyResult)}});export{be as default};
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.