diff --git a/assets/highlight.css b/assets/highlight.css index 5edc4fca..e49e3daa 100644 --- a/assets/highlight.css +++ b/assets/highlight.css @@ -1,26 +1,24 @@ :root { - --light-hl-0: #000000; - --dark-hl-0: #D4D4D4; - --light-hl-1: #0000FF; - --dark-hl-1: #569CD6; - --light-hl-2: #0070C1; - --dark-hl-2: #4FC1FF; - --light-hl-3: #795E26; - --dark-hl-3: #DCDCAA; - --light-hl-4: #A31515; - --dark-hl-4: #CE9178; + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #0000FF; + --dark-hl-3: #569CD6; + --light-hl-4: #AF00DB; + --dark-hl-4: #C586C0; --light-hl-5: #001080; --dark-hl-5: #9CDCFE; --light-hl-6: #008000; --dark-hl-6: #6A9955; - --light-hl-7: #AF00DB; - --dark-hl-7: #C586C0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; --light-hl-8: #098658; --dark-hl-8: #B5CEA8; --light-hl-9: #267F99; --dark-hl-9: #4EC9B0; - --light-hl-10: #000000; - --dark-hl-10: #C8C8C8; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -36,7 +34,6 @@ --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); --code-background: var(--light-code-background); } } @@ -51,11 +48,10 @@ --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); --code-background: var(--dark-code-background); } } -body.light { +:root[data-theme='light'] { --hl-0: var(--light-hl-0); --hl-1: var(--light-hl-1); --hl-2: var(--light-hl-2); @@ -66,11 +62,10 @@ body.light { --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); --hl-9: var(--light-hl-9); - --hl-10: var(--light-hl-10); --code-background: var(--light-code-background); } -body.dark { +:root[data-theme='dark'] { --hl-0: var(--dark-hl-0); --hl-1: var(--dark-hl-1); --hl-2: var(--dark-hl-2); @@ -81,7 +76,6 @@ body.dark { --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); --hl-9: var(--dark-hl-9); - --hl-10: var(--dark-hl-10); --code-background: var(--dark-code-background); } @@ -95,5 +89,4 @@ body.dark { .hl-7 { color: var(--hl-7); } .hl-8 { color: var(--hl-8); } .hl-9 { color: var(--hl-9); } -.hl-10 { color: var(--hl-10); } pre, code { background: var(--code-background); } diff --git a/assets/main.js b/assets/main.js index 21898f46..7270cff8 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,52 +1,59 @@ -(()=>{var Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var $e=typeof require!="undefined"?require:t=>{throw new Error('Dynamic require of "'+t+'" is not supported')};var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!_e.call(t,n)&&n!=="default"&&J(t,n,{get:()=>e[n],enumerable:!(r=Pe(e,n))||r.enumerable});return t},Ae=t=>De(Me(J(t!=null?Ce(Re(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ue,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?h+=2:a==c&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),v;f in s.node.edges?v=s.node.edges[f]:(v=new t.TokenSet,s.node.edges[f]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ue=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;nn.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ce=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var pe=Ae(de());function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ce(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=pe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o${ve(c.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=c.classes;let f=document.createElement("a");f.href=n.base+c.url,f.classList.add("tsd-kind-icon"),f.innerHTML=l,h.append(f),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`${re(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch(e){return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}fe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})(); -/*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ -/*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - */ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - */ +"use strict"; +"use strict";(()=>{var Pe=Object.create;var ne=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Ie(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Pe(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var Be={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",B="mouseup",J={x:0,y:0},fe=!1,ee=!1,He=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(He=!0,F="touchstart",pe="touchmove",B="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.handleValueChange()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(e=>{e.style.display="block";let n=Array.from(e.querySelectorAll(".tsd-index-link")).every(r=>r.offsetParent==null);e.style.display=n?"none":"block"})}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 00000000..0298ae4a --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE4WSy27CMBBF/8VrVCCC0rIrqLArCFXqourCTZzEqh8RHvNQ1X+vwSmpiTMsPfeeI9ua928C7ABkSmY2z9mW9EhFoXTnVFBjmOn7+V0JUrjwi6uMTIfJw0/vQr4wveOyTfr5bXIuOFPQxfsUtbjWWtiCq4jjkmGGV/pZ0YK18TrA2Dc30/s26ucYuWRwut5iq+Wz2q0q4FqZRgTHymmipdCaDB4nw3HSad4wYwXgYt+55X2yoFOZNarcqvR8o34dhYb70T94rqWkKgrXEQIv6m6M/ssQ/Ho9Gji2HAFKAWhaxlCfIGgRfHFMETYQldA0635Ek7YUH7/7nETY4gMAAA==" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js index 26d89d02..b3fbe1e7 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = {"kinds":{"64":"Function","128":"Class","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor"},"rows":[{"id":0,"kind":64,"name":"attach","url":"modules.html#attach","classes":"tsd-kind-function"},{"id":1,"kind":128,"name":"Neovim","url":"classes/Neovim.html","classes":"tsd-kind-class"},{"id":2,"kind":512,"name":"constructor","url":"classes/Neovim.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":3,"kind":1024,"name":"prefix","url":"classes/Neovim.html#prefix","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"Neovim"},{"id":4,"kind":1024,"name":"Buffer","url":"classes/Neovim.html#Buffer","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Neovim"},{"id":5,"kind":1024,"name":"Window","url":"classes/Neovim.html#Window","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Neovim"},{"id":6,"kind":1024,"name":"Tabpage","url":"classes/Neovim.html#Tabpage","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Neovim"},{"id":7,"kind":262144,"name":"apiInfo","url":"classes/Neovim.html#apiInfo","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":8,"kind":262144,"name":"buffers","url":"classes/Neovim.html#buffers","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":9,"kind":262144,"name":"buffer","url":"classes/Neovim.html#buffer","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Neovim"},{"id":10,"kind":262144,"name":"chans","url":"classes/Neovim.html#chans","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":11,"kind":2048,"name":"getChanInfo","url":"classes/Neovim.html#getChanInfo","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":12,"kind":262144,"name":"commands","url":"classes/Neovim.html#commands","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":13,"kind":2048,"name":"getCommands","url":"classes/Neovim.html#getCommands","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":14,"kind":262144,"name":"tabpages","url":"classes/Neovim.html#tabpages","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":15,"kind":262144,"name":"tabpage","url":"classes/Neovim.html#tabpage","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Neovim"},{"id":16,"kind":262144,"name":"windows","url":"classes/Neovim.html#windows","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":17,"kind":262144,"name":"window","url":"classes/Neovim.html#window","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Neovim"},{"id":18,"kind":2048,"name":"getWindows","url":"classes/Neovim.html#getWindows","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":19,"kind":2048,"name":"getWindow","url":"classes/Neovim.html#getWindow","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":20,"kind":2048,"name":"setWindow","url":"classes/Neovim.html#setWindow","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":21,"kind":262144,"name":"runtimePaths","url":"classes/Neovim.html#runtimePaths","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":22,"kind":262144,"name":"dir","url":"classes/Neovim.html#dir","classes":"tsd-kind-set-signature tsd-parent-kind-class","parent":"Neovim"},{"id":23,"kind":262144,"name":"line","url":"classes/Neovim.html#line","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Neovim"},{"id":24,"kind":2048,"name":"getLine","url":"classes/Neovim.html#getLine","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":25,"kind":2048,"name":"setLine","url":"classes/Neovim.html#setLine","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":26,"kind":2048,"name":"getKeymap","url":"classes/Neovim.html#getKeymap","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":27,"kind":262144,"name":"mode","url":"classes/Neovim.html#mode","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":28,"kind":262144,"name":"colorMap","url":"classes/Neovim.html#colorMap","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":29,"kind":2048,"name":"getColorByName","url":"classes/Neovim.html#getColorByName","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":30,"kind":2048,"name":"getHighlight","url":"classes/Neovim.html#getHighlight","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":31,"kind":2048,"name":"getHighlightByName","url":"classes/Neovim.html#getHighlightByName","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":32,"kind":2048,"name":"getHighlightById","url":"classes/Neovim.html#getHighlightById","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":33,"kind":2048,"name":"deleteCurrentLine","url":"classes/Neovim.html#deleteCurrentLine","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":34,"kind":2048,"name":"eval","url":"classes/Neovim.html#eval","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":35,"kind":2048,"name":"lua","url":"classes/Neovim.html#lua","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":36,"kind":2048,"name":"executeLua","url":"classes/Neovim.html#executeLua","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":37,"kind":2048,"name":"callDictFunction","url":"classes/Neovim.html#callDictFunction","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":38,"kind":2048,"name":"call","url":"classes/Neovim.html#call","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":39,"kind":2048,"name":"callFunction","url":"classes/Neovim.html#callFunction","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":40,"kind":2048,"name":"callAtomic","url":"classes/Neovim.html#callAtomic","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":41,"kind":2048,"name":"command","url":"classes/Neovim.html#command","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":42,"kind":2048,"name":"commandOutput","url":"classes/Neovim.html#commandOutput","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":43,"kind":2048,"name":"getVvar","url":"classes/Neovim.html#getVvar","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":44,"kind":2048,"name":"setVvar","url":"classes/Neovim.html#setVvar","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":45,"kind":2048,"name":"feedKeys","url":"classes/Neovim.html#feedKeys","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":46,"kind":2048,"name":"input","url":"classes/Neovim.html#input","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":47,"kind":2048,"name":"inputMouse","url":"classes/Neovim.html#inputMouse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":48,"kind":2048,"name":"parseExpression","url":"classes/Neovim.html#parseExpression","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":49,"kind":2048,"name":"getProc","url":"classes/Neovim.html#getProc","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":50,"kind":2048,"name":"getProcChildren","url":"classes/Neovim.html#getProcChildren","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":51,"kind":2048,"name":"replaceTermcodes","url":"classes/Neovim.html#replaceTermcodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":52,"kind":2048,"name":"strWidth","url":"classes/Neovim.html#strWidth","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":53,"kind":2048,"name":"outWrite","url":"classes/Neovim.html#outWrite","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":54,"kind":2048,"name":"outWriteLine","url":"classes/Neovim.html#outWriteLine","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":55,"kind":2048,"name":"errWrite","url":"classes/Neovim.html#errWrite","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":56,"kind":2048,"name":"errWriteLine","url":"classes/Neovim.html#errWriteLine","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":57,"kind":262144,"name":"uis","url":"classes/Neovim.html#uis","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":58,"kind":2048,"name":"uiAttach","url":"classes/Neovim.html#uiAttach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":59,"kind":2048,"name":"uiDetach","url":"classes/Neovim.html#uiDetach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":60,"kind":2048,"name":"uiTryResize","url":"classes/Neovim.html#uiTryResize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":61,"kind":2048,"name":"uiTryResizeGrid","url":"classes/Neovim.html#uiTryResizeGrid","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":62,"kind":2048,"name":"uiSetOption","url":"classes/Neovim.html#uiSetOption","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":63,"kind":2048,"name":"subscribe","url":"classes/Neovim.html#subscribe","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":64,"kind":2048,"name":"unsubscribe","url":"classes/Neovim.html#unsubscribe","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":65,"kind":2048,"name":"setClientInfo","url":"classes/Neovim.html#setClientInfo","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":66,"kind":2048,"name":"createNamespace","url":"classes/Neovim.html#createNamespace","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":67,"kind":262144,"name":"namespaces","url":"classes/Neovim.html#namespaces","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Neovim"},{"id":68,"kind":2048,"name":"getNamespaces","url":"classes/Neovim.html#getNamespaces","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":69,"kind":2048,"name":"selectPopupmenuItem","url":"classes/Neovim.html#selectPopupmenuItem","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":70,"kind":2048,"name":"createBuf","url":"classes/Neovim.html#createBuf","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"Neovim"},{"id":71,"kind":2048,"name":"createBuffer","url":"classes/Neovim.html#createBuffer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":72,"kind":2048,"name":"openWin","url":"classes/Neovim.html#openWin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"Neovim"},{"id":73,"kind":2048,"name":"openWindow","url":"classes/Neovim.html#openWindow","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":74,"kind":2048,"name":"winConfig","url":"classes/Neovim.html#winConfig","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"Neovim"},{"id":75,"kind":2048,"name":"windowConfig","url":"classes/Neovim.html#windowConfig","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":76,"kind":2048,"name":"winClose","url":"classes/Neovim.html#winClose","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"Neovim"},{"id":77,"kind":2048,"name":"windowClose","url":"classes/Neovim.html#windowClose","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":78,"kind":2048,"name":"quit","url":"classes/Neovim.html#quit","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Neovim"},{"id":79,"kind":1024,"name":"transport","url":"classes/Neovim.html#transport","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Neovim"},{"id":80,"kind":1024,"name":"_isReady","url":"classes/Neovim.html#_isReady","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Neovim"},{"id":81,"kind":1024,"name":"logger","url":"classes/Neovim.html#logger","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":82,"kind":1024,"name":"data","url":"classes/Neovim.html#data","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":83,"kind":1024,"name":"client","url":"classes/Neovim.html#client","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Neovim"},{"id":84,"kind":2048,"name":"setTransport","url":"classes/Neovim.html#setTransport","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Neovim"},{"id":85,"kind":2048,"name":"equals","url":"classes/Neovim.html#equals","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":86,"kind":2048,"name":"asyncRequest","url":"classes/Neovim.html#asyncRequest","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":87,"kind":2048,"name":"request","url":"classes/Neovim.html#request","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":88,"kind":2048,"name":"_getArgsByPrefix","url":"classes/Neovim.html#_getArgsByPrefix","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":89,"kind":2048,"name":"getVar","url":"classes/Neovim.html#getVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":90,"kind":2048,"name":"setVar","url":"classes/Neovim.html#setVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":91,"kind":2048,"name":"deleteVar","url":"classes/Neovim.html#deleteVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":92,"kind":2048,"name":"getOption","url":"classes/Neovim.html#getOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":93,"kind":2048,"name":"setOption","url":"classes/Neovim.html#setOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":94,"kind":2048,"name":"notify","url":"classes/Neovim.html#notify","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":95,"kind":2048,"name":"[DO_REQUEST]","url":"classes/Neovim.html#_DO_REQUEST_","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Neovim"},{"id":96,"kind":128,"name":"NeovimClient","url":"classes/NeovimClient.html","classes":"tsd-kind-class"},{"id":97,"kind":512,"name":"constructor","url":"classes/NeovimClient.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"NeovimClient"},{"id":98,"kind":1024,"name":"requestQueue","url":"classes/NeovimClient.html#requestQueue","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"NeovimClient"},{"id":99,"kind":1024,"name":"transportAttached","url":"classes/NeovimClient.html#transportAttached","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"NeovimClient"},{"id":100,"kind":1024,"name":"_channelId","url":"classes/NeovimClient.html#_channelId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"NeovimClient"},{"id":101,"kind":1024,"name":"attachedBuffers","url":"classes/NeovimClient.html#attachedBuffers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"NeovimClient"},{"id":102,"kind":2048,"name":"attach","url":"classes/NeovimClient.html#attach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":103,"kind":262144,"name":"isApiReady","url":"classes/NeovimClient.html#isApiReady","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NeovimClient"},{"id":104,"kind":262144,"name":"channelId","url":"classes/NeovimClient.html#channelId","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NeovimClient"},{"id":105,"kind":2048,"name":"isAttached","url":"classes/NeovimClient.html#isAttached","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":106,"kind":2048,"name":"handleRequest","url":"classes/NeovimClient.html#handleRequest","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":107,"kind":2048,"name":"emitNotification","url":"classes/NeovimClient.html#emitNotification","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":108,"kind":2048,"name":"handleNotification","url":"classes/NeovimClient.html#handleNotification","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":109,"kind":2048,"name":"setupTransport","url":"classes/NeovimClient.html#setupTransport","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":110,"kind":2048,"name":"requestApi","url":"classes/NeovimClient.html#requestApi","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":111,"kind":2048,"name":"generateApi","url":"classes/NeovimClient.html#generateApi","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":112,"kind":2048,"name":"attachBuffer","url":"classes/NeovimClient.html#attachBuffer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":113,"kind":2048,"name":"detachBuffer","url":"classes/NeovimClient.html#detachBuffer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NeovimClient"},{"id":114,"kind":1024,"name":"prefix","url":"classes/NeovimClient.html#prefix","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"NeovimClient"},{"id":115,"kind":1024,"name":"Buffer","url":"classes/NeovimClient.html#Buffer","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":116,"kind":1024,"name":"Window","url":"classes/NeovimClient.html#Window","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":117,"kind":1024,"name":"Tabpage","url":"classes/NeovimClient.html#Tabpage","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":118,"kind":262144,"name":"apiInfo","url":"classes/NeovimClient.html#apiInfo","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":119,"kind":262144,"name":"buffers","url":"classes/NeovimClient.html#buffers","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":120,"kind":262144,"name":"buffer","url":"classes/NeovimClient.html#buffer","classes":"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":121,"kind":262144,"name":"chans","url":"classes/NeovimClient.html#chans","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":122,"kind":2048,"name":"getChanInfo","url":"classes/NeovimClient.html#getChanInfo","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":123,"kind":262144,"name":"commands","url":"classes/NeovimClient.html#commands","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":124,"kind":2048,"name":"getCommands","url":"classes/NeovimClient.html#getCommands","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":125,"kind":262144,"name":"tabpages","url":"classes/NeovimClient.html#tabpages","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":126,"kind":262144,"name":"tabpage","url":"classes/NeovimClient.html#tabpage","classes":"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":127,"kind":262144,"name":"windows","url":"classes/NeovimClient.html#windows","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":128,"kind":262144,"name":"window","url":"classes/NeovimClient.html#window","classes":"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":129,"kind":2048,"name":"getWindows","url":"classes/NeovimClient.html#getWindows","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":130,"kind":2048,"name":"getWindow","url":"classes/NeovimClient.html#getWindow","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":131,"kind":2048,"name":"setWindow","url":"classes/NeovimClient.html#setWindow","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":132,"kind":262144,"name":"runtimePaths","url":"classes/NeovimClient.html#runtimePaths","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":133,"kind":262144,"name":"dir","url":"classes/NeovimClient.html#dir","classes":"tsd-kind-set-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":134,"kind":262144,"name":"line","url":"classes/NeovimClient.html#line","classes":"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":135,"kind":2048,"name":"getLine","url":"classes/NeovimClient.html#getLine","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":136,"kind":2048,"name":"setLine","url":"classes/NeovimClient.html#setLine","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":137,"kind":2048,"name":"getKeymap","url":"classes/NeovimClient.html#getKeymap","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":138,"kind":262144,"name":"mode","url":"classes/NeovimClient.html#mode","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":139,"kind":262144,"name":"colorMap","url":"classes/NeovimClient.html#colorMap","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":140,"kind":2048,"name":"getColorByName","url":"classes/NeovimClient.html#getColorByName","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":141,"kind":2048,"name":"getHighlight","url":"classes/NeovimClient.html#getHighlight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":142,"kind":2048,"name":"getHighlightByName","url":"classes/NeovimClient.html#getHighlightByName","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":143,"kind":2048,"name":"getHighlightById","url":"classes/NeovimClient.html#getHighlightById","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":144,"kind":2048,"name":"deleteCurrentLine","url":"classes/NeovimClient.html#deleteCurrentLine","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":145,"kind":2048,"name":"eval","url":"classes/NeovimClient.html#eval","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":146,"kind":2048,"name":"lua","url":"classes/NeovimClient.html#lua","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":147,"kind":2048,"name":"executeLua","url":"classes/NeovimClient.html#executeLua","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":148,"kind":2048,"name":"callDictFunction","url":"classes/NeovimClient.html#callDictFunction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":149,"kind":2048,"name":"call","url":"classes/NeovimClient.html#call","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":150,"kind":2048,"name":"callFunction","url":"classes/NeovimClient.html#callFunction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":151,"kind":2048,"name":"callAtomic","url":"classes/NeovimClient.html#callAtomic","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":152,"kind":2048,"name":"command","url":"classes/NeovimClient.html#command","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":153,"kind":2048,"name":"commandOutput","url":"classes/NeovimClient.html#commandOutput","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":154,"kind":2048,"name":"getVvar","url":"classes/NeovimClient.html#getVvar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":155,"kind":2048,"name":"setVvar","url":"classes/NeovimClient.html#setVvar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":156,"kind":2048,"name":"feedKeys","url":"classes/NeovimClient.html#feedKeys","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":157,"kind":2048,"name":"input","url":"classes/NeovimClient.html#input","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":158,"kind":2048,"name":"inputMouse","url":"classes/NeovimClient.html#inputMouse","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":159,"kind":2048,"name":"parseExpression","url":"classes/NeovimClient.html#parseExpression","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":160,"kind":2048,"name":"getProc","url":"classes/NeovimClient.html#getProc","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":161,"kind":2048,"name":"getProcChildren","url":"classes/NeovimClient.html#getProcChildren","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":162,"kind":2048,"name":"replaceTermcodes","url":"classes/NeovimClient.html#replaceTermcodes","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":163,"kind":2048,"name":"strWidth","url":"classes/NeovimClient.html#strWidth","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":164,"kind":2048,"name":"outWrite","url":"classes/NeovimClient.html#outWrite","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":165,"kind":2048,"name":"outWriteLine","url":"classes/NeovimClient.html#outWriteLine","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":166,"kind":2048,"name":"errWrite","url":"classes/NeovimClient.html#errWrite","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":167,"kind":2048,"name":"errWriteLine","url":"classes/NeovimClient.html#errWriteLine","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":168,"kind":262144,"name":"uis","url":"classes/NeovimClient.html#uis","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":169,"kind":2048,"name":"uiAttach","url":"classes/NeovimClient.html#uiAttach","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":170,"kind":2048,"name":"uiDetach","url":"classes/NeovimClient.html#uiDetach","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":171,"kind":2048,"name":"uiTryResize","url":"classes/NeovimClient.html#uiTryResize","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":172,"kind":2048,"name":"uiTryResizeGrid","url":"classes/NeovimClient.html#uiTryResizeGrid","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":173,"kind":2048,"name":"uiSetOption","url":"classes/NeovimClient.html#uiSetOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":174,"kind":2048,"name":"subscribe","url":"classes/NeovimClient.html#subscribe","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":175,"kind":2048,"name":"unsubscribe","url":"classes/NeovimClient.html#unsubscribe","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":176,"kind":2048,"name":"setClientInfo","url":"classes/NeovimClient.html#setClientInfo","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":177,"kind":2048,"name":"createNamespace","url":"classes/NeovimClient.html#createNamespace","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":178,"kind":262144,"name":"namespaces","url":"classes/NeovimClient.html#namespaces","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":179,"kind":2048,"name":"getNamespaces","url":"classes/NeovimClient.html#getNamespaces","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":180,"kind":2048,"name":"selectPopupmenuItem","url":"classes/NeovimClient.html#selectPopupmenuItem","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":181,"kind":2048,"name":"createBuffer","url":"classes/NeovimClient.html#createBuffer","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":182,"kind":2048,"name":"openWindow","url":"classes/NeovimClient.html#openWindow","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":183,"kind":2048,"name":"windowConfig","url":"classes/NeovimClient.html#windowConfig","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":184,"kind":2048,"name":"windowClose","url":"classes/NeovimClient.html#windowClose","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":185,"kind":2048,"name":"quit","url":"classes/NeovimClient.html#quit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":186,"kind":1024,"name":"transport","url":"classes/NeovimClient.html#transport","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"NeovimClient"},{"id":187,"kind":1024,"name":"_isReady","url":"classes/NeovimClient.html#_isReady","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"NeovimClient"},{"id":188,"kind":1024,"name":"logger","url":"classes/NeovimClient.html#logger","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":189,"kind":1024,"name":"data","url":"classes/NeovimClient.html#data","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":190,"kind":1024,"name":"client","url":"classes/NeovimClient.html#client","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"NeovimClient"},{"id":191,"kind":2048,"name":"setTransport","url":"classes/NeovimClient.html#setTransport","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"NeovimClient"},{"id":192,"kind":2048,"name":"equals","url":"classes/NeovimClient.html#equals","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":193,"kind":2048,"name":"asyncRequest","url":"classes/NeovimClient.html#asyncRequest","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":194,"kind":2048,"name":"request","url":"classes/NeovimClient.html#request","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":195,"kind":2048,"name":"_getArgsByPrefix","url":"classes/NeovimClient.html#_getArgsByPrefix","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":196,"kind":2048,"name":"getVar","url":"classes/NeovimClient.html#getVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":197,"kind":2048,"name":"setVar","url":"classes/NeovimClient.html#setVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":198,"kind":2048,"name":"deleteVar","url":"classes/NeovimClient.html#deleteVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":199,"kind":2048,"name":"getOption","url":"classes/NeovimClient.html#getOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":200,"kind":2048,"name":"setOption","url":"classes/NeovimClient.html#setOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":201,"kind":2048,"name":"notify","url":"classes/NeovimClient.html#notify","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":202,"kind":2048,"name":"[DO_REQUEST]","url":"classes/NeovimClient.html#_DO_REQUEST_","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"NeovimClient"},{"id":203,"kind":128,"name":"Buffer","url":"classes/Buffer.html","classes":"tsd-kind-class"},{"id":204,"kind":512,"name":"constructor","url":"classes/Buffer.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":205,"kind":1024,"name":"prefix","url":"classes/Buffer.html#prefix","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"Buffer"},{"id":206,"kind":262144,"name":"isAttached","url":"classes/Buffer.html#isAttached","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":207,"kind":262144,"name":"id","url":"classes/Buffer.html#id","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":208,"kind":262144,"name":"length","url":"classes/Buffer.html#length","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":209,"kind":262144,"name":"lines","url":"classes/Buffer.html#lines","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":210,"kind":262144,"name":"changedtick","url":"classes/Buffer.html#changedtick","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":211,"kind":262144,"name":"commands","url":"classes/Buffer.html#commands","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":212,"kind":2048,"name":"getCommands","url":"classes/Buffer.html#getCommands","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":213,"kind":2048,"name":"getLines","url":"classes/Buffer.html#getLines","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":214,"kind":2048,"name":"setLines","url":"classes/Buffer.html#setLines","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":215,"kind":2048,"name":"insert","url":"classes/Buffer.html#insert","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":216,"kind":2048,"name":"replace","url":"classes/Buffer.html#replace","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":217,"kind":2048,"name":"remove","url":"classes/Buffer.html#remove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":218,"kind":2048,"name":"append","url":"classes/Buffer.html#append","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":219,"kind":262144,"name":"name","url":"classes/Buffer.html#name","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Buffer"},{"id":220,"kind":262144,"name":"valid","url":"classes/Buffer.html#valid","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":221,"kind":2048,"name":"mark","url":"classes/Buffer.html#mark","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":222,"kind":2048,"name":"getKeymap","url":"classes/Buffer.html#getKeymap","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":223,"kind":262144,"name":"loaded","url":"classes/Buffer.html#loaded","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Buffer"},{"id":224,"kind":2048,"name":"getOffset","url":"classes/Buffer.html#getOffset","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":225,"kind":2048,"name":"addHighlight","url":"classes/Buffer.html#addHighlight","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":226,"kind":2048,"name":"clearHighlight","url":"classes/Buffer.html#clearHighlight","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":227,"kind":2048,"name":"clearNamespace","url":"classes/Buffer.html#clearNamespace","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":228,"kind":2048,"name":"setVirtualText","url":"classes/Buffer.html#setVirtualText","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":229,"kind":2048,"name":"listen","url":"classes/Buffer.html#listen","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":230,"kind":2048,"name":"unlisten","url":"classes/Buffer.html#unlisten","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":231,"kind":2048,"name":"[ATTACH]","url":"classes/Buffer.html#_ATTACH_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":232,"kind":2048,"name":"[DETACH]","url":"classes/Buffer.html#_DETACH_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Buffer"},{"id":233,"kind":1024,"name":"transport","url":"classes/Buffer.html#transport","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Buffer"},{"id":234,"kind":1024,"name":"_isReady","url":"classes/Buffer.html#_isReady","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Buffer"},{"id":235,"kind":1024,"name":"logger","url":"classes/Buffer.html#logger","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":236,"kind":1024,"name":"data","url":"classes/Buffer.html#data","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":237,"kind":1024,"name":"client","url":"classes/Buffer.html#client","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Buffer"},{"id":238,"kind":2048,"name":"setTransport","url":"classes/Buffer.html#setTransport","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Buffer"},{"id":239,"kind":2048,"name":"equals","url":"classes/Buffer.html#equals","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":240,"kind":2048,"name":"asyncRequest","url":"classes/Buffer.html#asyncRequest","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":241,"kind":2048,"name":"request","url":"classes/Buffer.html#request","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":242,"kind":2048,"name":"_getArgsByPrefix","url":"classes/Buffer.html#_getArgsByPrefix","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":243,"kind":2048,"name":"getVar","url":"classes/Buffer.html#getVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":244,"kind":2048,"name":"setVar","url":"classes/Buffer.html#setVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":245,"kind":2048,"name":"deleteVar","url":"classes/Buffer.html#deleteVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":246,"kind":2048,"name":"getOption","url":"classes/Buffer.html#getOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":247,"kind":2048,"name":"setOption","url":"classes/Buffer.html#setOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":248,"kind":2048,"name":"notify","url":"classes/Buffer.html#notify","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":249,"kind":2048,"name":"[DO_REQUEST]","url":"classes/Buffer.html#_DO_REQUEST_","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Buffer"},{"id":250,"kind":128,"name":"Tabpage","url":"classes/Tabpage.html","classes":"tsd-kind-class"},{"id":251,"kind":512,"name":"constructor","url":"classes/Tabpage.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":252,"kind":1024,"name":"prefix","url":"classes/Tabpage.html#prefix","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"Tabpage"},{"id":253,"kind":262144,"name":"windows","url":"classes/Tabpage.html#windows","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Tabpage"},{"id":254,"kind":262144,"name":"window","url":"classes/Tabpage.html#window","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Tabpage"},{"id":255,"kind":262144,"name":"valid","url":"classes/Tabpage.html#valid","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Tabpage"},{"id":256,"kind":262144,"name":"number","url":"classes/Tabpage.html#number","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Tabpage"},{"id":257,"kind":2048,"name":"getOption","url":"classes/Tabpage.html#getOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"Tabpage"},{"id":258,"kind":2048,"name":"setOption","url":"classes/Tabpage.html#setOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"Tabpage"},{"id":259,"kind":1024,"name":"transport","url":"classes/Tabpage.html#transport","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Tabpage"},{"id":260,"kind":1024,"name":"_isReady","url":"classes/Tabpage.html#_isReady","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Tabpage"},{"id":261,"kind":1024,"name":"logger","url":"classes/Tabpage.html#logger","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":262,"kind":1024,"name":"data","url":"classes/Tabpage.html#data","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":263,"kind":1024,"name":"client","url":"classes/Tabpage.html#client","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Tabpage"},{"id":264,"kind":2048,"name":"setTransport","url":"classes/Tabpage.html#setTransport","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Tabpage"},{"id":265,"kind":2048,"name":"equals","url":"classes/Tabpage.html#equals","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":266,"kind":2048,"name":"asyncRequest","url":"classes/Tabpage.html#asyncRequest","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":267,"kind":2048,"name":"request","url":"classes/Tabpage.html#request","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":268,"kind":2048,"name":"_getArgsByPrefix","url":"classes/Tabpage.html#_getArgsByPrefix","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":269,"kind":2048,"name":"getVar","url":"classes/Tabpage.html#getVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":270,"kind":2048,"name":"setVar","url":"classes/Tabpage.html#setVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":271,"kind":2048,"name":"deleteVar","url":"classes/Tabpage.html#deleteVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":272,"kind":2048,"name":"notify","url":"classes/Tabpage.html#notify","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":273,"kind":2048,"name":"[DO_REQUEST]","url":"classes/Tabpage.html#_DO_REQUEST_","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Tabpage"},{"id":274,"kind":128,"name":"Window","url":"classes/Window.html","classes":"tsd-kind-class"},{"id":275,"kind":512,"name":"constructor","url":"classes/Window.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":276,"kind":1024,"name":"prefix","url":"classes/Window.html#prefix","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"Window"},{"id":277,"kind":262144,"name":"id","url":"classes/Window.html#id","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":278,"kind":262144,"name":"buffer","url":"classes/Window.html#buffer","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":279,"kind":262144,"name":"tabpage","url":"classes/Window.html#tabpage","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":280,"kind":262144,"name":"cursor","url":"classes/Window.html#cursor","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Window"},{"id":281,"kind":262144,"name":"height","url":"classes/Window.html#height","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Window"},{"id":282,"kind":262144,"name":"width","url":"classes/Window.html#width","classes":"tsd-kind-accessor tsd-parent-kind-class","parent":"Window"},{"id":283,"kind":262144,"name":"position","url":"classes/Window.html#position","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":284,"kind":262144,"name":"row","url":"classes/Window.html#row","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":285,"kind":262144,"name":"col","url":"classes/Window.html#col","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":286,"kind":262144,"name":"valid","url":"classes/Window.html#valid","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":287,"kind":262144,"name":"number","url":"classes/Window.html#number","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Window"},{"id":288,"kind":2048,"name":"close","url":"classes/Window.html#close","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Window"},{"id":289,"kind":2048,"name":"config","url":"classes/Window.html#config","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Window"},{"id":290,"kind":1024,"name":"transport","url":"classes/Window.html#transport","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Window"},{"id":291,"kind":1024,"name":"_isReady","url":"classes/Window.html#_isReady","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Window"},{"id":292,"kind":1024,"name":"logger","url":"classes/Window.html#logger","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":293,"kind":1024,"name":"data","url":"classes/Window.html#data","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":294,"kind":1024,"name":"client","url":"classes/Window.html#client","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Window"},{"id":295,"kind":2048,"name":"setTransport","url":"classes/Window.html#setTransport","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"Window"},{"id":296,"kind":2048,"name":"equals","url":"classes/Window.html#equals","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":297,"kind":2048,"name":"asyncRequest","url":"classes/Window.html#asyncRequest","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":298,"kind":2048,"name":"request","url":"classes/Window.html#request","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":299,"kind":2048,"name":"_getArgsByPrefix","url":"classes/Window.html#_getArgsByPrefix","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":300,"kind":2048,"name":"getVar","url":"classes/Window.html#getVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":301,"kind":2048,"name":"setVar","url":"classes/Window.html#setVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":302,"kind":2048,"name":"deleteVar","url":"classes/Window.html#deleteVar","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":303,"kind":2048,"name":"getOption","url":"classes/Window.html#getOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":304,"kind":2048,"name":"setOption","url":"classes/Window.html#setOption","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":305,"kind":2048,"name":"notify","url":"classes/Window.html#notify","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":306,"kind":2048,"name":"[DO_REQUEST]","url":"classes/Window.html#_DO_REQUEST_","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"Window"},{"id":307,"kind":64,"name":"Plugin","url":"modules.html#Plugin","classes":"tsd-kind-function"},{"id":308,"kind":64,"name":"Function","url":"modules.html#Function","classes":"tsd-kind-function"},{"id":309,"kind":64,"name":"Autocmd","url":"modules.html#Autocmd","classes":"tsd-kind-function"},{"id":310,"kind":64,"name":"Command","url":"modules.html#Command","classes":"tsd-kind-function"},{"id":311,"kind":128,"name":"NvimPlugin","url":"classes/NvimPlugin.html","classes":"tsd-kind-class"},{"id":312,"kind":512,"name":"constructor","url":"classes/NvimPlugin.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NvimPlugin"},{"id":313,"kind":1024,"name":"filename","url":"classes/NvimPlugin.html#filename","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":314,"kind":1024,"name":"nvim","url":"classes/NvimPlugin.html#nvim","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":315,"kind":1024,"name":"instance","url":"classes/NvimPlugin.html#instance","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":316,"kind":1024,"name":"dev","url":"classes/NvimPlugin.html#dev","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":317,"kind":1024,"name":"alwaysInit","url":"classes/NvimPlugin.html#alwaysInit","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":318,"kind":1024,"name":"autocmds","url":"classes/NvimPlugin.html#autocmds","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":319,"kind":65536,"name":"__type","url":"classes/NvimPlugin.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"NvimPlugin"},{"id":320,"kind":1024,"name":"commands","url":"classes/NvimPlugin.html#commands","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":321,"kind":65536,"name":"__type","url":"classes/NvimPlugin.html#__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"NvimPlugin"},{"id":322,"kind":1024,"name":"functions","url":"classes/NvimPlugin.html#functions","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NvimPlugin"},{"id":323,"kind":65536,"name":"__type","url":"classes/NvimPlugin.html#__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-class","parent":"NvimPlugin"},{"id":324,"kind":2048,"name":"setOptions","url":"classes/NvimPlugin.html#setOptions","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NvimPlugin"},{"id":325,"kind":262144,"name":"shouldCacheModule","url":"classes/NvimPlugin.html#shouldCacheModule","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NvimPlugin"},{"id":326,"kind":2048,"name":"registerAutocmd","url":"classes/NvimPlugin.html#registerAutocmd","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NvimPlugin"},{"id":327,"kind":2048,"name":"registerCommand","url":"classes/NvimPlugin.html#registerCommand","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NvimPlugin"},{"id":328,"kind":2048,"name":"registerFunction","url":"classes/NvimPlugin.html#registerFunction","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NvimPlugin"},{"id":329,"kind":262144,"name":"specs","url":"classes/NvimPlugin.html#specs","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NvimPlugin"},{"id":330,"kind":2048,"name":"handleRequest","url":"classes/NvimPlugin.html#handleRequest","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NvimPlugin"},{"id":331,"kind":64,"name":"loadPlugin","url":"modules.html#loadPlugin","classes":"tsd-kind-function"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,45.554]],["parent/0",[]],["name/1",[1,12.49]],["parent/1",[]],["name/2",[2,39.363]],["parent/2",[1,1.23]],["name/3",[3,41.034]],["parent/3",[1,1.23]],["name/4",[4,18.473]],["parent/4",[1,1.23]],["name/5",[5,21.575]],["parent/5",[1,1.23]],["name/6",[6,24.238]],["parent/6",[1,1.23]],["name/7",[7,48.919]],["parent/7",[1,1.23]],["name/8",[8,48.919]],["parent/8",[1,1.23]],["name/9",[4,18.473]],["parent/9",[1,1.23]],["name/10",[9,48.919]],["parent/10",[1,1.23]],["name/11",[10,48.919]],["parent/11",[1,1.23]],["name/12",[11,43.041]],["parent/12",[1,1.23]],["name/13",[12,45.554]],["parent/13",[1,1.23]],["name/14",[13,48.919]],["parent/14",[1,1.23]],["name/15",[6,24.238]],["parent/15",[1,1.23]],["name/16",[14,45.554]],["parent/16",[1,1.23]],["name/17",[5,21.575]],["parent/17",[1,1.23]],["name/18",[15,48.919]],["parent/18",[1,1.23]],["name/19",[16,48.919]],["parent/19",[1,1.23]],["name/20",[17,48.919]],["parent/20",[1,1.23]],["name/21",[18,48.919]],["parent/21",[1,1.23]],["name/22",[19,48.919]],["parent/22",[1,1.23]],["name/23",[20,48.919]],["parent/23",[1,1.23]],["name/24",[21,48.919]],["parent/24",[1,1.23]],["name/25",[22,48.919]],["parent/25",[1,1.23]],["name/26",[23,45.554]],["parent/26",[1,1.23]],["name/27",[24,48.919]],["parent/27",[1,1.23]],["name/28",[25,48.919]],["parent/28",[1,1.23]],["name/29",[26,48.919]],["parent/29",[1,1.23]],["name/30",[27,48.919]],["parent/30",[1,1.23]],["name/31",[28,48.919]],["parent/31",[1,1.23]],["name/32",[29,48.919]],["parent/32",[1,1.23]],["name/33",[30,48.919]],["parent/33",[1,1.23]],["name/34",[31,48.919]],["parent/34",[1,1.23]],["name/35",[32,48.919]],["parent/35",[1,1.23]],["name/36",[33,48.919]],["parent/36",[1,1.23]],["name/37",[34,48.919]],["parent/37",[1,1.23]],["name/38",[35,48.919]],["parent/38",[1,1.23]],["name/39",[36,48.919]],["parent/39",[1,1.23]],["name/40",[37,48.919]],["parent/40",[1,1.23]],["name/41",[38,45.554]],["parent/41",[1,1.23]],["name/42",[39,48.919]],["parent/42",[1,1.23]],["name/43",[40,48.919]],["parent/43",[1,1.23]],["name/44",[41,48.919]],["parent/44",[1,1.23]],["name/45",[42,48.919]],["parent/45",[1,1.23]],["name/46",[43,48.919]],["parent/46",[1,1.23]],["name/47",[44,48.919]],["parent/47",[1,1.23]],["name/48",[45,48.919]],["parent/48",[1,1.23]],["name/49",[46,48.919]],["parent/49",[1,1.23]],["name/50",[47,48.919]],["parent/50",[1,1.23]],["name/51",[48,48.919]],["parent/51",[1,1.23]],["name/52",[49,48.919]],["parent/52",[1,1.23]],["name/53",[50,48.919]],["parent/53",[1,1.23]],["name/54",[51,48.919]],["parent/54",[1,1.23]],["name/55",[52,48.919]],["parent/55",[1,1.23]],["name/56",[53,48.919]],["parent/56",[1,1.23]],["name/57",[54,48.919]],["parent/57",[1,1.23]],["name/58",[55,48.919]],["parent/58",[1,1.23]],["name/59",[56,48.919]],["parent/59",[1,1.23]],["name/60",[57,48.919]],["parent/60",[1,1.23]],["name/61",[58,48.919]],["parent/61",[1,1.23]],["name/62",[59,48.919]],["parent/62",[1,1.23]],["name/63",[60,48.919]],["parent/63",[1,1.23]],["name/64",[61,48.919]],["parent/64",[1,1.23]],["name/65",[62,48.919]],["parent/65",[1,1.23]],["name/66",[63,48.919]],["parent/66",[1,1.23]],["name/67",[64,48.919]],["parent/67",[1,1.23]],["name/68",[65,48.919]],["parent/68",[1,1.23]],["name/69",[66,48.919]],["parent/69",[1,1.23]],["name/70",[67,54.027]],["parent/70",[1,1.23]],["name/71",[68,48.919]],["parent/71",[1,1.23]],["name/72",[69,54.027]],["parent/72",[1,1.23]],["name/73",[70,48.919]],["parent/73",[1,1.23]],["name/74",[71,54.027]],["parent/74",[1,1.23]],["name/75",[72,48.919]],["parent/75",[1,1.23]],["name/76",[73,54.027]],["parent/76",[1,1.23]],["name/77",[74,48.919]],["parent/77",[1,1.23]],["name/78",[75,48.919]],["parent/78",[1,1.23]],["name/79",[76,41.034]],["parent/79",[1,1.23]],["name/80",[77,41.034]],["parent/80",[1,1.23]],["name/81",[78,41.034]],["parent/81",[1,1.23]],["name/82",[79,41.034]],["parent/82",[1,1.23]],["name/83",[80,41.034]],["parent/83",[1,1.23]],["name/84",[81,41.034]],["parent/84",[1,1.23]],["name/85",[82,41.034]],["parent/85",[1,1.23]],["name/86",[83,41.034]],["parent/86",[1,1.23]],["name/87",[84,41.034]],["parent/87",[1,1.23]],["name/88",[85,41.034]],["parent/88",[1,1.23]],["name/89",[86,41.034]],["parent/89",[1,1.23]],["name/90",[87,41.034]],["parent/90",[1,1.23]],["name/91",[88,41.034]],["parent/91",[1,1.23]],["name/92",[89,41.034]],["parent/92",[1,1.23]],["name/93",[90,41.034]],["parent/93",[1,1.23]],["name/94",[91,41.034]],["parent/94",[1,1.23]],["name/95",[92,41.034]],["parent/95",[1,1.23]],["name/96",[93,11.307]],["parent/96",[]],["name/97",[2,39.363]],["parent/97",[93,1.114]],["name/98",[94,54.027]],["parent/98",[93,1.114]],["name/99",[95,54.027]],["parent/99",[93,1.114]],["name/100",[96,54.027]],["parent/100",[93,1.114]],["name/101",[97,54.027]],["parent/101",[93,1.114]],["name/102",[0,45.554]],["parent/102",[93,1.114]],["name/103",[98,54.027]],["parent/103",[93,1.114]],["name/104",[99,54.027]],["parent/104",[93,1.114]],["name/105",[100,48.919]],["parent/105",[93,1.114]],["name/106",[101,48.919]],["parent/106",[93,1.114]],["name/107",[102,54.027]],["parent/107",[93,1.114]],["name/108",[103,54.027]],["parent/108",[93,1.114]],["name/109",[104,54.027]],["parent/109",[93,1.114]],["name/110",[105,54.027]],["parent/110",[93,1.114]],["name/111",[106,54.027]],["parent/111",[93,1.114]],["name/112",[107,54.027]],["parent/112",[93,1.114]],["name/113",[108,54.027]],["parent/113",[93,1.114]],["name/114",[3,41.034]],["parent/114",[93,1.114]],["name/115",[4,18.473]],["parent/115",[93,1.114]],["name/116",[5,21.575]],["parent/116",[93,1.114]],["name/117",[6,24.238]],["parent/117",[93,1.114]],["name/118",[7,48.919]],["parent/118",[93,1.114]],["name/119",[8,48.919]],["parent/119",[93,1.114]],["name/120",[4,18.473]],["parent/120",[93,1.114]],["name/121",[9,48.919]],["parent/121",[93,1.114]],["name/122",[10,48.919]],["parent/122",[93,1.114]],["name/123",[11,43.041]],["parent/123",[93,1.114]],["name/124",[12,45.554]],["parent/124",[93,1.114]],["name/125",[13,48.919]],["parent/125",[93,1.114]],["name/126",[6,24.238]],["parent/126",[93,1.114]],["name/127",[14,45.554]],["parent/127",[93,1.114]],["name/128",[5,21.575]],["parent/128",[93,1.114]],["name/129",[15,48.919]],["parent/129",[93,1.114]],["name/130",[16,48.919]],["parent/130",[93,1.114]],["name/131",[17,48.919]],["parent/131",[93,1.114]],["name/132",[18,48.919]],["parent/132",[93,1.114]],["name/133",[19,48.919]],["parent/133",[93,1.114]],["name/134",[20,48.919]],["parent/134",[93,1.114]],["name/135",[21,48.919]],["parent/135",[93,1.114]],["name/136",[22,48.919]],["parent/136",[93,1.114]],["name/137",[23,45.554]],["parent/137",[93,1.114]],["name/138",[24,48.919]],["parent/138",[93,1.114]],["name/139",[25,48.919]],["parent/139",[93,1.114]],["name/140",[26,48.919]],["parent/140",[93,1.114]],["name/141",[27,48.919]],["parent/141",[93,1.114]],["name/142",[28,48.919]],["parent/142",[93,1.114]],["name/143",[29,48.919]],["parent/143",[93,1.114]],["name/144",[30,48.919]],["parent/144",[93,1.114]],["name/145",[31,48.919]],["parent/145",[93,1.114]],["name/146",[32,48.919]],["parent/146",[93,1.114]],["name/147",[33,48.919]],["parent/147",[93,1.114]],["name/148",[34,48.919]],["parent/148",[93,1.114]],["name/149",[35,48.919]],["parent/149",[93,1.114]],["name/150",[36,48.919]],["parent/150",[93,1.114]],["name/151",[37,48.919]],["parent/151",[93,1.114]],["name/152",[38,45.554]],["parent/152",[93,1.114]],["name/153",[39,48.919]],["parent/153",[93,1.114]],["name/154",[40,48.919]],["parent/154",[93,1.114]],["name/155",[41,48.919]],["parent/155",[93,1.114]],["name/156",[42,48.919]],["parent/156",[93,1.114]],["name/157",[43,48.919]],["parent/157",[93,1.114]],["name/158",[44,48.919]],["parent/158",[93,1.114]],["name/159",[45,48.919]],["parent/159",[93,1.114]],["name/160",[46,48.919]],["parent/160",[93,1.114]],["name/161",[47,48.919]],["parent/161",[93,1.114]],["name/162",[48,48.919]],["parent/162",[93,1.114]],["name/163",[49,48.919]],["parent/163",[93,1.114]],["name/164",[50,48.919]],["parent/164",[93,1.114]],["name/165",[51,48.919]],["parent/165",[93,1.114]],["name/166",[52,48.919]],["parent/166",[93,1.114]],["name/167",[53,48.919]],["parent/167",[93,1.114]],["name/168",[54,48.919]],["parent/168",[93,1.114]],["name/169",[55,48.919]],["parent/169",[93,1.114]],["name/170",[56,48.919]],["parent/170",[93,1.114]],["name/171",[57,48.919]],["parent/171",[93,1.114]],["name/172",[58,48.919]],["parent/172",[93,1.114]],["name/173",[59,48.919]],["parent/173",[93,1.114]],["name/174",[60,48.919]],["parent/174",[93,1.114]],["name/175",[61,48.919]],["parent/175",[93,1.114]],["name/176",[62,48.919]],["parent/176",[93,1.114]],["name/177",[63,48.919]],["parent/177",[93,1.114]],["name/178",[64,48.919]],["parent/178",[93,1.114]],["name/179",[65,48.919]],["parent/179",[93,1.114]],["name/180",[66,48.919]],["parent/180",[93,1.114]],["name/181",[68,48.919]],["parent/181",[93,1.114]],["name/182",[70,48.919]],["parent/182",[93,1.114]],["name/183",[72,48.919]],["parent/183",[93,1.114]],["name/184",[74,48.919]],["parent/184",[93,1.114]],["name/185",[75,48.919]],["parent/185",[93,1.114]],["name/186",[76,41.034]],["parent/186",[93,1.114]],["name/187",[77,41.034]],["parent/187",[93,1.114]],["name/188",[78,41.034]],["parent/188",[93,1.114]],["name/189",[79,41.034]],["parent/189",[93,1.114]],["name/190",[80,41.034]],["parent/190",[93,1.114]],["name/191",[81,41.034]],["parent/191",[93,1.114]],["name/192",[82,41.034]],["parent/192",[93,1.114]],["name/193",[83,41.034]],["parent/193",[93,1.114]],["name/194",[84,41.034]],["parent/194",[93,1.114]],["name/195",[85,41.034]],["parent/195",[93,1.114]],["name/196",[86,41.034]],["parent/196",[93,1.114]],["name/197",[87,41.034]],["parent/197",[93,1.114]],["name/198",[88,41.034]],["parent/198",[93,1.114]],["name/199",[89,41.034]],["parent/199",[93,1.114]],["name/200",[90,41.034]],["parent/200",[93,1.114]],["name/201",[91,41.034]],["parent/201",[93,1.114]],["name/202",[92,41.034]],["parent/202",[93,1.114]],["name/203",[4,18.473]],["parent/203",[]],["name/204",[2,39.363]],["parent/204",[4,1.819]],["name/205",[3,41.034]],["parent/205",[4,1.819]],["name/206",[100,48.919]],["parent/206",[4,1.819]],["name/207",[109,48.919]],["parent/207",[4,1.819]],["name/208",[110,54.027]],["parent/208",[4,1.819]],["name/209",[111,54.027]],["parent/209",[4,1.819]],["name/210",[112,54.027]],["parent/210",[4,1.819]],["name/211",[11,43.041]],["parent/211",[4,1.819]],["name/212",[12,45.554]],["parent/212",[4,1.819]],["name/213",[113,54.027]],["parent/213",[4,1.819]],["name/214",[114,54.027]],["parent/214",[4,1.819]],["name/215",[115,54.027]],["parent/215",[4,1.819]],["name/216",[116,54.027]],["parent/216",[4,1.819]],["name/217",[117,54.027]],["parent/217",[4,1.819]],["name/218",[118,54.027]],["parent/218",[4,1.819]],["name/219",[119,54.027]],["parent/219",[4,1.819]],["name/220",[120,45.554]],["parent/220",[4,1.819]],["name/221",[121,54.027]],["parent/221",[4,1.819]],["name/222",[23,45.554]],["parent/222",[4,1.819]],["name/223",[122,54.027]],["parent/223",[4,1.819]],["name/224",[123,54.027]],["parent/224",[4,1.819]],["name/225",[124,54.027]],["parent/225",[4,1.819]],["name/226",[125,54.027]],["parent/226",[4,1.819]],["name/227",[126,54.027]],["parent/227",[4,1.819]],["name/228",[127,54.027]],["parent/228",[4,1.819]],["name/229",[128,54.027]],["parent/229",[4,1.819]],["name/230",[129,54.027]],["parent/230",[4,1.819]],["name/231",[0,45.554]],["parent/231",[4,1.819]],["name/232",[130,54.027]],["parent/232",[4,1.819]],["name/233",[76,41.034]],["parent/233",[4,1.819]],["name/234",[77,41.034]],["parent/234",[4,1.819]],["name/235",[78,41.034]],["parent/235",[4,1.819]],["name/236",[79,41.034]],["parent/236",[4,1.819]],["name/237",[80,41.034]],["parent/237",[4,1.819]],["name/238",[81,41.034]],["parent/238",[4,1.819]],["name/239",[82,41.034]],["parent/239",[4,1.819]],["name/240",[83,41.034]],["parent/240",[4,1.819]],["name/241",[84,41.034]],["parent/241",[4,1.819]],["name/242",[85,41.034]],["parent/242",[4,1.819]],["name/243",[86,41.034]],["parent/243",[4,1.819]],["name/244",[87,41.034]],["parent/244",[4,1.819]],["name/245",[88,41.034]],["parent/245",[4,1.819]],["name/246",[89,41.034]],["parent/246",[4,1.819]],["name/247",[90,41.034]],["parent/247",[4,1.819]],["name/248",[91,41.034]],["parent/248",[4,1.819]],["name/249",[92,41.034]],["parent/249",[4,1.819]],["name/250",[6,24.238]],["parent/250",[]],["name/251",[2,39.363]],["parent/251",[6,2.387]],["name/252",[3,41.034]],["parent/252",[6,2.387]],["name/253",[14,45.554]],["parent/253",[6,2.387]],["name/254",[5,21.575]],["parent/254",[6,2.387]],["name/255",[120,45.554]],["parent/255",[6,2.387]],["name/256",[131,48.919]],["parent/256",[6,2.387]],["name/257",[89,41.034]],["parent/257",[6,2.387]],["name/258",[90,41.034]],["parent/258",[6,2.387]],["name/259",[76,41.034]],["parent/259",[6,2.387]],["name/260",[77,41.034]],["parent/260",[6,2.387]],["name/261",[78,41.034]],["parent/261",[6,2.387]],["name/262",[79,41.034]],["parent/262",[6,2.387]],["name/263",[80,41.034]],["parent/263",[6,2.387]],["name/264",[81,41.034]],["parent/264",[6,2.387]],["name/265",[82,41.034]],["parent/265",[6,2.387]],["name/266",[83,41.034]],["parent/266",[6,2.387]],["name/267",[84,41.034]],["parent/267",[6,2.387]],["name/268",[85,41.034]],["parent/268",[6,2.387]],["name/269",[86,41.034]],["parent/269",[6,2.387]],["name/270",[87,41.034]],["parent/270",[6,2.387]],["name/271",[88,41.034]],["parent/271",[6,2.387]],["name/272",[91,41.034]],["parent/272",[6,2.387]],["name/273",[92,41.034]],["parent/273",[6,2.387]],["name/274",[5,21.575]],["parent/274",[]],["name/275",[2,39.363]],["parent/275",[5,2.125]],["name/276",[3,41.034]],["parent/276",[5,2.125]],["name/277",[109,48.919]],["parent/277",[5,2.125]],["name/278",[4,18.473]],["parent/278",[5,2.125]],["name/279",[6,24.238]],["parent/279",[5,2.125]],["name/280",[132,54.027]],["parent/280",[5,2.125]],["name/281",[133,54.027]],["parent/281",[5,2.125]],["name/282",[134,54.027]],["parent/282",[5,2.125]],["name/283",[135,54.027]],["parent/283",[5,2.125]],["name/284",[136,54.027]],["parent/284",[5,2.125]],["name/285",[137,54.027]],["parent/285",[5,2.125]],["name/286",[120,45.554]],["parent/286",[5,2.125]],["name/287",[131,48.919]],["parent/287",[5,2.125]],["name/288",[138,54.027]],["parent/288",[5,2.125]],["name/289",[139,54.027]],["parent/289",[5,2.125]],["name/290",[76,41.034]],["parent/290",[5,2.125]],["name/291",[77,41.034]],["parent/291",[5,2.125]],["name/292",[78,41.034]],["parent/292",[5,2.125]],["name/293",[79,41.034]],["parent/293",[5,2.125]],["name/294",[80,41.034]],["parent/294",[5,2.125]],["name/295",[81,41.034]],["parent/295",[5,2.125]],["name/296",[82,41.034]],["parent/296",[5,2.125]],["name/297",[83,41.034]],["parent/297",[5,2.125]],["name/298",[84,41.034]],["parent/298",[5,2.125]],["name/299",[85,41.034]],["parent/299",[5,2.125]],["name/300",[86,41.034]],["parent/300",[5,2.125]],["name/301",[87,41.034]],["parent/301",[5,2.125]],["name/302",[88,41.034]],["parent/302",[5,2.125]],["name/303",[89,41.034]],["parent/303",[5,2.125]],["name/304",[90,41.034]],["parent/304",[5,2.125]],["name/305",[91,41.034]],["parent/305",[5,2.125]],["name/306",[92,41.034]],["parent/306",[5,2.125]],["name/307",[140,54.027]],["parent/307",[]],["name/308",[141,54.027]],["parent/308",[]],["name/309",[142,54.027]],["parent/309",[]],["name/310",[38,45.554]],["parent/310",[]],["name/311",[143,27.877]],["parent/311",[]],["name/312",[2,39.363]],["parent/312",[143,2.746]],["name/313",[144,54.027]],["parent/313",[143,2.746]],["name/314",[145,54.027]],["parent/314",[143,2.746]],["name/315",[146,54.027]],["parent/315",[143,2.746]],["name/316",[147,54.027]],["parent/316",[143,2.746]],["name/317",[148,54.027]],["parent/317",[143,2.746]],["name/318",[149,54.027]],["parent/318",[143,2.746]],["name/319",[150,45.554]],["parent/319",[143,2.746]],["name/320",[11,43.041]],["parent/320",[143,2.746]],["name/321",[150,45.554]],["parent/321",[143,2.746]],["name/322",[151,54.027]],["parent/322",[143,2.746]],["name/323",[150,45.554]],["parent/323",[143,2.746]],["name/324",[152,54.027]],["parent/324",[143,2.746]],["name/325",[153,54.027]],["parent/325",[143,2.746]],["name/326",[154,54.027]],["parent/326",[143,2.746]],["name/327",[155,54.027]],["parent/327",[143,2.746]],["name/328",[156,54.027]],["parent/328",[143,2.746]],["name/329",[157,54.027]],["parent/329",[143,2.746]],["name/330",[101,48.919]],["parent/330",[143,2.746]],["name/331",[158,54.027]],["parent/331",[]]],"invertedIndex":[["__type",{"_index":150,"name":{"319":{},"321":{},"323":{}},"parent":{}}],["_channelid",{"_index":96,"name":{"100":{}},"parent":{}}],["_getargsbyprefix",{"_index":85,"name":{"88":{},"195":{},"242":{},"268":{},"299":{}},"parent":{}}],["_isready",{"_index":77,"name":{"80":{},"187":{},"234":{},"260":{},"291":{}},"parent":{}}],["addhighlight",{"_index":124,"name":{"225":{}},"parent":{}}],["alwaysinit",{"_index":148,"name":{"317":{}},"parent":{}}],["apiinfo",{"_index":7,"name":{"7":{},"118":{}},"parent":{}}],["append",{"_index":118,"name":{"218":{}},"parent":{}}],["asyncrequest",{"_index":83,"name":{"86":{},"193":{},"240":{},"266":{},"297":{}},"parent":{}}],["attach",{"_index":0,"name":{"0":{},"102":{},"231":{}},"parent":{}}],["attachbuffer",{"_index":107,"name":{"112":{}},"parent":{}}],["attachedbuffers",{"_index":97,"name":{"101":{}},"parent":{}}],["autocmd",{"_index":142,"name":{"309":{}},"parent":{}}],["autocmds",{"_index":149,"name":{"318":{}},"parent":{}}],["buffer",{"_index":4,"name":{"4":{},"9":{},"115":{},"120":{},"203":{},"278":{}},"parent":{"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{}}}],["buffers",{"_index":8,"name":{"8":{},"119":{}},"parent":{}}],["call",{"_index":35,"name":{"38":{},"149":{}},"parent":{}}],["callatomic",{"_index":37,"name":{"40":{},"151":{}},"parent":{}}],["calldictfunction",{"_index":34,"name":{"37":{},"148":{}},"parent":{}}],["callfunction",{"_index":36,"name":{"39":{},"150":{}},"parent":{}}],["changedtick",{"_index":112,"name":{"210":{}},"parent":{}}],["channelid",{"_index":99,"name":{"104":{}},"parent":{}}],["chans",{"_index":9,"name":{"10":{},"121":{}},"parent":{}}],["clearhighlight",{"_index":125,"name":{"226":{}},"parent":{}}],["clearnamespace",{"_index":126,"name":{"227":{}},"parent":{}}],["client",{"_index":80,"name":{"83":{},"190":{},"237":{},"263":{},"294":{}},"parent":{}}],["close",{"_index":138,"name":{"288":{}},"parent":{}}],["col",{"_index":137,"name":{"285":{}},"parent":{}}],["colormap",{"_index":25,"name":{"28":{},"139":{}},"parent":{}}],["command",{"_index":38,"name":{"41":{},"152":{},"310":{}},"parent":{}}],["commandoutput",{"_index":39,"name":{"42":{},"153":{}},"parent":{}}],["commands",{"_index":11,"name":{"12":{},"123":{},"211":{},"320":{}},"parent":{}}],["config",{"_index":139,"name":{"289":{}},"parent":{}}],["constructor",{"_index":2,"name":{"2":{},"97":{},"204":{},"251":{},"275":{},"312":{}},"parent":{}}],["createbuf",{"_index":67,"name":{"70":{}},"parent":{}}],["createbuffer",{"_index":68,"name":{"71":{},"181":{}},"parent":{}}],["createnamespace",{"_index":63,"name":{"66":{},"177":{}},"parent":{}}],["cursor",{"_index":132,"name":{"280":{}},"parent":{}}],["data",{"_index":79,"name":{"82":{},"189":{},"236":{},"262":{},"293":{}},"parent":{}}],["deletecurrentline",{"_index":30,"name":{"33":{},"144":{}},"parent":{}}],["deletevar",{"_index":88,"name":{"91":{},"198":{},"245":{},"271":{},"302":{}},"parent":{}}],["detach",{"_index":130,"name":{"232":{}},"parent":{}}],["detachbuffer",{"_index":108,"name":{"113":{}},"parent":{}}],["dev",{"_index":147,"name":{"316":{}},"parent":{}}],["dir",{"_index":19,"name":{"22":{},"133":{}},"parent":{}}],["do_request",{"_index":92,"name":{"95":{},"202":{},"249":{},"273":{},"306":{}},"parent":{}}],["emitnotification",{"_index":102,"name":{"107":{}},"parent":{}}],["equals",{"_index":82,"name":{"85":{},"192":{},"239":{},"265":{},"296":{}},"parent":{}}],["errwrite",{"_index":52,"name":{"55":{},"166":{}},"parent":{}}],["errwriteline",{"_index":53,"name":{"56":{},"167":{}},"parent":{}}],["eval",{"_index":31,"name":{"34":{},"145":{}},"parent":{}}],["executelua",{"_index":33,"name":{"36":{},"147":{}},"parent":{}}],["feedkeys",{"_index":42,"name":{"45":{},"156":{}},"parent":{}}],["filename",{"_index":144,"name":{"313":{}},"parent":{}}],["function",{"_index":141,"name":{"308":{}},"parent":{}}],["functions",{"_index":151,"name":{"322":{}},"parent":{}}],["generateapi",{"_index":106,"name":{"111":{}},"parent":{}}],["getchaninfo",{"_index":10,"name":{"11":{},"122":{}},"parent":{}}],["getcolorbyname",{"_index":26,"name":{"29":{},"140":{}},"parent":{}}],["getcommands",{"_index":12,"name":{"13":{},"124":{},"212":{}},"parent":{}}],["gethighlight",{"_index":27,"name":{"30":{},"141":{}},"parent":{}}],["gethighlightbyid",{"_index":29,"name":{"32":{},"143":{}},"parent":{}}],["gethighlightbyname",{"_index":28,"name":{"31":{},"142":{}},"parent":{}}],["getkeymap",{"_index":23,"name":{"26":{},"137":{},"222":{}},"parent":{}}],["getline",{"_index":21,"name":{"24":{},"135":{}},"parent":{}}],["getlines",{"_index":113,"name":{"213":{}},"parent":{}}],["getnamespaces",{"_index":65,"name":{"68":{},"179":{}},"parent":{}}],["getoffset",{"_index":123,"name":{"224":{}},"parent":{}}],["getoption",{"_index":89,"name":{"92":{},"199":{},"246":{},"257":{},"303":{}},"parent":{}}],["getproc",{"_index":46,"name":{"49":{},"160":{}},"parent":{}}],["getprocchildren",{"_index":47,"name":{"50":{},"161":{}},"parent":{}}],["getvar",{"_index":86,"name":{"89":{},"196":{},"243":{},"269":{},"300":{}},"parent":{}}],["getvvar",{"_index":40,"name":{"43":{},"154":{}},"parent":{}}],["getwindow",{"_index":16,"name":{"19":{},"130":{}},"parent":{}}],["getwindows",{"_index":15,"name":{"18":{},"129":{}},"parent":{}}],["handlenotification",{"_index":103,"name":{"108":{}},"parent":{}}],["handlerequest",{"_index":101,"name":{"106":{},"330":{}},"parent":{}}],["height",{"_index":133,"name":{"281":{}},"parent":{}}],["id",{"_index":109,"name":{"207":{},"277":{}},"parent":{}}],["input",{"_index":43,"name":{"46":{},"157":{}},"parent":{}}],["inputmouse",{"_index":44,"name":{"47":{},"158":{}},"parent":{}}],["insert",{"_index":115,"name":{"215":{}},"parent":{}}],["instance",{"_index":146,"name":{"315":{}},"parent":{}}],["isapiready",{"_index":98,"name":{"103":{}},"parent":{}}],["isattached",{"_index":100,"name":{"105":{},"206":{}},"parent":{}}],["length",{"_index":110,"name":{"208":{}},"parent":{}}],["line",{"_index":20,"name":{"23":{},"134":{}},"parent":{}}],["lines",{"_index":111,"name":{"209":{}},"parent":{}}],["listen",{"_index":128,"name":{"229":{}},"parent":{}}],["loaded",{"_index":122,"name":{"223":{}},"parent":{}}],["loadplugin",{"_index":158,"name":{"331":{}},"parent":{}}],["logger",{"_index":78,"name":{"81":{},"188":{},"235":{},"261":{},"292":{}},"parent":{}}],["lua",{"_index":32,"name":{"35":{},"146":{}},"parent":{}}],["mark",{"_index":121,"name":{"221":{}},"parent":{}}],["mode",{"_index":24,"name":{"27":{},"138":{}},"parent":{}}],["name",{"_index":119,"name":{"219":{}},"parent":{}}],["namespaces",{"_index":64,"name":{"67":{},"178":{}},"parent":{}}],["neovim",{"_index":1,"name":{"1":{}},"parent":{"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{}}}],["neovimclient",{"_index":93,"name":{"96":{}},"parent":{"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{}}}],["notify",{"_index":91,"name":{"94":{},"201":{},"248":{},"272":{},"305":{}},"parent":{}}],["number",{"_index":131,"name":{"256":{},"287":{}},"parent":{}}],["nvim",{"_index":145,"name":{"314":{}},"parent":{}}],["nvimplugin",{"_index":143,"name":{"311":{}},"parent":{"312":{},"313":{},"314":{},"315":{},"316":{},"317":{},"318":{},"319":{},"320":{},"321":{},"322":{},"323":{},"324":{},"325":{},"326":{},"327":{},"328":{},"329":{},"330":{}}}],["openwin",{"_index":69,"name":{"72":{}},"parent":{}}],["openwindow",{"_index":70,"name":{"73":{},"182":{}},"parent":{}}],["outwrite",{"_index":50,"name":{"53":{},"164":{}},"parent":{}}],["outwriteline",{"_index":51,"name":{"54":{},"165":{}},"parent":{}}],["parseexpression",{"_index":45,"name":{"48":{},"159":{}},"parent":{}}],["plugin",{"_index":140,"name":{"307":{}},"parent":{}}],["position",{"_index":135,"name":{"283":{}},"parent":{}}],["prefix",{"_index":3,"name":{"3":{},"114":{},"205":{},"252":{},"276":{}},"parent":{}}],["quit",{"_index":75,"name":{"78":{},"185":{}},"parent":{}}],["registerautocmd",{"_index":154,"name":{"326":{}},"parent":{}}],["registercommand",{"_index":155,"name":{"327":{}},"parent":{}}],["registerfunction",{"_index":156,"name":{"328":{}},"parent":{}}],["remove",{"_index":117,"name":{"217":{}},"parent":{}}],["replace",{"_index":116,"name":{"216":{}},"parent":{}}],["replacetermcodes",{"_index":48,"name":{"51":{},"162":{}},"parent":{}}],["request",{"_index":84,"name":{"87":{},"194":{},"241":{},"267":{},"298":{}},"parent":{}}],["requestapi",{"_index":105,"name":{"110":{}},"parent":{}}],["requestqueue",{"_index":94,"name":{"98":{}},"parent":{}}],["row",{"_index":136,"name":{"284":{}},"parent":{}}],["runtimepaths",{"_index":18,"name":{"21":{},"132":{}},"parent":{}}],["selectpopupmenuitem",{"_index":66,"name":{"69":{},"180":{}},"parent":{}}],["setclientinfo",{"_index":62,"name":{"65":{},"176":{}},"parent":{}}],["setline",{"_index":22,"name":{"25":{},"136":{}},"parent":{}}],["setlines",{"_index":114,"name":{"214":{}},"parent":{}}],["setoption",{"_index":90,"name":{"93":{},"200":{},"247":{},"258":{},"304":{}},"parent":{}}],["setoptions",{"_index":152,"name":{"324":{}},"parent":{}}],["settransport",{"_index":81,"name":{"84":{},"191":{},"238":{},"264":{},"295":{}},"parent":{}}],["setuptransport",{"_index":104,"name":{"109":{}},"parent":{}}],["setvar",{"_index":87,"name":{"90":{},"197":{},"244":{},"270":{},"301":{}},"parent":{}}],["setvirtualtext",{"_index":127,"name":{"228":{}},"parent":{}}],["setvvar",{"_index":41,"name":{"44":{},"155":{}},"parent":{}}],["setwindow",{"_index":17,"name":{"20":{},"131":{}},"parent":{}}],["shouldcachemodule",{"_index":153,"name":{"325":{}},"parent":{}}],["specs",{"_index":157,"name":{"329":{}},"parent":{}}],["strwidth",{"_index":49,"name":{"52":{},"163":{}},"parent":{}}],["subscribe",{"_index":60,"name":{"63":{},"174":{}},"parent":{}}],["tabpage",{"_index":6,"name":{"6":{},"15":{},"117":{},"126":{},"250":{},"279":{}},"parent":{"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{}}}],["tabpages",{"_index":13,"name":{"14":{},"125":{}},"parent":{}}],["transport",{"_index":76,"name":{"79":{},"186":{},"233":{},"259":{},"290":{}},"parent":{}}],["transportattached",{"_index":95,"name":{"99":{}},"parent":{}}],["uiattach",{"_index":55,"name":{"58":{},"169":{}},"parent":{}}],["uidetach",{"_index":56,"name":{"59":{},"170":{}},"parent":{}}],["uis",{"_index":54,"name":{"57":{},"168":{}},"parent":{}}],["uisetoption",{"_index":59,"name":{"62":{},"173":{}},"parent":{}}],["uitryresize",{"_index":57,"name":{"60":{},"171":{}},"parent":{}}],["uitryresizegrid",{"_index":58,"name":{"61":{},"172":{}},"parent":{}}],["unlisten",{"_index":129,"name":{"230":{}},"parent":{}}],["unsubscribe",{"_index":61,"name":{"64":{},"175":{}},"parent":{}}],["valid",{"_index":120,"name":{"220":{},"255":{},"286":{}},"parent":{}}],["width",{"_index":134,"name":{"282":{}},"parent":{}}],["winclose",{"_index":73,"name":{"76":{}},"parent":{}}],["winconfig",{"_index":71,"name":{"74":{}},"parent":{}}],["window",{"_index":5,"name":{"5":{},"17":{},"116":{},"128":{},"254":{},"274":{}},"parent":{"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{},"295":{},"296":{},"297":{},"298":{},"299":{},"300":{},"301":{},"302":{},"303":{},"304":{},"305":{},"306":{}}}],["windowclose",{"_index":74,"name":{"77":{},"184":{}},"parent":{}}],["windowconfig",{"_index":72,"name":{"75":{},"183":{}},"parent":{}}],["windows",{"_index":14,"name":{"16":{},"127":{},"253":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE7WdW5PbNrKA/8qp8eusIwC8SH5LvNnd1NlNslmf5MGVcskSZ8xajaSlpLFnU/nvhwAJqbvZDfCWh6Rsq4luooFG4yOa/O2uOnw+3b15/9vdv8v99u5Nltzf7ddPxd2bu/X5vN58uru/u1S7+q8Pl/3mXB72p6+aH15/Oj/t6l83u/XpVNRt3N39fu+bUXp5bef74vBcPl3baeW/av452Eqq9LWVTa35XF0250MVauoVlrs1ez5t/1Se/lTuPxVVeS629Y/HdVXszzcLgfkLfeuHY1U8lF+CSq8iHX3H6nAuNoP0fXN5eCjCN3kVAd3Wu/1f6n86fA62fxUZ0/679cfj+rEIKrjJ9NSgM60SMDaP5Xf7h0NQx01mnI6PrpNPQR03mSk6eqj4kxqtY/NpvQ/fhZfo2/4iuc3ux+L8tr486g0sN/JODk9P6/02cjM3obH300cNlht3P+dmFoQVAaFJWvoomTDKPruQEb6Vm8wUHT1UDLoP4v1fetwIEpukp5+akVpOvbScRmjBfqku+3P5VPy4Pn8K9xsRHKdtW4YDZvP7uLZ35T48UVqBkT7/e6z5m8xIf0c1nCZpqO373+LlaX2M3cVVapwfng7b8G20AmPXkd2h+kfkJoDQ6HWkbuGbl+/tP0SXEig6Ut/fysdPu/q/c0wbFJyqq9/9dcWn6/1uO0CrEx6jc1vsinPx9lJZ6ejs4qTHaC2e17ugolZgTNu7yzoc4tzvo6z+Umwu5+LvEQVIbIyezXq3+3O5Of+l3ZKG53FXeKzOqJ4Jbfe+lxnu4+vz4ancRDVdxUbpaZLjPqn6NA0/XM7HSzjkUcmRsefn53U487jJjFy9oxpOkzQ8FMW2XpjDORoQGqOj3Me84SVGt/6Pw+UUDsNIbIyeWuxUfPvlWBWnU2xSdmVHjq8fq0N4Ut5kJmh4+6ncbesL+mgCsmM0VsVxt94U74rqaVPna5G9QVd41Cw6V7+U2/On8DS6CY3Rcbicf7EQMagDCE3REU05iOCodbuq4vcDhKboiN4PERyX4V/K8GBrfh9zH5fya8zF+eavQuN0/LnooeMqNE7Hu+rlp+JU/jfsDiw3UdNfqzKcEXRlx2n8V3H+4RhNp7DcqGhz+XjaVOXHyJ4bSI26n30/PVhuZA7ydlfWklGeSyVHZXBVsT4XdkN4OtahP5zDdWTHRYa9byEcIJDYyNX2+36qqOQ4v+2KzfnHw/FyfCr2l+/ORfCB2ytefrwPv7k89PBeI3XTcn1GVj6v3cIyVGfs2QkRHLUOH4v9L2U4jtxkpt9b21YM2iKxMff1udy/PewfysegGig1/d4aON9PLRQce3+7Q2SfAIRmu7s+SoHcmHv7z6UMb7FagZ5to6e352q9Px0PVVgBlGJ6rn3m/T/jH7p/KE8/FevtS9AKIPSHGLE7PD5GIsxVpGPACH3b9TlMzlqBOXRt3OIdjp5eZK7OpanGu15jjQj+IcYU/7msd+Fl+ioysveRvvXpZb/5qW6yOIVvngjOobvqobaaVeOHOsX5uno8ffPyY/wsDSM8hw2WzfXAd+sJc7lD83rAvNn0NU8eYiqh1Ey92mOf9cjusib1bQ+tp5m17g/n8iG8IF1F5tD3/s8/fPjp23/+37f/evdreMbcBD9MWB06R/behpaI5scZj++BBsVDfN0baG0UFrk2jP3zUlyknAyqJeLySjPUjmu61GChQoIg0Bjumv5JatieD/bE177YiY9QoSFIeC4L1u1NfRM8ZAfN6F4xwRa8GIeAXteEoSOSAIjy9PWxDOW2UCMSnqJ1iMN5fw/t1dr0/oMdCY/XWRu+3RXhvAqqpfLjNRdP5fl7G/3LzTqwMkHlzCVT73ygBexF422oF9zLMZbTQ/2dC8brbkN3PVv6x/lGeLzOx2JfVHW86acUS4/X2gShIPzqxqxeCCysd1sM0kvEx6/hweP3UGOPQ/g9dohhY3rfPnPjU3UHqSDUzXDBqbrDZ/qhcu5k/wjtg877o/HOnPqfrj9cCwD1cxUBc+nvrZ6cf56uP1RDQFOH6fc+rL4AB1m+ymCGHggXBeDdC1MXMEc/9DdBqk6Y3g+RmgW0g+EqF2azoL8Bs8+GcK0DtICreJhLf2/1M9z/oBoJMhC5SonZbBhiwqwWxGorSJ47kwWD6y5Q2itVX0y3RK7JQDlhOTkj6l+vARV3qjZmGH+Bg0xk9HVOMs0w9npq56o9Zrj3YA0IuXumEmS63wP1IVB9p0pkjjwgWDuC8wCmgmSWPCBWV9JJBfjqkhlsidWcEEv4ypM57RjSL6GqlHlt6sXdghUrU+3pW8eC9/ChapapFgVqXBAmo5UuU/XK9S9oybgMfdIeudtYbQy6Z75CZqoNPetmUAwLVc/MYU9PG2bXO7AP/rD7D9biUCuYipzJNgTrdJht7R+hPVjDw9jAVPLMEK8D1TckTHdqcGbI6Hpq5yqApmqP1AVB9Wx10FT9oZoh9JSoUzk0i+ZQPVFHfbeqaKoN/WqNEOkOVBzNMA8CdUhkHnSqkWbSHqlRYqxgK5WmWtOzfgk/WgpUMU2OEuHaJhQmuAqnqfojdU9QP1v9NJf+numrWBk1OZcL10uhTI6rmppLf89+ECuqpu+G5ToraACttpp6/5EaLKyaqcSarj9Yn4X1M1Va0/XHarewCXwF14xWBOq6BEs61V3TrYnVfGFL+MqvyRE6UqeFQjRbqzW5H6K1YqgfhIqxGfLZRqDnczu5mmzyDqNXjRnaYwQqzaZHzGj9GTRFqEKbIcuK1qaRHEuoUJs+TvrWreHREq5em2fM9D7rIVaZTc53YrVgKNvhK8Km2tCjZqv7xFGuGZtqR6C6ijFDqu0abUWg8gqq79RfTT1/E6vKQk+95yqWCZsUqdCCFs1VpxU2KFithdDumJqtsO5A5RYC6sPrt8J6N82vPWKUF5zXAUMrusiaP1tdV2S/FKruQjulMTVeYd09Kr2gBRPqvWIso68J42q/wtp7VoChoDGtDixOe3vD3j+A9fZGvTPrjlWJdZ/+zW1BrGKMdP4fsUcbYMHYGrKwBcFKMpT/j6knC+vuUVWGZuH42rLuygUqzITkuvnnWarKQFOjXgrfWjjsVDpUypxHD7bfrROS6meglh6VM1FNEQ3jW94V+0cGV8PWryIjNZR7ZguLFLQS49q3B5ofi+253Pw7PMKQ3Ehd0vlePJQjLx3vaul7jBiq6fN686imv0edA4TG6Dj10XGapqPcnwomn0UzxIuMab99YhRUcJMZp+Hp8BxT0IqMaX99PBbMCQLY/lVk3MzYc0e6YPt7enxrSOvP610kBHqJMb3ztK7CoaMVGDnHhKOYZJJFXscdjbKH9TayDl1FRt7HDw8P9USN3cdVatQ43W7l44potGLBMbo2u2Jd9dPWER2tT6bcHX083h4UeX8uq3O9XX5XfAnfX0d0jL5deToz5wHwQt+KjGn/su+hAQiN0fH+63fvvn77t27aDXV8aIQ+jNXx52976GiEBujoCSOhkhkwZNgMEUCiW52MHsNGCNARR8ZBuDGsjwWNUNsgxBjWJcBFHEumYcVokJGBIgkxM6DEsDECRIRmDMSHkdUqBA7RajUGGcYyxrjaoZgwrDEKCNGkHosGo1kIR8ZICjIEiMXX0Ii+gQgwrE+GfyiADMZ+8dyOx200txsG2qJ920PrcLwX1iqAPbRTGYb0Yqt9AObhFX8ExuuuDgDgSW8EaP99FoQH2xrF8LyRwyAeUhuheF0NPWuFkZLYh9F6aumjZLwOfpuMVIT3yVEN+8vTRyaZQiquMr119AtGSAkfjQbokcMP0sPHnwEjWE7FkZ4ZcvGIIWIyjuyYno1HzBDScWTEwHw8opFNyJG+QRl5RJuQkuNAOTEnjw9tOSmno3uGrDxijpCWI0MG5uURjcHEHOkdlZlHtEupOVI8NDeP6Iwm53iSj83O47Gby11p4B6SucaHelTjwAw9olFO0XFIGZyjR/QKiSteeYdlrhGNwdQVj6cxuSsTR0HyKhyqbP55ltQVNDUqc20tHJa4QqWRvLXTfvyZMGw9kOXFWhZeZQVbv4qM0yC9IAiquMmM07G5VKeY273IOA2fCvbJAdRwFRmn4TNbSwYVfA5+JCvW/vFwKtkcGI3Tm9A4LVV4Ir+qAnueqJcP3fp0PLPlTz7G2ua3U7D18G4q1r6wmYIKInuprgb8xIk7io16J/iJi0jr/IFzElZDnwcJR1B544SixPT0NWyGuG2CVkzfNYWNEDZN0ISBe6awPnbLBLUN2jGFdQkbJjxMp+2XwgM5uF2CZsyzWwobI2yWoBkD90phfcGtEtQ6aqcU1i1tlNDaMKvG6DYJTeqxu6SwDcImCWoeuEeKDu+YvoE7pLA+eYOEAsjg/VG0VwWcRzp24NOEaN/20Dr8GUZYq7AVRHnDsJ1gWF9wI4hmzJh9YEd3dlsbftxdHsGX3R7aV/ycvmp+CO4DszQ12W3mfzi/HItwS6/aP19l+bSllWptY+3uvLrops//NIftqK1X179F7L/KXa1k7+Hry/mwedoyattf5rgD2NQr/5eI/V7MG8ha/5a8NOmmsv1lDuthU6/8XyLWezFvII8/vn8un8jg9xPu9tMsGIQ01+/DLjfrhKTuodwV7JFQqg4IjtW1ryWielqhsTrKulPWe644negBgmN1bYvnqJpGZqyG9e7z+uX03Z6rlCWKkOhofc1MZer7qLab4ABdwdkaUxWbr+C6q3XSTkZ8+3dnjkXO7c93m15Ve5vkRdPCjV7tk2a3j4Dx6Q0k/+hbvery96r73OvNwliOF79bJDrgdgkXOn06XHbbt7Zk6B+H7WUXv3XuiiH68a7s0R6hrej6L+nuyk/VTNfumOa3zGsPx2mWXzkpqGZfOjnY38di02NwtVJj7zHy5SWired3l9jJi6sSxBz+9mM4F7s1Z99yUmv8S3V4+nb/zDSJBYLN6sUqV+ktR/orupTOeBtPTl+xMuMTyVijryJLE2+yELOfyv3PRYVeX9hT/2t06QBT/NIqWHSotkX1zctgc27XTbIlPAB+Kk6X3TloWyMyr/tBm8O839orOX99rpeG8HDuqn59u6y/CRGnl3v8VKWnJbfLRljy632tdlt8uXvz291zO5Df3OnX5vWqbuOhLHZ1qvPmva9hs9mPbfXX9refC7sZshKNyFeLu/v3i/skfb0y+a+/3r/3V7gf3D84sTrVeq/u0+R1opCUQlJ1kvJe35vV6zzJkJhGYqb+m7lPVN0Y1mmQWFL/LeFaS5BYWv8t5cRSJJbVf8s4sQyJ5fXf8vtk9dos8J3mSGxZ/23JiS2R2Eq6hRXuXdvZK645Rdzg/LBgJbErlO1ype4T8zrRCZbE3lC21+sNNjMGFHaIsh2vDKsd+0SlUm8r7BVle18lrHLsGJVLflbYNcq6QKWsldg7ynpBZawkdpC2blDsuNDYQ9p5iB0amkwW5yHW6xp7SFs3aNbrGntIWzdoxUpiD2nrB61ZSewibf2gDecijV2krSPq+Mi1iX2krSM06yONfaStIzTrI419ZKwjNOsjg31krCM06yODfWRcRGN9ZEhMc0GN9ZHBPjLWEYb1kcE+MtYRhvWRwT4y1hGGnZkG+8hYRxjWRwb7yFhHGNZHBvvIWEcY1kcG+yixjjCsjxLso8Q6wiy5UZdgHyXWEYb1UYJ9lFhHJKyPErL0uLWH9VGCfZRYRySsjxLso8Q6ImF9lGAfJdYRCeujBPsosY5IWB8l2EeJW4pYHyXYR6l1RML6KMU+Sq0jEnYepdhHqXVEwvooxT5KrSNS1kcp9lFqHZGyPkpJhuBSBNZHKfZRah2Rsj5KsY9StxyxPkqxj1LriJT1UYp9lFpHpKyPUuyjzDoiZX2UYR9l1hEp66MM+yizjkhZH2XYR5l1RMb6KMM+yqwjMtZHGfZR5jIG1kcZSeRcJsf6KMM+yqwjMtZHGfZRZh2RsT7KsI8y64iM9VGGfZRbR2Q5kzTn2EW59UPGuijHLsqtH7IV1yT2UG7dkLMeyrGHcuuGnEvtc+yg3HohZx2UYwfl1gu54ZokubZLtln/5Ng/uXVCzvonx/7JrRPyjNtd5Ng/S+uFPOckl9hBS+uFfMlKYgctrRvyFSuJPbS0blguWEnsoaX1w1KxkthFS+uHpWYlsYuW1hFLdg+2xD5aWkcsE1aSbIncnihlJbGPltYRS9ZHS+yjlXXEkvXRCvtoZR2xZH20wj5aWUcsWR+tsI9W1hEr1kcr7KOVdcSK9dEK+2hlHbFifbTCPlpZR6y4abTCLlq5tJvdZWIPrawbVgnXItm2Wi+sUk6QblzdzjXjyMCCbF0X1g0rLh42P0FR6weWSjQ/QVHnoyXbKtm9LpyTuOjZ/ARFrSvqO+C35GQLu3B72AW7yjU/QuHcCWvWCrKRXbid7IIbAs1vUNbtZRecc5vfgKyDCvVtcLId4NAQB9bDFDk0zGHBuphCh4Y6LFjHUezg4AIbrBTlDg4vsMRFUfLg+AIPFCh6cISBxxkUPjjEwCZmitIHxxjYZV8R/KAcZOBvi/AH5SgDz5I0RUSNv3hZ4i8HGiSeRPzlUINAlAiGUA42CEyJgAilRYanCIlQjjcIXImwCOWIAz8QCIxQDjkIbIngCOWgg0CXCJBQDjvwfEkRJKEceOAJkzIU7Tmv8aOBYAnl4ANPmRQBE8rhB54zKYImlAMQPGlSBE4ohyB41qQInlAOQvC0SRFAoRyG4HmTIohCORDBEydFIIVyKIJnTopgCuVgBE+dFAEVyuEInjuphEJZFx15vxFYoRyS4NmTIrhCOSjB0ydFgIVyWILnT4ogC+XABE+gFIEWyqEJnkEpgi2UgxM8hVIEXCiHJ3gOpQi6UA5Q8CRKEXihHKLgWZQi+EI5SMHTKJVSnO6WNd5vBGEoByp4IqUIxFAOVfBMShGMoRys4KmUIiBDOVzBcylFUIZywIInU4rADOWQBc+mFMEZykELnk4pAjSUwxY8n1IEaSgHLnhCpQjUUA5d8IxKZfRJiMtHeL8RsKEcvuA5lSJoQzmAwZMqReCGcgiDZ1WK4A3lKAZPqxQhHMpxDJ5XKcI4lEMZPLFSBHMoBzN4ZqUI6FCOZ/DUShHWoRzR4LmVIrRDOajBkyuV02dYLpHk/UaQh3Jgg6dXikAP5dAGz68UwR7KwQ2eYCkCPtRSRlOKoA/VsA++fwn8UA5x8DBJEfyhHOTgKZEiAEQ5zMFzIkUQiHKggydFikAQ5VAHz4oUwSDKwQ6eFikCQpTDHTwvUgSFqIaFsDRCERiiGhrC8ghFcIhqeAhLJBQBIsphD54bKYJElAMfPDlSBIoohz54dqQIFlGOfvD0SBEyohwA4fmRInBEOQbCEyRF+IhyGIRnSIogEt0gEtZvmjAS3TAS1m+aQBLtSAhPkjShJNqhEHb/qAkl0Q6F8Ic4CCXRDoSwg0ETRqJbRsI/wyaMRLeMhH80TiCJbiBJvYvtggRNIIluIIniaLcmkEQ3kERxoEYTSKIbSMJujjWBJLqBJOzmWBNIohtIojgApAkk0c3hDMUBIE0oiXYoRCkOAGmCSXRzQkNxAEgTTqIdDFGKA0CagBLdHNNQHADShJTo5qCG4tCdpic1mqMamqWHmh7WaE5raHZAdI5ruP0bfw6CHthoaIlmBw89stHSEtbJ9NBGQ0s062R6bMMhEaVZJ9ODGw0u0ayT6dENx0SUZp1MD280vESzTia8RDe8RLNOJrxEOybCu5jgEt3gEsPGB4JLtEMifEqgCS7RDonwKYEmuEQ7JMKnBJrgEu2QCJ8SaIJLtEMifEqgCS7RDonwKYEmuEQ7JMKnBJrgEu2QCJ8SaIJLtEMifEqgCS7RDonwKYEmuEQ7JMKnBJrgEu2QCJ8SaIJLtEMifEqgCS7RDonwKYEmuEQ7JCKkBASXaIdEhJSA4BLtkIiQEhBcoh0SYWGqJrREOyLCpwQElugGlrAGEFaiHQ/hEa0mrEQ3Zz14C+i5tjQQ/wkr0Y6HKB6IaQJLtAMigocJLNEOiAgeJrBEp/Ija01gic7kh9aawBKdyY+tNYElOpMfXGsCS3QmP7rWBJboTH54rQks0Zn8+FoTWKIz+QG2JrBEZ/IjbE1gic7kh9iawBKdyY+xNYElOpcfZGsCS3QuP8rWBJZoB0SE6EBgiXZARIgOBJboXJ5whJVox0P46EBQiXY4hHcaISU6D+0BCCrRDofw2xtCSnRDSnhR4jMHQ5RhkzgCSrSDIcqwSRwBJXrZZCRsEkdAiXYwRBk2iSOgRC+b49lsEkdAiV42j93YJI6AEr3MAhGVkBLtaIgUUQkq0Q6HKMOmhwSVaIdDlGHTQ4JKtMMhQkQlqEQ7HCJEVIJKtMMhQkQlqEQ7HCJEVIJKdINK+IhKUIluUAk/4wkq0Q0q4Wc8QSW6QSX85CSoRDeohI+oBJXoBpXwEZWgEuNwCB9RDUElxuEQPqIagkqMwyF8RDUElRjHQ/hV3hBWYpoTJazfDIElxhERPlIbQkuMAyJ8pDYElpgGliTc/sYQVmIaVpKoe1PP5JQKk0PdDSxJuPBnCCwxDSwRGia0xDS0JOFipSG0xDS0RGqYuM4hEf5JnSG4xDS4RGqY+K7hJQkXsQ3hJcYxEXY5NASXmAaXJFxwNwSXmAaXJFxwNwSXmAaXJFxwNwSXmAaXJFwINoSWmIaWJFwINoSWmOZsScoOS0JLTENLBF8QXGIaXMKyNkNwiWlwidQwcVzDS1KOBRnCS0x7vERomLiuASYpO5EIMDHtARN2btB6lwaYpOyopBUvzQGTlB1qtOalISYpO9Q6VS/OdSk71Gjdi6Miwjk5Q0tfHBZRKTsuafGLaTzHjkta/uKwiMrYcUkLYEwoXNIaGNMUk7HDhzATkzRHg9gRQZiJcVxEZeyIIMzEJKFoSaCJcWBEZezwIdDEODCiMnb4tNDEFaY+F9W52H7XFKi+f3+tEv7t7kNbtWqtc43aAla75rz57ff7O7tGtH/Q/g9J+4c6ALR/SP0f8vYPxl+euKt+v9W72r9ZKz/YL6XuC1duezNild1ssOdUhWsfi/O6ejx9fPFvN761UCc01xaWrRX2SZX7g07am7BbxuYPdaYjKClPVfO2zVvjdTZ6a7ztGPuYsWnKJL7xhW9cCY2vt9tPty/9ASfciph/u9NNv3KXu/fllO59OdCDK+BBLeo+luX+4YDu63ZdezP2TKR0efMJT6BXLYHR8oX23Y7XNy0CjxnQqZn3mPEe832ZZb5Tc0mB+wAybHpxa9l7a+FHgBH7xzXj3z0NbnMBukkpaWCv288wNw2c0OiGDSxE/f4VJ9CzoI9sKha8Eum0Kz0YFJLV3dsFA7Ed1ys/NNrZZE+4Nn258N7KJeczvQEGjZ+nSpqMm/VuB681YJb7WGPPnclXr8+Hp3KD2gDe8KPMnjGT29iWm/PD9V0soCXQV8ZPoETqCtsS2wqIfcb3dSrFQPShaTgXNZyLoau7wXcFh2cSuBSPaniVHxliN9qPjgqhL4WhLws1YMXar5bCBjLYgBQl/Gt+wUAEM2RpfADyY9s71BLUNgCJXdO86BqYZGBkXIoj4rDDV+XwKmkRqK86VO5rvrdLUR/6eWHEeXFoX2kEBiEwOFF+EF6XfhNu6XA5Hy+obw0YHX7xtQcug83gAAbSEp+DKJ96aNXaaHcYUpvN68Fh/65gL8m9A95RCLoYXNvGRT9CFj4BSJWPhz4zUuJ4rpOMc1GHR6gjgwuyOIf9lSRwZ8CFuXfhUpyQrhV2QmVg0fGrrz0MJzTUfuYA9jPsq6V0H81bvkEyAryz9A5frvx09GlA5hfylTSamrf/1nbZ17fsyj26OQOXRT/pE2kQNU09r9H9LUFHr3xHr3ximfic0/vALKTFd1vQxEVB8+zT8NCFXKqyhKmK3EHPOMtYwlRB9FeJdcHJ5N1lRJWHD0wKuAID5ZqrXzO1xPs+9xuOhTSbiqfy7N5KXG7WdH21tV1gpZLGsX/xOfAzuG7pc5/VNY/01mXe8JVoXVV9tm8mho2noPHUN57FWqCjOQVTNfVTNRNv8XmNsym480v8XJDWneJLPadqEy5o1hqYoXoLEsmCh6LY/rt4Qd2cgJ7wk0elUk/cXukKBzBMC5WonEm+FNRuKWr4UpJiw/4TM5fHYl9Udayt9194WMI9r5jb11tem3nRnZtawIv96ijFC9uIzRo+vtCuQ7mTTz4TKQS4dpilGk4wH1O1XxTFHVPdGpsR6hy6xNsU6KBrKx9fcGar0cbYtyTFKNxSp6dgkPQ9LmKOuq16nNMsDcwV7efKNc8MeY/Oew1Gnu9oW+cVbICkV9AYcamoL73mCOj6DEw5D1XsyXa5mefy6aE61P+MF58U+sjIkwg2cDh2J2OGFnYpBuB2qvY9fLAZGM9Cg+7w8HAqyE4GdqmYmNprjzQOLUEv+CVGrfwSk/jkJ/WgbRFw2LE6oA1vAua4X1NVFpjjtoHNp3K3rRMo1BCYmKmfmFmgj2jiBAzxiZ1a+XtLfG6frfxNBmx8Jm0nwP2+JVu1JTbgP4cLfQ/CmDfPBGy4frYXDmfQhp8WWpoWzXtQ5cTFwMRF2kU2jTDZlSX74Pq2n42ROsV/Tgymo3BEi3sJHHTtGZHbRQsf3sQNRLkne0cIvfzIV2nw8qfDBe/AE4ixPJpJpS4s96eiwncOHamVFFlvL2SHKQVcv0S0dX3pJByAMI8RNyXlqU4lOox6BVN/MTzU17acErsMphOLayYuReN6zD6e8cYFJiRaHKuddQxtd/yUk26cWcTgOihmbzv7NmU8teBqrsX5aV8iTHpKw72tlrrZXnhsX00MgwPMIcTl2n9sC2yNITO9bu39jtN4f2UeP6ykVIIm7zD59al3Inn9aV1h5oiyEBH9Xd/zCgc6JKdiQvbknl+daFjMYNotQq6nwxYPNfiExUcEIw3UzhYDbXfFSS3kSkB15lWLyHxfHNznJIByMDmDF3UZ5wrEUnF/6r/nAy4DKlc+kV/44ZX4kZd7QLiQxrL/xCBcU+Co8ZtWvZTi+552BkxnjPjUyV7GzEC4LhgxrB+Oxf4zvjID/s+l6dVeR/KKHAQ5jzLUUmzDvoD64wse8XCeiruzw+XcxQxAd+p1Z1KA9S10MANwWeq3G5nUe8d1dSqKL8c6u6ZzF27U/Siy9edCQ4z/YJYvspzbR0XhuEOMXIo53SfLcEPQWqyuU8KHXo/K7bFZvuH/XPBT2xyYk/uuEKG//yQA95AwhWNazFd9Cwz8t8dQQAtSjPEtsBwlhbNSBJdV8XR4JoEVPvQQ2U1VHHf0uQ/M17UI2tsra7ufNvWSgNETWFc9u1eZbHz3GTboen8eQF0Dpn+Qon3Q1yspXLVtdxgR3E6IT/Xai+v/XVAPrYB1smayCYKPI+0pZeGqy/5cPhXH9fkTXtnRkQC/yko9eip2xeZ8PBwvx/rf6wlSoFCfAVP8plCJzxPq3Xiz/lFWBqOnh7VKnKcnhrbAnM83IKKKE0tbYPahpF49cWhgBULe9XjEwj+m9JsbnS79WhxtnexY4eKipWFSXwy+hgtmAFgaln5p8E9FtH9GrzM/J1ZShKsVXI6sCvsSNbA7kVaLU5c3gNDin+uq61O7xJuU+6NO4tEM23RZnS/r3bn4QpgPDF+h3usAC9Bx3hSVBnqHARZQt78/MXw3n/HZ2M3fU/sZHzgK4DInbojaz8TA6+BmV3z8czpX7bfEQQeAjMovnyoTW7h8PG2q8iN+Ugmmhn9Mb18dwjdx/eY7aABc713g13gfzvUVvvk5J2LOVgPuIQhxvJ/FE17sBMiBmfk1Dnqz/FNMnXpcuJJC5LV1DgKswFojno67lN3TVjB78FFIZXIL3ceeMHnwd6HEB+CXEnUwTH88H1WZNBPri7kgCym0f8Kscmkw1itV9VKnt+V/cZoM5oI/C6hyaT6CRh4rDIIgJ/CbeiXuOi57DnDA/aqYFF72/LwCsclHbpVLY7bLsRDWuZ4W84859VJaOjsxQsEjVlrcM9WhsXMGJwfzTlzs7YWdcyI5uHsxmHSjMZwFvst8LPHBxZ/N0el18Qkr6N4W6JDcty+maW0j3VsEa74/q6LEPRHHueGSfL27ay7CtvTr/d2xPDabyzfvf/399/8HckU5t34CAQA="; \ No newline at end of file diff --git a/assets/style.css b/assets/style.css index ff488199..98a43779 100644 --- a/assets/style.css +++ b/assets/style.css @@ -1,192 +1,313 @@ -@import url("./icons.css"); - :root { /* Light */ - --light-color-background: #fcfcfc; - --light-color-secondary-background: #fff; + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); --light-color-text: #222; - --light-color-text-aside: #707070; - --light-color-link: #4da6ff; - --light-color-menu-divider: #eee; - --light-color-menu-divider-focus: #000; - --light-color-menu-label: #707070; - --light-color-panel: var(--light-color-secondary-background); - --light-color-panel-divider: #eee; - --light-color-comment-tag: #707070; - --light-color-comment-tag-text: #fff; - --light-color-ts: #9600ff; - --light-color-ts-interface: #647f1b; - --light-color-ts-enum: #937210; - --light-color-ts-class: #0672de; - --light-color-ts-private: #707070; - --light-color-toolbar: #fff; - --light-color-toolbar-text: #333; - --light-icon-filter: invert(0); + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; /* Dark */ - --dark-color-background: #36393f; - --dark-color-secondary-background: #2f3136; - --dark-color-text: #ffffff; - --dark-color-text-aside: #e6e4e4; + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; - --dark-color-menu-divider: #eee; - --dark-color-menu-divider-focus: #000; - --dark-color-menu-label: #707070; - --dark-color-panel: var(--dark-color-secondary-background); - --dark-color-panel-divider: #818181; - --dark-color-comment-tag: #dcddde; - --dark-color-comment-tag-text: #2f3136; - --dark-color-ts: #c97dff; - --dark-color-ts-interface: #9cbe3c; - --dark-color-ts-enum: #d6ab29; - --dark-color-ts-class: #3695f3; - --dark-color-ts-private: #e2e2e2; - --dark-color-toolbar: #34373c; - --dark-color-toolbar-text: #ffffff; - --dark-icon-filter: invert(1); + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; } @media (prefers-color-scheme: light) { :root { --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-menu-divider: var(--light-color-menu-divider); - --color-menu-divider-focus: var(--light-color-menu-divider-focus); - --color-menu-label: var(--light-color-menu-label); - --color-panel: var(--light-color-panel); - --color-panel-divider: var(--light-color-panel-divider); - --color-comment-tag: var(--light-color-comment-tag); - --color-comment-tag-text: var(--light-color-comment-tag-text); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); --color-ts-class: var(--light-color-ts-class); - --color-ts-private: var(--light-color-ts-private); - --color-toolbar: var(--light-color-toolbar); - --color-toolbar-text: var(--light-color-toolbar-text); - --icon-filter: var(--light-icon-filter); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); } } @media (prefers-color-scheme: dark) { :root { --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-menu-divider: var(--dark-color-menu-divider); - --color-menu-divider-focus: var(--dark-color-menu-divider-focus); - --color-menu-label: var(--dark-color-menu-label); - --color-panel: var(--dark-color-panel); - --color-panel-divider: var(--dark-color-panel-divider); - --color-comment-tag: var(--dark-color-comment-tag); - --color-comment-tag-text: var(--dark-color-comment-tag-text); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); --color-ts-class: var(--dark-color-ts-class); - --color-ts-private: var(--dark-color-ts-private); - --color-toolbar: var(--dark-color-toolbar); - --color-toolbar-text: var(--dark-color-toolbar-text); - --icon-filter: var(--dark-icon-filter); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); } } +html { + color-scheme: var(--color-scheme); +} + body { margin: 0; } -body.light { +:root[data-theme="light"] { --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-menu-divider: var(--light-color-menu-divider); - --color-menu-divider-focus: var(--light-color-menu-divider-focus); - --color-menu-label: var(--light-color-menu-label); - --color-panel: var(--light-color-panel); - --color-panel-divider: var(--light-color-panel-divider); - --color-comment-tag: var(--light-color-comment-tag); - --color-comment-tag-text: var(--light-color-comment-tag-text); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); --color-ts-class: var(--light-color-ts-class); - --color-ts-private: var(--light-color-ts-private); - --color-toolbar: var(--light-color-toolbar); - --color-toolbar-text: var(--light-color-toolbar-text); - --icon-filter: var(--light-icon-filter); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); } -body.dark { +:root[data-theme="dark"] { --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-menu-divider: var(--dark-color-menu-divider); - --color-menu-divider-focus: var(--dark-color-menu-divider-focus); - --color-menu-label: var(--dark-color-menu-label); - --color-panel: var(--dark-color-panel); - --color-panel-divider: var(--dark-color-panel-divider); - --color-comment-tag: var(--dark-color-comment-tag); - --color-comment-tag-text: var(--dark-color-comment-tag-text); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); --color-ts-class: var(--dark-color-ts-class); - --color-ts-private: var(--dark-color-ts-private); - --color-toolbar: var(--dark-color-toolbar); - --color-toolbar-text: var(--dark-color-toolbar-text); - --icon-filter: var(--dark-icon-filter); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); } h1 { - font-size: 2em; - margin: 0.67em 0; + font-size: 1.875rem; + margin: 0.67rem 0; } h2 { - font-size: 1.5em; - margin: 0.83em 0; + font-size: 1.5rem; + margin: 0.83rem 0; } h3 { - font-size: 1.17em; - margin: 1em 0; + font-size: 1.25rem; + margin: 1rem 0; } -h4, -.tsd-index-panel h3 { - font-size: 1em; - margin: 1.33em 0; +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; } h5 { - font-size: 0.83em; - margin: 1.67em 0; + font-size: 1rem; + margin: 1.5rem 0; } h6 { - font-size: 0.67em; - margin: 2.33em 0; + font-size: 0.875rem; + margin: 2.33rem 0; } -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; +.uppercase { + text-transform: uppercase; } dl, @@ -201,74 +322,28 @@ dd { } .container { - max-width: 1200px; - margin: 0 auto; - padding: 0 40px; -} -@media (max-width: 640px) { - .container { - padding: 0 20px; - } -} - -.container-main { - padding-bottom: 200px; -} - -.row { - display: flex; - position: relative; - margin: 0 -10px; -} -.row:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; -} - -.col-4, -.col-8 { - box-sizing: border-box; - float: left; - padding: 0 10px; + max-width: 1700px; + padding: 0 2rem; } -.col-4 { - width: 33.3333333333%; -} -.col-8 { - width: 66.6666666667%; +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; } -ul.tsd-descriptions > li > :first-child, -.tsd-panel > :first-child, -.col-8 > :first-child, -.col-4 > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child, -.tsd-panel > :first-child > :first-child, -.col-8 > :first-child > :first-child, -.col-4 > :first-child > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child > :first-child, -.tsd-panel > :first-child > :first-child > :first-child, -.col-8 > :first-child > :first-child > :first-child, -.col-4 > :first-child > :first-child > :first-child { +.tsd-generator > p { margin-top: 0; -} -ul.tsd-descriptions > li > :last-child, -.tsd-panel > :last-child, -.col-8 > :last-child, -.col-4 > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child, -.tsd-panel > :last-child > :last-child, -.col-8 > :last-child > :last-child, -.col-4 > :last-child > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child > :last-child, -.tsd-panel > :last-child > :last-child > :last-child, -.col-8 > :last-child > :last-child > :last-child, -.col-4 > :last-child > :last-child > :last-child { margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); } @keyframes fade-in { @@ -311,22 +386,6 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child, opacity: 0; } } -@keyframes shift-to-left { - from { - transform: translate(0, 0); - } - to { - transform: translate(-25%, 0); - } -} -@keyframes unshift-to-left { - from { - transform: translate(-25%, 0); - } - to { - transform: translate(0, 0); - } -} @keyframes pop-in-from-right { from { transform: translate(100%, 0); @@ -370,16 +429,34 @@ pre { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; padding: 0.2em; margin: 0; - font-size: 14px; + font-size: 0.875rem; + border-radius: 0.8em; } pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; padding: 10px; + border: 1px solid var(--color-accent); } pre code { padding: 0; font-size: 100%; } +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} blockquote { margin: 1em 0; @@ -395,13 +472,12 @@ blockquote { padding: 0 0 0 20px; margin: 0; } -.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, +.tsd-typography h4, .tsd-typography h5, .tsd-typography h6 { font-size: 1em; - margin: 0; } .tsd-typography h5, .tsd-typography h6 { @@ -412,108 +488,18 @@ blockquote { .tsd-typography ol { margin: 1em 0; } - -@media (min-width: 901px) and (max-width: 1024px) { - html .col-content { - width: 72%; - } - html .col-menu { - width: 28%; - } - html .tsd-navigation { - padding-left: 10px; - } -} -@media (max-width: 900px) { - html .col-content { - float: none; - width: 100%; - } - html .col-menu { - position: fixed !important; - overflow: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - width: 100%; - padding: 20px 20px 0 0; - max-width: 450px; - visibility: hidden; - background-color: var(--color-panel); - transform: translate(100%, 0); - } - html .col-menu > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu :is(header, footer, .col-content) { - animation: shift-to-left 0.4s; - } - - .to-has-menu .col-menu { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu :is(header, footer, .col-content) { - animation: unshift-to-left 0.4s; - } - - .from-has-menu .col-menu { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu :is(header, footer, .col-content) { - transform: translate(-25%, 0); - } - .has-menu .col-menu { - visibility: visible; - transform: translate(0, 0); - display: grid; - grid-template-rows: auto 1fr; - max-height: 100vh; - } - .has-menu .tsd-navigation { - max-height: 100%; - } +.tsd-typography table { + border-collapse: collapse; + border: none; } - -.tsd-page-title { - padding: 70px 0 20px 0; - margin: 0 0 40px 0; - background: var(--color-panel); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); } -.tsd-page-title h1 { - margin: 0; +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); } .tsd-breadcrumb { @@ -535,32 +521,44 @@ blockquote { content: " / "; } -dl.tsd-comment-tags { +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; overflow: hidden; + margin: 0.5em 0; } -dl.tsd-comment-tags dt { - float: left; - padding: 1px 5px; - margin: 0 10px 0 0; - border-radius: 4px; - border: 1px solid var(--color-comment-tag); - color: var(--color-comment-tag); - font-size: 0.8em; +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; font-weight: normal; } -dl.tsd-comment-tags dd { - margin: 0 0 10px 0; +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; } -dl.tsd-comment-tags dd:before, -dl.tsd-comment-tags dd:after { - display: table; + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { content: " "; } -dl.tsd-comment-tags dd pre, -dl.tsd-comment-tags dd:after { +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { clear: both; } -dl.tsd-comment-tags p { +dl.tsd-comment-tag-group p { margin: 0; } @@ -573,197 +571,152 @@ dl.tsd-comment-tags p { margin-bottom: 0; } -.toggle-protected .tsd-is-private { - display: none; +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; } - -.toggle-public .tsd-is-private, -.toggle-public .tsd-is-protected, -.toggle-public .tsd-is-private-protected { - display: none; +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; } - -.toggle-inherited .tsd-is-inherited { - display: none; +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; } - -.toggle-externals .tsd-is-external { - display: none; +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; } - -#tsd-filter { - position: relative; - display: inline-block; - height: 40px; - vertical-align: bottom; +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; } -.no-filter #tsd-filter { - display: none; +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; } -#tsd-filter .tsd-filter-group { - display: inline-block; - height: 40px; - vertical-align: bottom; - white-space: nowrap; +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); } -#tsd-filter input { - display: none; +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); } -@media (max-width: 900px) { - #tsd-filter .tsd-filter-group { - display: block; - position: absolute; - top: 40px; - right: 20px; - height: auto; - background-color: var(--color-panel); - visibility: hidden; - transform: translate(50%, 0); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - } - .has-options #tsd-filter .tsd-filter-group { - visibility: visible; - } - .to-has-options #tsd-filter .tsd-filter-group { - animation: fade-in 0.2s; - } - .from-has-options #tsd-filter .tsd-filter-group { - animation: fade-out 0.2s; - } - #tsd-filter label, - #tsd-filter .tsd-select { - display: block; - padding-right: 20px; - } +.tsd-checkbox-background { + fill: var(--color-accent); } - -footer { - border-top: 1px solid var(--color-panel-divider); - background-color: var(--color-panel); +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); } -footer.with-border-bottom { - border-bottom: 1px solid var(--color-panel-divider); +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; } -footer .tsd-legend-group { - font-size: 0; +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); } -footer .tsd-legend { - display: inline-block; - width: 25%; - padding: 0; - font-size: 16px; - list-style: none; - line-height: 1.333em; - vertical-align: top; + +.tsd-theme-toggle { + padding-top: 0.75rem; } -@media (max-width: 900px) { - footer .tsd-legend { - width: 50%; - } +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; } .tsd-hierarchy { list-style: square; - padding: 0 0 0 20px; margin: 0; } .tsd-hierarchy .target { font-weight: bold; } -.tsd-index-panel .tsd-index-content { - margin-bottom: -30px !important; -} -.tsd-index-panel .tsd-index-section { - margin-bottom: 30px !important; -} -.tsd-index-panel h3 { - margin: 0 -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid var(--color-panel-divider); -} -.tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 3; - -moz-column-count: 3; - -ms-column-count: 3; - -o-column-count: 3; - column-count: 3; - -webkit-column-gap: 20px; - -moz-column-gap: 20px; - -ms-column-gap: 20px; - -o-column-gap: 20px; - column-gap: 20px; +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { list-style: none; line-height: 1.333em; -} -@media (max-width: 900px) { - .tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 1; - -moz-column-count: 1; - -ms-column-count: 1; - -o-column-count: 1; - column-count: 1; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); } } -@media (min-width: 901px) and (max-width: 1024px) { - .tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 2; - -moz-column-count: 2; - -ms-column-count: 2; - -o-column-count: 2; - column-count: 2; +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); } } -.tsd-index-panel ul.tsd-index-list li { +.tsd-index-panel .tsd-index-list li { -webkit-page-break-inside: avoid; -moz-page-break-inside: avoid; -ms-page-break-inside: avoid; -o-page-break-inside: avoid; page-break-inside: avoid; } -.tsd-index-panel a, -.tsd-index-panel .tsd-parent-kind-module a { - color: var(--color-ts); -} -.tsd-index-panel .tsd-parent-kind-interface a { - color: var(--color-ts-interface); -} -.tsd-index-panel .tsd-parent-kind-enum a { - color: var(--color-ts-enum); -} -.tsd-index-panel .tsd-parent-kind-class a { - color: var(--color-ts-class); -} -.tsd-index-panel .tsd-kind-module a { - color: var(--color-ts); -} -.tsd-index-panel .tsd-kind-interface a { - color: var(--color-ts-interface); -} -.tsd-index-panel .tsd-kind-enum a { - color: var(--color-ts-enum); -} -.tsd-index-panel .tsd-kind-class a { - color: var(--color-ts-class); -} -.tsd-index-panel .tsd-is-private a { - color: var(--color-ts-private); -} .tsd-flag { display: inline-block; - padding: 1px 5px; + padding: 0.25em 0.4em; border-radius: 4px; color: var(--color-comment-tag-text); background-color: var(--color-comment-tag); text-indent: 0; - font-size: 14px; + font-size: 75%; + line-height: 1; font-weight: normal; } .tsd-anchor { - position: absolute; + position: relative; top: -100px; } @@ -771,154 +724,143 @@ footer .tsd-legend { position: relative; } .tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; margin-top: 0; margin-bottom: 0; border-bottom: none; } -.tsd-member [data-tsd-kind] { - color: var(--color-ts); -} -.tsd-member [data-tsd-kind="Interface"] { - color: var(--color-ts-interface); -} -.tsd-member [data-tsd-kind="Enum"] { - color: var(--color-ts-enum); + +.tsd-navigation.settings { + margin: 1rem 0; } -.tsd-member [data-tsd-kind="Class"] { - color: var(--color-ts-class); +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; } -.tsd-member [data-tsd-kind="Private"] { - color: var(--color-ts-private); -} - -.tsd-navigation { - margin: 0 0 0 40px; -} -.tsd-navigation a { - display: block; - padding-top: 2px; - padding-bottom: 2px; - border-left: 2px solid transparent; +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; color: var(--color-text); text-decoration: none; - transition: border-left-color 0.1s; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); } -.tsd-navigation a:hover { +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { text-decoration: underline; } -.tsd-navigation ul { - margin: 0; +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; padding: 0; list-style: none; } -.tsd-navigation li { +.tsd-navigation li, +.tsd-page-navigation li { padding: 0; + max-width: 100%; } - -.tsd-navigation.primary { - padding-bottom: 40px; -} -.tsd-navigation.primary a { - display: block; - padding-top: 6px; - padding-bottom: 6px; -} -.tsd-navigation.primary ul li a { - padding-left: 5px; -} -.tsd-navigation.primary ul li li a { - padding-left: 25px; -} -.tsd-navigation.primary ul li li li a { - padding-left: 45px; -} -.tsd-navigation.primary ul li li li li a { - padding-left: 65px; -} -.tsd-navigation.primary ul li li li li li a { - padding-left: 85px; +.tsd-nested-navigation { + margin-left: 3rem; } -.tsd-navigation.primary ul li li li li li li a { - padding-left: 105px; +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; } -.tsd-navigation.primary > ul { - border-bottom: 1px solid var(--color-panel-divider); +.tsd-small-nested-navigation { + margin-left: 1.5rem; } -.tsd-navigation.primary li { - border-top: 1px solid var(--color-panel-divider); +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; } -.tsd-navigation.primary li.current > a { - font-weight: bold; + +.tsd-page-navigation ul { + padding-left: 1.75rem; } -.tsd-navigation.primary li.label span { - display: block; - padding: 20px 0 6px 5px; - color: var(--color-menu-label); + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; } -.tsd-navigation.primary li.globals + li > span, -.tsd-navigation.primary li.globals + li > a { - padding-top: 20px; +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; } -.tsd-navigation.secondary { - max-height: calc(100vh - 1rem - 40px); - overflow: auto; - position: sticky; - top: calc(0.5rem + 40px); - transition: 0.3s; -} -.tsd-navigation.secondary.tsd-navigation--toolbar-hide { - max-height: calc(100vh - 1rem); - top: 0.5rem; +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); } -.tsd-navigation.secondary ul { - transition: opacity 0.2s; +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ } -.tsd-navigation.secondary ul li a { - padding-left: 25px; +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ } -.tsd-navigation.secondary ul li li a { - padding-left: 45px; +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; } -.tsd-navigation.secondary ul li li li a { - padding-left: 65px; +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); } -.tsd-navigation.secondary ul li li li li a { - padding-left: 85px; +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; } -.tsd-navigation.secondary ul li li li li li a { - padding-left: 105px; +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; } -.tsd-navigation.secondary ul li li li li li li a { - padding-left: 125px; +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; } -.tsd-navigation.secondary ul.current a { - border-left-color: var(--color-panel-divider); +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; } -.tsd-navigation.secondary li.focus > a, -.tsd-navigation.secondary ul.current li.focus > a { - border-left-color: var(--color-menu-divider-focus); + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; } -.tsd-navigation.secondary li.current { - margin-top: 20px; - margin-bottom: 20px; - border-left-color: var(--color-panel-divider); +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); } -.tsd-navigation.secondary li.current > a { - font-weight: bold; -} - -@media (min-width: 901px) { - .menu-sticky-wrap { - position: static; - } +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; } .tsd-panel { - margin: 20px 0; - padding: 20px; - background-color: var(--color-panel); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; } .tsd-panel:empty { display: none; @@ -926,48 +868,24 @@ footer .tsd-legend { .tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { - margin: 1.5em -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid var(--color-panel-divider); + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; } .tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { margin-bottom: 0; - border-bottom: 0; -} -.tsd-panel table { - display: block; - width: 100%; - overflow: auto; - margin-top: 10px; - word-break: normal; - word-break: keep-all; - border-collapse: collapse; -} -.tsd-panel table th { - font-weight: bold; -} -.tsd-panel table th, -.tsd-panel table td { - padding: 6px 13px; - border: 1px solid var(--color-panel-divider); -} -.tsd-panel table tr { - background: var(--color-background); -} -.tsd-panel table tr:nth-child(even) { - background: var(--color-secondary-background); + border-bottom: none; } .tsd-panel-group { - margin: 60px 0; + margin: 4rem 0; } -.tsd-panel-group > h1, -.tsd-panel-group > h2, -.tsd-panel-group > h3 { - padding-left: 20px; - padding-right: 20px; +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; } #tsd-search { @@ -981,8 +899,8 @@ footer .tsd-legend { position: absolute; left: 0; top: 0; - right: 40px; - height: 40px; + right: 2.5rem; + height: 100%; } #tsd-search .field input { box-sizing: border-box; @@ -1003,7 +921,8 @@ footer .tsd-legend { right: -40px; } #tsd-search .field input, -#tsd-search .title { +#tsd-search .title, +#tsd-toolbar-links a { transition: opacity 0.2s; } #tsd-search .results { @@ -1017,21 +936,25 @@ footer .tsd-legend { box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } #tsd-search .results li { - padding: 0 10px; background-color: var(--color-background); + line-height: initial; + padding: 4px; } #tsd-search .results li:nth-child(even) { - background-color: var(--color-panel); + background-color: var(--color-background-secondary); } #tsd-search .results li.state { display: none; } -#tsd-search .results li.current, -#tsd-search .results li:hover { - background-color: var(--color-panel-divider); +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); } #tsd-search .results a { - display: block; + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; } #tsd-search .results a:before { top: 10px; @@ -1041,13 +964,14 @@ footer .tsd-legend { font-weight: normal; } #tsd-search.has-focus { - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } #tsd-search.has-focus .field input { top: 0; opacity: 1; } -#tsd-search.has-focus .title { +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { z-index: 0; opacity: 0; } @@ -1061,31 +985,34 @@ footer .tsd-legend { display: block; } +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + .tsd-signature { - margin: 0 0 1em 0; - padding: 10px; - border: 1px solid var(--color-panel-divider); + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; overflow-x: auto; } -.tsd-signature.tsd-kind-icon { - padding-left: 30px; -} -.tsd-signature.tsd-kind-icon:before { - top: 10px; - left: 10px; -} -.tsd-panel > .tsd-signature { - margin-left: -20px; - margin-right: -20px; - border-width: 1px 0; -} -.tsd-panel > .tsd-signature.tsd-kind-icon { - padding-left: 40px; -} -.tsd-panel > .tsd-signature.tsd-kind-icon:before { - left: 20px; + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; } .tsd-signature-symbol { @@ -1101,123 +1028,60 @@ footer .tsd-legend { .tsd-signatures { padding: 0; margin: 0 0 1em 0; - border: 1px solid var(--color-panel-divider); + list-style-type: none; } .tsd-signatures .tsd-signature { margin: 0; - border-width: 1px 0 0 0; - transition: background-color 0.1s; -} -.tsd-signatures .tsd-signature:first-child { - border-top-width: 0; -} -.tsd-signatures .tsd-signature.current { - background-color: var(--color-panel-divider); -} -.tsd-signatures.active > .tsd-signature { - cursor: pointer; -} -.tsd-panel > .tsd-signatures { - margin-left: -20px; - margin-right: -20px; + border-color: var(--color-accent); border-width: 1px 0; + transition: background-color 0.1s; } -.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { - padding-left: 40px; -} -.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { - left: 20px; -} -.tsd-panel > a.anchor + .tsd-signatures { - border-top-width: 0; - margin-top: -20px; -} - -ul.tsd-descriptions { - position: relative; - overflow: hidden; - padding: 0; - list-style: none; -} -ul.tsd-descriptions.active > .tsd-description { - display: none; -} -ul.tsd-descriptions.active > .tsd-description.current { - display: block; -} -ul.tsd-descriptions.active > .tsd-description.fade-in { - animation: fade-in-delayed 0.3s; -} -ul.tsd-descriptions.active > .tsd-description.fade-out { - animation: fade-out-delayed 0.3s; - position: absolute; - display: block; - top: 0; - left: 0; - right: 0; - opacity: 0; - visibility: hidden; -} -ul.tsd-descriptions h4, -ul.tsd-descriptions .tsd-index-panel h3, -.tsd-index-panel ul.tsd-descriptions h3 { - font-size: 16px; - margin: 1em 0 0.5em 0; +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; } -ul.tsd-parameters, -ul.tsd-type-parameters { +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { list-style: square; margin: 0; padding-left: 20px; } -ul.tsd-parameters > li.tsd-parameter-signature, -ul.tsd-type-parameters > li.tsd-parameter-signature { +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { list-style: none; margin-left: -20px; } -ul.tsd-parameters h5, -ul.tsd-type-parameters h5 { +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { font-size: 16px; margin: 1em 0 0.5em 0; } -ul.tsd-parameters .tsd-comment, -ul.tsd-type-parameters .tsd-comment { - margin-top: -0.5em; -} - .tsd-sources { - font-size: 14px; - color: var(--color-text-aside); - margin: 0 0 1em 0; + margin-top: 1rem; + font-size: 0.875em; } .tsd-sources a { color: var(--color-text-aside); text-decoration: underline; } -.tsd-sources ul, -.tsd-sources p { - margin: 0 !important; -} .tsd-sources ul { list-style: none; padding: 0; } .tsd-page-toolbar { - position: fixed; + position: sticky; z-index: 1; top: 0; left: 0; width: 100%; - height: 40px; - color: var(--color-toolbar-text); - background: var(--color-toolbar); - border-bottom: 1px solid var(--color-panel-divider); - transition: transform 0.3s linear; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; } .tsd-page-toolbar a { - color: var(--color-toolbar-text); + color: var(--color-text); text-decoration: none; } .tsd-page-toolbar a.title { @@ -1226,13 +1090,13 @@ ul.tsd-type-parameters .tsd-comment { .tsd-page-toolbar a.title:hover { text-decoration: underline; } -.tsd-page-toolbar .table-wrap { - display: table; - width: 100%; - height: 40px; +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; } .tsd-page-toolbar .table-cell { - display: table-cell; position: relative; white-space: nowrap; line-height: 40px; @@ -1240,32 +1104,10 @@ ul.tsd-type-parameters .tsd-comment { .tsd-page-toolbar .table-cell:first-child { width: 100%; } - -.tsd-page-toolbar--hide { - transform: translateY(-100%); -} - -.tsd-select .tsd-select-list li:before, -.tsd-select .tsd-select-label:before, -.tsd-widget:before { - content: ""; - display: inline-block; - width: 40px; - height: 40px; - margin: 0 -8px 0 0; - background-image: url(./widgets.png); - background-repeat: no-repeat; - text-indent: -1024px; - vertical-align: bottom; - filter: var(--icon-filter); -} -@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - .tsd-select .tsd-select-list li:before, - .tsd-select .tsd-select-label:before, - .tsd-widget:before { - background-image: url(./widgets@2x.png); - background-size: 320px 40px; - } +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; } .tsd-widget { @@ -1273,7 +1115,9 @@ ul.tsd-type-parameters .tsd-comment { overflow: hidden; opacity: 0.8; height: 40px; - transition: opacity 0.1s, background-color 0.2s; + transition: + opacity 0.1s, + background-color 0.2s; vertical-align: bottom; cursor: pointer; } @@ -1282,7 +1126,7 @@ ul.tsd-type-parameters .tsd-comment { } .tsd-widget.active { opacity: 1; - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } .tsd-widget.no-caption { width: 40px; @@ -1290,25 +1134,11 @@ ul.tsd-type-parameters .tsd-comment { .tsd-widget.no-caption:before { margin: 0; } -.tsd-widget.search:before { - background-position: 0 0; -} -.tsd-widget.menu:before { - background-position: -40px 0; -} -.tsd-widget.options:before { - background-position: -80px 0; -} + .tsd-widget.options, .tsd-widget.menu { display: none; } -@media (max-width: 900px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } -} input[type="checkbox"] + .tsd-widget:before { background-position: -120px 0; } @@ -1316,69 +1146,269 @@ input[type="checkbox"]:checked + .tsd-widget:before { background-position: -160px 0; } -.tsd-select { - position: relative; - display: inline-block; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-select .tsd-select-label { - opacity: 0.6; - transition: opacity 0.2s; +img { + max-width: 100%; } -.tsd-select .tsd-select-label:before { - background-position: -240px 0; + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); } -.tsd-select.active .tsd-select-label { - opacity: 0.8; + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; } -.tsd-select.active .tsd-select-list { + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { visibility: visible; - opacity: 1; - transition-delay: 0s; } -.tsd-select .tsd-select-list { - position: absolute; - visibility: hidden; - top: 40px; - left: 0; - margin: 0; - padding: 0; - opacity: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - transition: visibility 0s 0.2s, opacity 0.2s; + +.deprecated { + text-decoration: line-through !important; } -.tsd-select .tsd-select-list li { - padding: 0 20px 0 0; - background-color: var(--color-background); + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); } -.tsd-select .tsd-select-list li:before { - background-position: 40px 0; +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); } -.tsd-select .tsd-select-list li:nth-child(even) { - background-color: var(--color-panel); + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); } -.tsd-select .tsd-select-list li:hover { - background-color: var(--color-panel-divider); + +*::-webkit-scrollbar { + width: 0.75rem; } -.tsd-select .tsd-select-list li.selected:before { - background-position: -200px 0; + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); } -@media (max-width: 900px) { - .tsd-select .tsd-select-list { + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; top: 0; - left: auto; - right: 100%; - margin-right: -5px; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; } - .tsd-select .tsd-select-label:before { - background-position: -280px 0; + .has-menu .tsd-navigation { + max-height: 100%; } } -img { - max-width: 100%; +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } } diff --git a/classes/Buffer.html b/classes/Buffer.html index 8025af92..a097a995 100644 --- a/classes/Buffer.html +++ b/classes/Buffer.html @@ -1,41 +1,96 @@ -Buffer | neovim
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Buffer

Hierarchy

  • BaseApi
    • Buffer

Index

Constructors

constructor

  • new Buffer(__namedParameters: BaseConstructorOptions): Buffer

Properties

Protected _isReady

_isReady: Promise<boolean>

Protected client

client: any

data

data: number | Buffer

logger

logger: Logger

prefix

prefix: string = ...

Protected transport

transport: Transport

Static Readonly captureRejectionSymbol

captureRejectionSymbol: typeof captureRejectionSymbol

Static captureRejections

captureRejections: boolean
-

Sets or gets the default captureRejection value for all emitters.

-

Static defaultMaxListeners

defaultMaxListeners: number

Static Readonly errorMonitor

errorMonitor: typeof errorMonitor
-

This symbol shall be used to install a listener for only monitoring 'error' +Buffer | neovim

Class Buffer

Hierarchy

  • BaseApi
    • Buffer

Constructors

Properties

_isReady: Promise<boolean>
client: any
data: number | Buffer
logger: Logger
prefix: string = ...
transport: Transport
captureRejectionSymbol: typeof captureRejectionSymbol
captureRejections: boolean

Sets or gets the default captureRejection value for all emitters.

+
defaultMaxListeners: number
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

-

Installing a listener using this symbol does not change the behavior once an +

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

-

Accessors

changedtick

  • get changedtick(): Promise<number>

commands

  • get commands(): Promise<Record<string, any>>

id

  • get id(): number

isAttached

  • get isAttached(): boolean

length

  • get length(): Promise<number>

lines

  • get lines(): Promise<string[]>

loaded

  • get loaded(): Promise<boolean>
  • -

    Checks if a buffer is valid and loaded. See |api-buffer| for +

Accessors

  • get loaded(): Promise<boolean>
  • Checks if a buffer is valid and loaded. See |api-buffer| for more info about unloaded buffers.

    -

Returns Promise<boolean>

name

  • get name(): string | Promise<string>
  • set name(value: string | Promise<string>): void

valid

  • get valid(): Promise<boolean>

Methods

[ATTACH]

  • [ATTACH](sendBuffer?: boolean, options?: {}): Promise<boolean>

Methods

  • Attach to buffer to listen to buffer events

    +

    Parameters

    • sendBuffer: boolean = false

      Set to true if the initial notification should contain the whole buffer. If so, the first notification will be a nvim_buf_lines_event. Otherwise, the first notification will be a nvim_buf_changedtick_event

      -
  • options: {} = {}

    Returns Promise<boolean>

    [DETACH]

    • [DETACH](): Promise<any>

    [DO_REQUEST]

    • [DO_REQUEST](name: string, args?: any[]): Promise<any>

    _getArgsByPrefix

    • _getArgsByPrefix(...args: any[]): any[]

    addHighlight

    • addHighlight(__namedParameters: BufferHighlight): Promise<number>

    Returns Promise<boolean>

    • Parameters

      • name: string
      • args: any[] = []

      Returns Promise<any>

    • Adds a highlight to buffer.

      +

      Useful for plugins that dynamically generate highlights to a buffer (like a semantic highlighter or linter). The function adds a single highlight to a buffer. Unlike |matchaddpos()| highlights follow changes to line numbering (as lines are @@ -54,149 +109,112 @@ added, but a new ns_id is still returned. This is supported for backwards compatibility, new code should use |nvim_create_namespace| to create a new empty namespace.

      -

    Parameters

    • __namedParameters: BufferHighlight

    Returns Promise<number>

    addListener

    • addListener(eventName: string | symbol, listener: (...args: any[]) => void): Buffer
    • -

      Alias for emitter.on(eventName, listener).

      -
      since

      v0.1.26

      -

      Parameters

      • eventName: string | symbol
      • listener: (...args: any[]) => void
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns Buffer

    append

    • append(lines: string | string[]): Promise<any>

    asyncRequest

    • asyncRequest(name: string, args?: any[], stack: string): Promise<any>

    clearHighlight

    • clearHighlight(args?: BufferClearHighlight): Promise<any>

    clearNamespace

    • clearNamespace(args: BufferClearNamespace): void
    • -

      Clears namespaced objects, highlights and virtual text, from a line range

      -

      To clear the namespace in the entire buffer, pass in 0 and -1 to line_start and line_end respectively.

      -

      Parameters

      • args: BufferClearNamespace

      Returns void

    deleteVar

    • deleteVar(name: string): Promise<void>

    emit

    • emit(eventName: string | symbol, ...args: any[]): boolean
    • -

      Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

      Parameters

      • __namedParameters: BufferHighlight

      Returns Promise<number>

    • Alias for emitter.on(eventName, listener).

      +

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Parameters

      • name: string
      • args: any[] = []
      • stack: string = undefined

      Returns Promise<any>

    • Clears namespaced objects, highlights and virtual text, from a line range

      +

      To clear the namespace in the entire buffer, pass in 0 and -1 to line_start and line_end respectively.

      +

      Parameters

      • args: BufferClearNamespace

      Returns void

    • Delete a scoped variable

      +

      Parameters

      • name: string

      Returns Promise<void>

    • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments to each.

      -

      Returns true if the event had listeners, false otherwise.

      -
      const EventEmitter = require('events');
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener -
      -
      since

      v0.1.26

      -

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

    equals

    • equals(other: BaseApi): boolean

    eventNames

    • eventNames(): (string | symbol)[]
    • -

      Returns an array listing the events for which the emitter has registered +

      Returns true if the event had listeners, false otherwise.

      +
      const EventEmitter = require('events');
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener +
      +

      Parameters

      • eventName: string | symbol
      • Rest ...args: any[]

      Returns boolean

      Since

      v0.1.26

      +
    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      -
      const EventEmitter = require('events');
      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] -
      -
      since

      v6.0.0

      -

      Returns (string | symbol)[]

    getCommands

    • getCommands(options?: {}): Promise<Record<string, any>>

    getKeymap

    • getKeymap(mode: string): Promise<object[]>

    getLines

    • getLines(__namedParameters?: { end: number; start: number; strictIndexing: boolean }): Promise<string[]>
    • -

      Get specific lines of buffer

      -

      Parameters

      • __namedParameters: { end: number; start: number; strictIndexing: boolean } = ...
        • end: number
        • start: number
        • strictIndexing: boolean

      Returns Promise<string[]>

    getMaxListeners

    • getMaxListeners(): number
    • -

      Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      -
      since

      v1.0.0

      -

      Returns number

    getOffset

    • getOffset(index: number): Promise<number>
    • -

      Returns the byte offset for a line.

      -

      Line 1 (index=0) has offset 0. UTF-8 bytes are counted. EOL is +

      const EventEmitter = require('events');
      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
      +

      Returns (string | symbol)[]

      Since

      v6.0.0

      +
    • Get specific lines of buffer

      +

      Parameters

      • __namedParameters: {
            end: number;
            start: number;
            strictIndexing: boolean;
        } = ...
        • end: number
        • start: number
        • strictIndexing: boolean

      Returns Promise<string[]>

    • Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      +

      Returns number

      Since

      v1.0.0

      +
    • Returns the byte offset for a line.

      +

      Line 1 (index=0) has offset 0. UTF-8 bytes are counted. EOL is one byte. 'fileformat' and 'fileencoding' are ignored. The line index just after the last line gives the total byte-count of the buffer. A final EOL byte is counted if it would be written, see 'eol'.

      Unlike |line2byte()|, throws error for out-of-bounds indexing. Returns -1 for unloaded buffer.

      -

      Parameters

      • index: number

      Returns Promise<number>

      Integer byte offset, or -1 for unloaded buffer.

      -

    getOption

    • getOption(name: string): void | Promise<VimValue>
    • -

      Retrieves a scoped option depending on type of this

      -

      Parameters

      • name: string

      Returns void | Promise<VimValue>

    getVar

    • getVar(name: string): Promise<VimValue>
    • -

      Retrieves a scoped variable depending on type (using this.prefix)

      -

      Parameters

      • name: string

      Returns Promise<VimValue>

    insert

    • insert(lines: string | string[], start: number): Promise<any>

    listen

    • listen(eventName: string, cb: Function): Function

    listenerCount

    • listenerCount(eventName: string | symbol): number
    • -

      Returns the number of listeners listening to the event named eventName.

      -
      since

      v3.2.0

      -

      Parameters

      • eventName: string | symbol
        -

        The name of the event being listened for

        -

      Returns number

    listeners

    • listeners(eventName: string | symbol): Function[]
    • -

      Returns a copy of the array of listeners for the event named eventName.

      -
      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ] -
      -
      since

      v0.1.26

      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

    mark

    • mark(name: string): Promise<[number, number]>

    notify

    • notify(name: string, args: any[]): void
    • -

      request is basically the same except you can choose to wait forpromise to be resolved

      -

      Parameters

      • name: string
      • args: any[]

      Returns void

    off

    • off(eventName: string | symbol, listener: (...args: any[]) => void): Buffer
    • -

      Alias for emitter.removeListener().

      -
      since

      v10.0.0

      -

      Parameters

      • eventName: string | symbol
      • listener: (...args: any[]) => void
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns Buffer

    on

    • on(eventName: string | symbol, listener: (...args: any[]) => void): Buffer
    • -

      Adds the listener function to the end of the listeners array for the +

      Parameters

      • index: number

      Returns Promise<number>

      Integer byte offset, or -1 for unloaded buffer.

      +
    • Retrieves a scoped option depending on type of this

      +

      Parameters

      • name: string

      Returns void | Promise<VimValue>

    • Retrieves a scoped variable depending on type (using this.prefix)

      +

      Parameters

      • name: string

      Returns Promise<VimValue>

    • Returns the number of listeners listening to the event named eventName.

      +

      Parameters

      • eventName: string | symbol

        The name of the event being listened for

        +

      Returns number

      Since

      v3.2.0

      +
    • Returns a copy of the array of listeners for the event named eventName.

      +
      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ] +
      +

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v0.1.26

      +
    • request is basically the same except you can choose to wait forpromise to be resolved

      +

      Parameters

      • name: string
      • args: any[]

      Returns void

    • Alias for emitter.removeListener().

      +

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v10.0.0

      +
    • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

      -
      server.on('connection', (stream) => {
      console.log('someone connected!');
      }); -
      +
      server.on('connection', (stream) => {
      console.log('someone connected!');
      }); +

      Returns a reference to the EventEmitter, so that calls can be chained.

      By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      -
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a -
      -
      since

      v0.1.101

      -

      Parameters

      • eventName: string | symbol
        -

        The name of the event.

        -
      • listener: (...args: any[]) => void
        -

        The callback function

        -
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns Buffer

    once

    • once(eventName: string | symbol, listener: (...args: any[]) => void): Buffer
    • -

      Adds a one-timelistener function for the event named eventName. The +

      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a +
      +

      Parameters

      • eventName: string | symbol

        The name of the event.

        +
      • listener: ((...args) => void)

        The callback function

        +
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.101

      +
    • Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

      -
      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      }); -
      +
      server.once('connection', (stream) => {
      console.log('Ah, we have our first user!');
      }); +

      Returns a reference to the EventEmitter, so that calls can be chained.

      By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

      -
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a -
      -
      since

      v0.3.0

      -

      Parameters

      • eventName: string | symbol
        -

        The name of the event.

        -
      • listener: (...args: any[]) => void
        -

        The callback function

        -
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns Buffer

    prependListener

    • prependListener(eventName: string | symbol, listener: (...args: any[]) => void): Buffer
    • -

      Adds the listener function to the beginning of the listeners array for the +

      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a +
      +

      Parameters

      • eventName: string | symbol

        The name of the event.

        +
      • listener: ((...args) => void)

        The callback function

        +
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.3.0

      +
    • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

      -
      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      }); -
      +
      server.prependListener('connection', (stream) => {
      console.log('someone connected!');
      }); +

      Returns a reference to the EventEmitter, so that calls can be chained.

      -
      since

      v6.0.0

      -

      Parameters

      • eventName: string | symbol
        -

        The name of the event.

        -
      • listener: (...args: any[]) => void
        -

        The callback function

        -
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns Buffer

    prependOnceListener

    • prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): Buffer
    • -

      Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this +

      Parameters

      • eventName: string | symbol

        The name of the event.

        +
      • listener: ((...args) => void)

        The callback function

        +
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      +
    • Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

      -
      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      }); -
      +
      server.prependOnceListener('connection', (stream) => {
      console.log('Ah, we have our first user!');
      }); +

      Returns a reference to the EventEmitter, so that calls can be chained.

      -
      since

      v6.0.0

      -

      Parameters

      • eventName: string | symbol
        -

        The name of the event.

        -
      • listener: (...args: any[]) => void
        -

        The callback function

        -
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns Buffer

    rawListeners

    • rawListeners(eventName: string | symbol): Function[]
    • -

      Returns a copy of the array of listeners for the event named eventName, +

      Parameters

      • eventName: string | symbol

        The name of the event.

        +
      • listener: ((...args) => void)

        The callback function

        +
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v6.0.0

      +
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      -
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log'); -
      -
      since

      v9.4.0

      -

      Parameters

      • eventName: string | symbol

      Returns Function[]

    remove

    • remove(start: number, end: number, strictIndexing: boolean): Promise<any>

    removeAllListeners

    • removeAllListeners(event?: string | symbol): Buffer
    • -

      Removes all listeners, or those of the specified eventName.

      -

      It is bad practice to remove listeners added elsewhere in the code, +

      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log'); +
      +

      Parameters

      • eventName: string | symbol

      Returns Function[]

      Since

      v9.4.0

      +
    • Remove lines at index

      +

      Parameters

      • start: number
      • end: number
      • strictIndexing: boolean

      Returns Promise<any>

    • Removes all listeners, or those of the specified eventName.

      +

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -
      since

      v0.1.26

      -

      Parameters

      • Optional event: string | symbol

      Returns Buffer

    removeListener

    • removeListener(eventName: string | symbol, listener: (...args: any[]) => void): Buffer
    • -

      Removes the specified listener from the listener array for the event namedeventName.

      -
      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback); -
      +

      Parameters

      • Optional event: string | symbol

      Returns this

      Since

      v0.1.26

      +
    • Removes the specified listener from the listener array for the event namedeventName.

      +
      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback); +

      removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be @@ -204,8 +222,8 @@

      Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and_before_ the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

      -
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A -
      +
      const myEmitter = new MyEmitter();

      const callbackA = () => {
      console.log('A');
      myEmitter.removeListener('event', callbackB);
      };

      const callbackB = () => {
      console.log('B');
      };

      myEmitter.on('event', callbackA);

      myEmitter.on('event', callbackB);

      // callbackA removes listener callbackB but it will still be called.
      // Internal listener array at time of emit [callbackA, callbackB]
      myEmitter.emit('event');
      // Prints:
      // A
      // B

      // callbackB is now removed.
      // Internal listener array [callbackA]
      myEmitter.emit('event');
      // Prints:
      // A +

      Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, @@ -214,28 +232,22 @@

      When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

      -
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping'); -
      +
      const ee = new EventEmitter();

      function pong() {
      console.log('pong');
      }

      ee.on('ping', pong);
      ee.once('ping', pong);
      ee.removeListener('ping', pong);

      ee.emit('ping');
      ee.emit('ping'); +

      Returns a reference to the EventEmitter, so that calls can be chained.

      -
      since

      v0.1.26

      -

      Parameters

      • eventName: string | symbol
      • listener: (...args: any[]) => void
          • (...args: any[]): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns Buffer

    replace

    • replace(_lines: string | string[], start: number): Promise<any>

    request

    • request(name: string, args?: any[]): Promise<any>

    setLines

    • setLines(_lines: string | string[], __namedParameters?: BufferSetLines): Promise<any>

    setMaxListeners

    • setMaxListeners(n: number): Buffer
    • -

      By default EventEmitters will print a warning if more than 10 listeners are +

      Parameters

      • eventName: string | symbol
      • listener: ((...args) => void)
          • (...args): void
          • Parameters

            • Rest ...args: any[]

            Returns void

      Returns this

      Since

      v0.1.26

      +
    • Replace lines starting at start index

      +

      Parameters

      • _lines: string | string[]
      • start: number

      Returns Promise<any>

    • Set lines of buffer given indeces

      +

      Parameters

      • _lines: string | string[]
      • __namedParameters: BufferSetLines = ...

      Returns Promise<any>

    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      -

      Returns a reference to the EventEmitter, so that calls can be chained.

      -
      since

      v0.3.5

      -

      Parameters

      • n: number

      Returns Buffer

    setOption

    • setOption(name: string, value: VimValue): void | Promise<void>

    Protected setTransport

    • setTransport(transport: Transport): void

    setVar

    • setVar(name: string, value: VimValue): Promise<void>

    setVirtualText

    • setVirtualText(nsId: number, line: number, chunks: VirtualTextChunk[], opts?: {}): Promise<number>
    • -

      Set the virtual text (annotation) for a buffer line.

      -

      By default (and currently the only option) the text will be +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +

      Parameters

      • n: number

      Returns this

      Since

      v0.3.5

      +
    • Set scoped option

      +

      Parameters

      • name: string
      • value: VimValue

      Returns void | Promise<void>

    • Set a scoped variable

      +

      Parameters

      • name: string
      • value: VimValue

      Returns Promise<void>

    • Set the virtual text (annotation) for a buffer line.

      +

      By default (and currently the only option) the text will be placed after the buffer text. Virtual text will never cause reflow, rather virtual text will be truncated at the end of the screen line. The virtual text will begin one cell @@ -251,76 +263,55 @@

      As a shorthand, ns_id = 0 can be used to create a new namespace for the virtual text, the allocated id is then returned.

      -

      Parameters

      • nsId: number
        -

        Namespace to use or 0 to create a namespace, or -1 for a ungrouped annotation

        -
      • line: number
        -

        Line to annotate with virtual text (zero-indexed)

        -
      • chunks: VirtualTextChunk[]
        -

        A list of [text, hl_group] arrays, each -representing a text chunk with specified -highlight. hl_group element can be omitted for -no highlight.

        -
      • opts: {} = {}
        -

        Optional parameters. Currently not used.

        -

        Returns Promise<number>

      unlisten

      • unlisten(eventName: string, cb: Function): void

      Static getEventListeners

      • getEventListeners(emitter: EventEmitter | DOMEventTarget, name: string | symbol): Function[]
      • -

        Returns a copy of the array of listeners for the event named eventName.

        -

        For EventEmitters this behaves exactly the same as calling .listeners on +

        Parameters

        • nsId: number

          Namespace to use or 0 to create a namespace, or -1 for a ungrouped annotation

          +
        • line: number

          Line to annotate with virtual text (zero-indexed)

          +
        • chunks: VirtualTextChunk[]

          A list of [text, hl_group] arrays, each + representing a text chunk with specified + highlight. hl_group element can be omitted for + no highlight.

          +
        • opts: {} = {}

          Optional parameters. Currently not used.

          +

          Returns Promise<number>

        • Returns a copy of the array of listeners for the event named eventName.

          +

          For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

          For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

          -
          const { getEventListeners, EventEmitter } = require('events');

          {
          const ee = new EventEmitter();
          const listener = () => console.log('Events are fun');
          ee.on('foo', listener);
          getEventListeners(ee, 'foo'); // [listener]
          }
          {
          const et = new EventTarget();
          const listener = () => console.log('Events are fun');
          et.addEventListener('foo', listener);
          getEventListeners(et, 'foo'); // [listener]
          } -
          -
          since

          v15.2.0

          -

          Parameters

          • emitter: EventEmitter | DOMEventTarget
          • name: string | symbol

          Returns Function[]

        Static listenerCount

        • listenerCount(emitter: EventEmitter, eventName: string | symbol): number
        • -

          A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

          -
          const { EventEmitter, listenerCount } = require('events');
          const myEmitter = new EventEmitter();
          myEmitter.on('event', () => {});
          myEmitter.on('event', () => {});
          console.log(listenerCount(myEmitter, 'event'));
          // Prints: 2 -
          -
          since

          v0.9.12

          -
          deprecated

          Since v3.2.0 - Use listenerCount instead.

          -

          Parameters

          • emitter: EventEmitter
            -

            The emitter to query

            -
          • eventName: string | symbol
            -

            The event name

            -

          Returns number

        Static on

        • on(emitter: EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
        • -

          ```js -const { on, EventEmitter } = require('events');

          -

          (async () => { - const ee = new EventEmitter();

          -

          // Emit later on - process.nextTick(() => { - ee.emit('foo', 'bar'); - ee.emit('foo', 42); - });

          -

          for await (const event of on(ee, 'foo')) { - // The execution of this inner block is synchronous and it - // processes one event at a time (even with await). Do not use - // if concurrent execution is required. - console.log(event); // prints ['bar'] [42] - } - // Unreachable here -})();

          -

          Returns an `AsyncIterator` that iterates `eventName` events. It will throw
          if the `EventEmitter` emits `'error'`. It removes all listeners when
          exiting the loop. The `value` returned by each iteration is an array
          composed of the emitted event arguments.

          An `AbortSignal` can be used to cancel waiting on events:

          ```js
          const { on, EventEmitter } = require('events');
          const ac = new AbortController();

          (async () => {
          const ee = new EventEmitter();

          // Emit later on
          process.nextTick(() => {
          ee.emit('foo', 'bar');
          ee.emit('foo', 42);
          });

          for await (const event of on(ee, 'foo', { signal: ac.signal })) {
          // The execution of this inner block is synchronous and it
          // processes one event at a time (even with await). Do not use
          // if concurrent execution is required.
          console.log(event); // prints ['bar'] [42]
          }
          // Unreachable here
          })();

          process.nextTick(() => ac.abort()); -
          -
          since

          v13.6.0, v12.16.0

          -

          Parameters

          • emitter: EventEmitter
          • eventName: string
            -

            The name of the event being listened for

            -
          • Optional options: StaticEventEmitterOptions

          Returns AsyncIterableIterator<any>

          that iterates eventName events emitted by the emitter

          -

        Static once

        • once(emitter: NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
        • once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
        • -

          Creates a Promise that is fulfilled when the EventEmitter emits the given +

          const { getEventListeners, EventEmitter } = require('events');

          {
          const ee = new EventEmitter();
          const listener = () => console.log('Events are fun');
          ee.on('foo', listener);
          getEventListeners(ee, 'foo'); // [listener]
          }
          {
          const et = new EventTarget();
          const listener = () => console.log('Events are fun');
          et.addEventListener('foo', listener);
          getEventListeners(et, 'foo'); // [listener]
          } +
          +

          Parameters

          • emitter: EventEmitter | DOMEventTarget
          • name: string | symbol

          Returns Function[]

          Since

          v15.2.0

          +
        • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

          +
          const { EventEmitter, listenerCount } = require('events');
          const myEmitter = new EventEmitter();
          myEmitter.on('event', () => {});
          myEmitter.on('event', () => {});
          console.log(listenerCount(myEmitter, 'event'));
          // Prints: 2 +
          +

          Parameters

          • emitter: EventEmitter

            The emitter to query

            +
          • eventName: string | symbol

            The event name

            +

          Returns number

          Since

          v0.9.12

          +

          Deprecated

          Since v3.2.0 - Use listenerCount instead.

          +
        • const { on, EventEmitter } = require('events');

          (async () => {
          const ee = new EventEmitter();

          // Emit later on
          process.nextTick(() => {
          ee.emit('foo', 'bar');
          ee.emit('foo', 42);
          });

          for await (const event of on(ee, 'foo')) {
          // The execution of this inner block is synchronous and it
          // processes one event at a time (even with await). Do not use
          // if concurrent execution is required.
          console.log(event); // prints ['bar'] [42]
          }
          // Unreachable here
          })(); +
          +

          Returns an AsyncIterator that iterates eventName events. It will throw +if the EventEmitter emits 'error'. It removes all listeners when +exiting the loop. The value returned by each iteration is an array +composed of the emitted event arguments.

          +

          An AbortSignal can be used to cancel waiting on events:

          +
          const { on, EventEmitter } = require('events');
          const ac = new AbortController();

          (async () => {
          const ee = new EventEmitter();

          // Emit later on
          process.nextTick(() => {
          ee.emit('foo', 'bar');
          ee.emit('foo', 42);
          });

          for await (const event of on(ee, 'foo', { signal: ac.signal })) {
          // The execution of this inner block is synchronous and it
          // processes one event at a time (even with await). Do not use
          // if concurrent execution is required.
          console.log(event); // prints ['bar'] [42]
          }
          // Unreachable here
          })();

          process.nextTick(() => ac.abort()); +
          +

          Parameters

          • emitter: EventEmitter
          • eventName: string

            The name of the event being listened for

            +
          • Optional options: StaticEventEmitterOptions

          Returns AsyncIterableIterator<any>

          that iterates eventName events emitted by the emitter

          +

          Since

          v13.6.0, v12.16.0

          +
        • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

          -

          This method is intentionally generic and works with the web platformEventTarget interface, which has no special'error' event +

          This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

          -
          const { once, EventEmitter } = require('events');

          async function run() {
          const ee = new EventEmitter();

          process.nextTick(() => {
          ee.emit('myevent', 42);
          });

          const [value] = await once(ee, 'myevent');
          console.log(value);

          const err = new Error('kaboom');
          process.nextTick(() => {
          ee.emit('error', err);
          });

          try {
          await once(ee, 'myevent');
          } catch (err) {
          console.log('error happened', err);
          }
          }

          run(); -
          +
          const { once, EventEmitter } = require('events');

          async function run() {
          const ee = new EventEmitter();

          process.nextTick(() => {
          ee.emit('myevent', 42);
          });

          const [value] = await once(ee, 'myevent');
          console.log(value);

          const err = new Error('kaboom');
          process.nextTick(() => {
          ee.emit('error', err);
          });

          try {
          await once(ee, 'myevent');
          } catch (err) {
          console.log('error happened', err);
          }
          }

          run(); +

          The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

          -
          const { EventEmitter, once } = require('events');

          const ee = new EventEmitter();

          once(ee, 'error')
          .then(([err]) => console.log('ok', err.message))
          .catch((err) => console.log('error', err.message));

          ee.emit('error', new Error('boom'));

          // Prints: ok boom -
          +
          const { EventEmitter, once } = require('events');

          const ee = new EventEmitter();

          once(ee, 'error')
          .then(([err]) => console.log('ok', err.message))
          .catch((err) => console.log('error', err.message));

          ee.emit('error', new Error('boom'));

          // Prints: ok boom +

          An AbortSignal can be used to cancel waiting for the event:

          -
          const { EventEmitter, once } = require('events');

          const ee = new EventEmitter();
          const ac = new AbortController();

          async function foo(emitter, event, signal) {
          try {
          await once(emitter, event, { signal });
          console.log('event emitted!');
          } catch (error) {
          if (error.name === 'AbortError') {
          console.error('Waiting for the event was canceled!');
          } else {
          console.error('There was an error', error.message);
          }
          }
          }

          foo(ee, 'foo', ac.signal);
          ac.abort(); // Abort waiting for the event
          ee.emit('foo'); // Prints: Waiting for the event was canceled! -
          -
          since

          v11.13.0, v10.16.0

          -

          Parameters

          • emitter: NodeEventTarget
          • eventName: string | symbol
          • Optional options: StaticEventEmitterOptions

          Returns Promise<any[]>

        • Parameters

          • emitter: DOMEventTarget
          • eventName: string
          • Optional options: StaticEventEmitterOptions

          Returns Promise<any[]>

        Legend

        • Constructor
        • Property
        • Method
        • Accessor
        • Inherited constructor
        • Inherited property
        • Inherited method
        • Inherited accessor
        • Private property
        • Private method
        • Protected property

        Settings

        Theme

        Generated using TypeDoc

        \ No newline at end of file +
        const { EventEmitter, once } = require('events');

        const ee = new EventEmitter();
        const ac = new AbortController();

        async function foo(emitter, event, signal) {
        try {
        await once(emitter, event, { signal });
        console.log('event emitted!');
        } catch (error) {
        if (error.name === 'AbortError') {
        console.error('Waiting for the event was canceled!');
        } else {
        console.error('There was an error', error.message);
        }
        }
        }

        foo(ee, 'foo', ac.signal);
        ac.abort(); // Abort waiting for the event
        ee.emit('foo'); // Prints: Waiting for the event was canceled! +
        +

        Parameters

        • emitter: NodeEventTarget
        • eventName: string | symbol
        • Optional options: StaticEventEmitterOptions

        Returns Promise<any[]>

        Since

        v11.13.0, v10.16.0

        +
      • Parameters

        • emitter: DOMEventTarget
        • eventName: string
        • Optional options: StaticEventEmitterOptions

        Returns Promise<any[]>

      • Generated using TypeDoc

        \ No newline at end of file diff --git a/classes/Neovim.html b/classes/Neovim.html index 75252d17..c2d274dd 100644 --- a/classes/Neovim.html +++ b/classes/Neovim.html @@ -1,89 +1,175 @@ -Neovim | neovim
        Options
        All
        • Public
        • Public/Protected
        • All
        Menu

        Class Neovim

        -

        Neovim API

        -

        Hierarchy

        Index

        Constructors

        constructor

        • new Neovim(__namedParameters: BaseConstructorOptions): Neovim

        Properties

        Buffer

        Buffer: typeof Buffer = ...

        Tabpage

        Tabpage: typeof Tabpage = ...

        Window

        Window: typeof Window = ...

        Protected _isReady

        _isReady: Promise<boolean>

        Protected client

        client: any

        data

        data: number | Buffer

        logger

        logger: Logger

        Protected prefix

        prefix: string = 'nvim_'

        Protected transport

        transport: Transport

        Static Readonly captureRejectionSymbol

        captureRejectionSymbol: typeof captureRejectionSymbol

        Static captureRejections

        captureRejections: boolean
        -

        Sets or gets the default captureRejection value for all emitters.

        -

        Static defaultMaxListeners

        defaultMaxListeners: number

        Static Readonly errorMonitor

        errorMonitor: typeof errorMonitor
        -

        This symbol shall be used to install a listener for only monitoring 'error' +Neovim | neovim

        Class Neovim

        Neovim API

        +

        Hierarchy (view full)

        Constructors

        Properties

        Buffer: typeof Buffer = Buffer
        Tabpage: typeof Tabpage = Tabpage
        Window: typeof Window = Window
        _isReady: Promise<boolean>
        client: any
        data: number | Buffer
        logger: Logger
        prefix: string = 'nvim_'
        transport: Transport
        captureRejectionSymbol: typeof captureRejectionSymbol
        captureRejections: boolean

        Sets or gets the default captureRejection value for all emitters.

        +
        defaultMaxListeners: number
        errorMonitor: typeof errorMonitor

        This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

        -

        Installing a listener using this symbol does not change the behavior once an +

        Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

        -

        Accessors

        apiInfo

        • get apiInfo(): Promise<[number, ApiInfo]>

        buffer

        • get buffer(): AsyncBuffer
        • set buffer(buffer: AsyncBuffer): void

        buffers

        • get buffers(): Promise<Buffer[]>
        • -

          Gets the current list of buffer handles

          -

          Includes unlisted (unloaded/deleted) buffers, like ls!. Use buffer.loaded +

        Accessors

        • get buffers(): Promise<Buffer[]>
        • Gets the current list of buffer handles

          +

          Includes unlisted (unloaded/deleted) buffers, like ls!. Use buffer.loaded to check if a buffer is loaded

          -

        Returns Promise<Buffer[]>

        List of buffer handles

        -

        chans

        • get chans(): Promise<Channel[]>

        colorMap

        • get colorMap(): Promise<{}>

        commands

        • get commands(): Promise<Command>

        dir

        • set dir(dir: string): void

        line

        • get line(): string | Promise<string>
        • set line(line: string | Promise<string>): void

        mode

        • get mode(): Promise<{ blocking: boolean; mode: string }>
        • -

          Gets the current mode. |mode()| "blocking" is true if Nvim is waiting for input.

          -

          Returns Promise<{ blocking: boolean; mode: string }>

          Dictionary { "mode": String, "blocking": Boolean }

          -

        namespaces

        • get namespaces(): Promise<{}>

        runtimePaths

        • get runtimePaths(): Promise<string[]>

        tabpage

        • get tabpage(): AsyncTabpage
        • set tabpage(tabpage: AsyncTabpage): void

        tabpages

        uis

        • get uis(): Promise<Ui[]>
        • get colorMap(): Promise<{
              [name: string]: number;
          }>
        • Gets map of defined colors

          +

          Returns Promise<{
              [name: string]: number;
          }>

          Color map

          +
        • get mode(): Promise<{
              blocking: boolean;
              mode: string;
          }>
        • Gets the current mode. |mode()| "blocking" is true if Nvim is waiting for input.

          +

          Returns Promise<{
              blocking: boolean;
              mode: string;
          }>

          Dictionary { "mode": String, "blocking": Boolean }

          +
        • get namespaces(): Promise<{
              [name: string]: number;
          }>
        • Alias for getNamespaces()

          +

          Returns Promise<{
              [name: string]: number;
          }>

        • get uis(): Promise<Ui[]>
        • Gets a list of dictionaries representing attached UIs.

          +

          Returns Promise<Ui[]>

          Array of UI dictionaries Each dictionary has the following keys: "height" requested height of the UI "width" requested width of the UI "rgb" whether the UI uses rgb colors (false implies cterm colors) "ext_..." Requested UI extensions, see |ui-options| "chan" Channel id of remote UI (not present for TUI)

          -

        window

        • get window(): AsyncWindow
        • set window(win: AsyncWindow): void

        windows

        • get windows(): Promise<Window[]>

        Methods

        [DO_REQUEST]

        • [DO_REQUEST](name: string, args?: any[]): Promise<any>

        _getArgsByPrefix

        • _getArgsByPrefix(...args: any[]): any[]

        addListener

        • addListener(eventName: string | symbol, listener: (...args: any[]) => void): Neovim
        • -

          Alias for emitter.on(eventName, listener).

          -
          since

          v0.1.26

          -

          Parameters

          • eventName: string | symbol
          • listener: (...args: any[]) => void
              • (...args: any[]): void
              • Parameters

                • Rest ...args: any[]

                Returns void

          Returns Neovim

        asyncRequest

        • asyncRequest(name: string, args?: any[], stack: string): Promise<any>

        call

        • call(fname: string, args?: VimValue | VimValue[]): Promise<any>
        • -

          Calls a VimL function with the given arguments.

          -

          On execution error: fails with VimL error, does not update v:errmsg.

          -

          Parameters

          • fname: string
          • args: VimValue | VimValue[] = []

          Returns Promise<any>

        callAtomic

        • callAtomic(calls: VimValue[]): Promise<[any[], boolean]>

        Methods

        • Parameters

          • name: string
          • args: any[] = []

          Returns Promise<any>

        • Alias for emitter.on(eventName, listener).

          +

          Parameters

          • eventName: string | symbol
          • listener: ((...args) => void)
              • (...args): void
              • Parameters

                • Rest ...args: any[]

                Returns void

          Returns this

          Since

          v0.1.26

          +
        • Parameters

          • name: string
          • args: any[] = []
          • stack: string = undefined

          Returns Promise<any>

        • Calls a VimL function with the given arguments.

          +

          On execution error: fails with VimL error, does not update v:errmsg.

          +

          Parameters

          • fname: string
          • args: VimValue | VimValue[] = []

          Returns Promise<any>

        • Calls many API methods atomically.

          +

          This has two main usages:

          • To perform several requests from an async context atomically, i.e. without interleaving redraws, RPC requests from other clients, or user interactions @@ -93,155 +179,102 @@

          • To minimize RPC overhead (roundtrips) of a sequence of many requests.

          -

        Parameters

        • calls: VimValue[]

        Returns Promise<[any[], boolean]>

        callDictFunction

        • callDictFunction(dict: object, fname: string, args?: VimValue | VimValue[]): object
        • -

          Calls a VimL |Dictionary-function| with the given arguments.

          -

          On execution error: fails with VimL error, does not update v:errmsg.

          -

          Parameters

          • dict: object
          • fname: string
          • args: VimValue | VimValue[] = []

          Returns object

        callFunction

        • callFunction(fname: string, args?: VimValue | VimValue[]): Promise<any>

        command

        • command(arg: string): Promise<any>
        • -

          Executes an ex-command.

          -

          On execution error: fails with VimL error, does not update v:errmsg.

          -

          Parameters

          • arg: string
            -

            Ex-command string

            -

          Returns Promise<any>

        commandOutput

        • commandOutput(arg: string): Promise<string>
        • Calls a VimL |Dictionary-function| with the given arguments.

          +

          On execution error: fails with VimL error, does not update v:errmsg.

          +

          Parameters

          • dict: object
          • fname: string
          • args: VimValue | VimValue[] = []

          Returns object

        • Executes an ex-command.

          +

          On execution error: fails with VimL error, does not update v:errmsg.

          +

          Parameters

          • arg: string

            Ex-command string

            +

          Returns Promise<any>

        • Executes an ex-command and returns its (non-error) output. Shell |:!| output is not captured.

          -

          On execution error: fails with VimL error, does not update v:errmsg.

          -

          Parameters

          • arg: string

          Returns Promise<string>

        Private createBuf

        • createBuf(listed: boolean, scratch: boolean): Promise<number | Buffer>
        • -

          Creates a new, empty, unnamed buffer.

          -

          Parameters

          • listed: boolean
            -

            Controls 'buflisted'

            -
          • scratch: boolean
            -

            Creates a "throwaway" |scratch-buffer| for temporary work (always 'nomodified')

            -

          Returns Promise<number | Buffer>

          Buffer handle, or 0 on error

          -

        createBuffer

        • createBuffer(listed: boolean, scratch: boolean): Promise<number | Buffer>

        createNamespace

        • createNamespace(name?: string): Promise<number>
        • Creates a new, empty, unnamed buffer.

          +

          Parameters

          • listed: boolean

            Controls 'buflisted'

            +
          • scratch: boolean

            Creates a "throwaway" |scratch-buffer| for temporary work (always 'nomodified')

            +

          Returns Promise<number | Buffer>

          Buffer handle, or 0 on error

          +
        • Creates a new namespace, or gets an existing one.

          +

          Namespaces are used for buffer highlights and virtual text, see |nvim_buf_add_highlight()| and |nvim_buf_set_virtual_text()|.

          Namespaces can be named or anonymous. If name matches an existing namespace, the associated id is returned. If name is an empty string a new, anonymous namespace is created.

          -

          Parameters

          • name: string = ''
            -

            Namespace name or empty string

            -

          Returns Promise<number>

          Namespace id

          -

        deleteCurrentLine

        • deleteCurrentLine(): Promise<any>

        deleteVar

        • deleteVar(name: string): Promise<void>

        emit

        • emit(eventName: string | symbol, ...args: any[]): boolean
        • -

          Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

          Parameters

          • name: string = ''

            Namespace name or empty string

            +

          Returns Promise<number>

          Namespace id

          +
        • Delete a scoped variable

          +

          Parameters

          • name: string

          Returns Promise<void>

        • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments to each.

          -

          Returns true if the event had listeners, false otherwise.

          -
          const EventEmitter = require('events');
          const myEmitter = new EventEmitter();

          // First listener
          myEmitter.on('event', function firstListener() {
          console.log('Helloooo! first listener');
          });
          // Second listener
          myEmitter.on('event', function secondListener(arg1, arg2) {
          console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
          });
          // Third listener
          myEmitter.on('event', function thirdListener(...args) {
          const parameters = args.join(', ');
          console.log(`event with parameters ${parameters} in third listener`);
          });

          console.log(myEmitter.listeners('event'));

          myEmitter.emit('event', 1, 2, 3, 4, 5);

          // Prints:
          // [
          // [Function: firstListener],
          // [Function: secondListener],
          // [Function: thirdListener]
          // ]
          // Helloooo! first listener
          // event with parameters 1, 2 in second listener
          // event with parameters 1, 2, 3, 4, 5 in third listener -
          -
          since

          v0.1.26

          -

          Parameters

          • eventName: string | symbol
          • Rest ...args: any[]

          Returns boolean

        equals

        • equals(other: BaseApi): boolean

        errWrite

        • errWrite(str: string): Promise<any>

        errWriteLine

        • errWriteLine(str: string): Promise<any>

        eval

        • eval(expr: string): Promise<VimValue>
        • -

          Evaluates a VimL expression (:help expression). Dictionaries +

          Returns true if the event had listeners, false otherwise.

          +
          const EventEmitter = require('events');
          const myEmitter = new EventEmitter();

          // First listener
          myEmitter.on('event', function firstListener() {
          console.log('Helloooo! first listener');
          });
          // Second listener
          myEmitter.on('event', function secondListener(arg1, arg2) {
          console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
          });
          // Third listener
          myEmitter.on('event', function thirdListener(...args) {
          const parameters = args.join(', ');
          console.log(`event with parameters ${parameters} in third listener`);
          });

          console.log(myEmitter.listeners('event'));

          myEmitter.emit('event', 1, 2, 3, 4, 5);

          // Prints:
          // [
          // [Function: firstListener],
          // [Function: secondListener],
          // [Function: thirdListener]
          // ]
          // Helloooo! first listener
          // event with parameters 1, 2 in second listener
          // event with parameters 1, 2, 3, 4, 5 in third listener +
          +

          Parameters

          • eventName: string | symbol
          • Rest ...args: any[]

          Returns boolean

          Since

          v0.1.26

          +
        • Evaluates a VimL expression (:help expression). Dictionaries and Lists are recursively expanded. On VimL error: Returns a generic error; v:errmsg is not updated.

          -

          Parameters

          • expr: string

          Returns Promise<VimValue>

        eventNames

        • eventNames(): (string | symbol)[]
        • -

          Returns an array listing the events for which the emitter has registered +

          Parameters

          • expr: string

          Returns Promise<VimValue>

        • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

          -
          const EventEmitter = require('events');
          const myEE = new EventEmitter();
          myEE.on('foo', () => {});
          myEE.on('bar', () => {});

          const sym = Symbol('symbol');
          myEE.on(sym, () => {});

          console.log(myEE.eventNames());
          // Prints: [ 'foo', 'bar', Symbol(symbol) ] -
          -
          since

          v6.0.0

          -

          Returns (string | symbol)[]

        executeLua

        • executeLua(code: string, args?: VimValue[]): Promise<object>

        feedKeys

        • feedKeys(keys: string, mode: string, escapeCsi: boolean): Promise<any>
        • -

          Sends input-keys to Nvim, subject to various quirks controlled +

          const EventEmitter = require('events');
          const myEE = new EventEmitter();
          myEE.on('foo', () => {});
          myEE.on('bar', () => {});

          const sym = Symbol('symbol');
          myEE.on(sym, () => {});

          console.log(myEE.eventNames());
          // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
          +

          Returns (string | symbol)[]

          Since

          v6.0.0

          +
        • Alias for lua() to be consistent with neovim API

          +

          Parameters

          • code: string
          • args: VimValue[] = []

          Returns Promise<object>

        • Sends input-keys to Nvim, subject to various quirks controlled by mode flags. This is a blocking call, unlike |nvim_input()|.

          -

          On execution error: does not fail, but updates v:errmsg.

          -

          Parameters

          • keys: string
            -

            To be typed

            -
          • mode: string
            -

            Behavior flags, see |feedkeys()|

            -
          • escapeCsi: boolean
            -

            If true, escape K_SPECIAL/CSI bytes in keys

            -

          Returns Promise<any>

        getChanInfo

        • getChanInfo(chan: number): Promise<Channel>

        getColorByName

        • getColorByName(name: string): Promise<number>

        getCommands

        • getCommands(options?: {}): Promise<Command>
        • -

          Gets a map of buffer-local |user-commands|.

          -

          Parameters

          • options: {} = {}
            -

            Optional parameters (currently not used)

            -

            Returns Promise<Command>

            Map of maps describing commands

            -

          getHighlight

          • getHighlight(nameOrId: string | number, isRgb?: boolean): void | Promise<object>
          • -

            Get highlight by name or id

            -

            Parameters

            • nameOrId: string | number
              -

              Name or ID

              -
            • isRgb: boolean = true
              -

              Should export RGB colors

              -

            Returns void | Promise<object>

            Highlight definition map

            -

          getHighlightById

          • getHighlightById(id: number, isRgb?: boolean): Promise<object>
          • -

            Get highlight definition by id |hlID()|

            -

            Parameters

            • id: number
              -

              Highlight id as returned by |hlID()|

              -
            • isRgb: boolean = true
              -

              Should export RGB colors

              -

            Returns Promise<object>

            Highlight definition map

            -

          getHighlightByName

          • getHighlightByName(name: string, isRgb?: boolean): Promise<object>
          • -

            Get highlight definition by name

            -

            Parameters

            • name: string
              -

              Highlight group name

              -
            • isRgb: boolean = true
              -

              Should export RGB colors

              -

            Returns Promise<object>

            Highlight definition map

            -

          getKeymap

          • getKeymap(mode: string): Promise<object[]>
          • -

            Gets a list of global (non-buffer-local) |mapping| definitions.

            -

            Parameters

            • mode: string
              -

              Mode short-name ("n", "i", "v", ...)

              -

            Returns Promise<object[]>

            Array of maparg()-like dictionaries describing mappings. The "buffer" key is always zero.

            -

          getLine

          • getLine(): Promise<string>

          getMaxListeners

          • getMaxListeners(): number
          • -

            Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

            -
            since

            v1.0.0

            -

            Returns number

          getNamespaces

          • getNamespaces(): Promise<{}>

          getOption

          • getOption(name: string): void | Promise<VimValue>
          • -

            Retrieves a scoped option depending on type of this

            -

            Parameters

            • name: string

            Returns void | Promise<VimValue>

          getProc

          • getProc(pid: number): Promise<Proc>
          • -

            Gets info describing process pid.

            -

            Parameters

            • pid: number
              -

              pid

              -

            Returns Promise<Proc>

            Map of process properties, or null if process not found

            -

          getProcChildren

          • getProcChildren(pid: number): Promise<Proc[]>
          • -

            Gets the immediate children of process pid

            -

            Parameters

            • pid: number

            Returns Promise<Proc[]>

            Array of child process ids, empty if process not found

            -

          getVar

          • getVar(name: string): Promise<VimValue>
          • -

            Retrieves a scoped variable depending on type (using this.prefix)

            -

            Parameters

            • name: string

            Returns Promise<VimValue>

          getVvar

          • getVvar(name: string): Promise<VimValue>

          getWindow

          • getWindow(): AsyncWindow

          getWindows

          • getWindows(): Promise<Window[]>

          input

          • input(keys: string): Promise<number>
          • -

            Queues raw user-input. Unlike |nvim_feedkeys()|, this uses a +

            On execution error: does not fail, but updates v:errmsg.

            +

            Parameters

            • keys: string

              To be typed

              +
            • mode: string

              Behavior flags, see |feedkeys()|

              +
            • escapeCsi: boolean

              If true, escape K_SPECIAL/CSI bytes in keys

              +

            Returns Promise<any>

          • Gets information about a channel

            +

            Parameters

            • chan: number

              The channel number

              +

            Returns Promise<Channel>

            A channel

            +
          • Gets a map of buffer-local |user-commands|.

            +

            Parameters

            • options: {} = {}

              Optional parameters (currently not used)

              +

              Returns Promise<Command>

              Map of maps describing commands

              +
            • Get highlight by name or id

              +

              Parameters

              • nameOrId: string | number

                Name or ID

                +
              • isRgb: boolean = true

                Should export RGB colors

                +

              Returns void | Promise<object>

              Highlight definition map

              +
            • Get highlight definition by id |hlID()|

              +

              Parameters

              • id: number

                Highlight id as returned by |hlID()|

                +
              • isRgb: boolean = true

                Should export RGB colors

                +

              Returns Promise<object>

              Highlight definition map

              +
            • Get highlight definition by name

              +

              Parameters

              • name: string

                Highlight group name

                +
              • isRgb: boolean = true

                Should export RGB colors

                +

              Returns Promise<object>

              Highlight definition map

              +
            • Gets a list of global (non-buffer-local) |mapping| definitions.

              +

              Parameters

              • mode: string

                Mode short-name ("n", "i", "v", ...)

                +

              Returns Promise<object[]>

              Array of maparg()-like dictionaries describing mappings. The "buffer" key is always zero.

              +
            • Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

              +

              Returns number

              Since

              v1.0.0

              +
            • Gets existing, non-anonymous namespaces.

              +

              Returns Promise<{
                  [name: string]: number;
              }>

              dict that maps from names to namespace ids.

              +
            • Retrieves a scoped option depending on type of this

              +

              Parameters

              • name: string

              Returns void | Promise<VimValue>

            • Gets info describing process pid.

              +

              Parameters

              • pid: number

                pid

                +

              Returns Promise<Proc>

              Map of process properties, or null if process not found

              +
            • Gets the immediate children of process pid

              +

              Parameters

              • pid: number

              Returns Promise<Proc[]>

              Array of child process ids, empty if process not found

              +
            • Retrieves a scoped variable depending on type (using this.prefix)

              +

              Parameters

              • name: string

              Returns Promise<VimValue>

            • Queues raw user-input. Unlike |nvim_feedkeys()|, this uses a low-level input buffer and the call is non-blocking (input is processed asynchronously by the eventloop).

              -

              On execution error: does not fail, but updates v:errmsg.

              +

              On execution error: does not fail, but updates v:errmsg.

              Note: |keycodes| like are translated, so "<" is special. To input a literal "<", send .

              @@ -249,11 +282,9 @@ For mouse events use |nvim_input_mouse()|. The pseudokey form "<col,row>" is deprecated since |api-level| 6.

              -

              Parameters

              • keys: string
                -

                To be typed

                -

              Returns Promise<number>

            inputMouse

            • inputMouse(button: string, action: string, modifier: string, grid: number, row: number, col: number): Promise<any>
            • Send mouse event from GUI.

              +

              The call is non-blocking. It doesn't wait on any resulting action, but queues the event to be processed soon by the event loop.

              Note: @@ -263,138 +294,103 @@ used to implement real-time mouse input in a GUI. The deprecated pseudokey form ("<col,row>") of |nvim_input()| has the same limitiation.

              -

              Parameters

              • button: string
                -

                Mouse button: one of "left", "right", "middle", "wheel".

                -
              • action: string
                -

                For ordinary buttons, one of "press", "drag", "release". +

                Parameters

                • button: string

                  Mouse button: one of "left", "right", "middle", "wheel".

                  +
                • action: string

                  For ordinary buttons, one of "press", "drag", "release". For the wheel, one of "up", "down", "left", "right".

                  -
              • modifier: string
                -

                String of modifiers each represented by a +

              • modifier: string

                String of modifiers each represented by a single char. The same specifiers are used as for a key press, except that the "-" separator is optional, so "C-A-", "c-a" and "CA" can all be used to specify Ctrl+Alt+click.

                -
              • grid: number
                -

                Grid number if the client uses |ui-multigrid|, else 0.

                -
              • row: number
                -

                Mouse row-position (zero-based, like redraw events)

                -
              • col: number
                -

                Mouse column-position (zero-based, like redraw events)

                -

              Returns Promise<any>

            listenerCount

            • listenerCount(eventName: string | symbol): number
            • -

              Returns the number of listeners listening to the event named eventName.

              -
              since

              v3.2.0

              -

              Parameters

              • eventName: string | symbol
                -

                The name of the event being listened for

                -

              Returns number

            listeners

            • listeners(eventName: string | symbol): Function[]
            • -

              Returns a copy of the array of listeners for the event named eventName.

              -
              server.on('connection', (stream) => {
              console.log('someone connected!');
              });
              console.log(util.inspect(server.listeners('connection')));
              // Prints: [ [Function] ] -
              -
              since

              v0.1.26

              -

              Parameters

              • eventName: string | symbol

              Returns Function[]

            lua

            • lua(code: string, args?: VimValue[]): Promise<object>

            notify

            • notify(name: string, args: any[]): void
            • -

              request is basically the same except you can choose to wait forpromise to be resolved

              -

              Parameters

              • name: string
              • args: any[]

              Returns void

            off

            • off(eventName: string | symbol, listener: (...args: any[]) => void): Neovim
            • -

              Alias for emitter.removeListener().

              -
              since

              v10.0.0

              -

              Parameters

              • eventName: string | symbol
              • listener: (...args: any[]) => void
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns Neovim

            on

            • on(eventName: string | symbol, listener: (...args: any[]) => void): Neovim
            • -

              Adds the listener function to the end of the listeners array for the +

            • grid: number

              Grid number if the client uses |ui-multigrid|, else 0.

              +
            • row: number

              Mouse row-position (zero-based, like redraw events)

              +
            • col: number

              Mouse column-position (zero-based, like redraw events)

              +

            Returns Promise<any>

            • Returns the number of listeners listening to the event named eventName.

              +

              Parameters

              • eventName: string | symbol

                The name of the event being listened for

                +

              Returns number

              Since

              v3.2.0

              +
            • Returns a copy of the array of listeners for the event named eventName.

              +
              server.on('connection', (stream) => {
              console.log('someone connected!');
              });
              console.log(util.inspect(server.listeners('connection')));
              // Prints: [ [Function] ] +
              +

              Parameters

              • eventName: string | symbol

              Returns Function[]

              Since

              v0.1.26

              +
            • Executes lua, it's possible neovim client does not support this

              +

              Parameters

              • code: string
              • args: VimValue[] = []

              Returns Promise<object>

            • request is basically the same except you can choose to wait forpromise to be resolved

              +

              Parameters

              • name: string
              • args: any[]

              Returns void

            • Alias for emitter.removeListener().

              +

              Parameters

              • eventName: string | symbol
              • listener: ((...args) => void)
                  • (...args): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns this

              Since

              v10.0.0

              +
            • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

              -
              server.on('connection', (stream) => {
              console.log('someone connected!');
              }); -
              +
              server.on('connection', (stream) => {
              console.log('someone connected!');
              }); +

              Returns a reference to the EventEmitter, so that calls can be chained.

              By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

              -
              const myEE = new EventEmitter();
              myEE.on('foo', () => console.log('a'));
              myEE.prependListener('foo', () => console.log('b'));
              myEE.emit('foo');
              // Prints:
              // b
              // a -
              -
              since

              v0.1.101

              -

              Parameters

              • eventName: string | symbol
                -

                The name of the event.

                -
              • listener: (...args: any[]) => void
                -

                The callback function

                -
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns Neovim

            once

            • once(eventName: string | symbol, listener: (...args: any[]) => void): Neovim
            • -

              Adds a one-timelistener function for the event named eventName. The +

              const myEE = new EventEmitter();
              myEE.on('foo', () => console.log('a'));
              myEE.prependListener('foo', () => console.log('b'));
              myEE.emit('foo');
              // Prints:
              // b
              // a +
              +

              Parameters

              • eventName: string | symbol

                The name of the event.

                +
              • listener: ((...args) => void)

                The callback function

                +
                  • (...args): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns this

              Since

              v0.1.101

              +
            • Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

              -
              server.once('connection', (stream) => {
              console.log('Ah, we have our first user!');
              }); -
              +
              server.once('connection', (stream) => {
              console.log('Ah, we have our first user!');
              }); +

              Returns a reference to the EventEmitter, so that calls can be chained.

              By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

              -
              const myEE = new EventEmitter();
              myEE.once('foo', () => console.log('a'));
              myEE.prependOnceListener('foo', () => console.log('b'));
              myEE.emit('foo');
              // Prints:
              // b
              // a -
              -
              since

              v0.3.0

              -

              Parameters

              • eventName: string | symbol
                -

                The name of the event.

                -
              • listener: (...args: any[]) => void
                -

                The callback function

                -
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns Neovim

            Private openWin

            • openWin(buffer: Buffer, enter: boolean, options: OpenWindowOptions): Promise<number | Window>
            • -

              Open a new window. +

              const myEE = new EventEmitter();
              myEE.once('foo', () => console.log('a'));
              myEE.prependOnceListener('foo', () => console.log('b'));
              myEE.emit('foo');
              // Prints:
              // b
              // a +
              +

              Parameters

              • eventName: string | symbol

                The name of the event.

                +
              • listener: ((...args) => void)

                The callback function

                +
                  • (...args): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns this

              Since

              v0.3.0

              +
            • Open a new window. Currently this is used to open floating and external windows. Floats are windows that are drawn above the split layout, at some anchor position in some other window. Floats can be draw internally or by external GUI with the |ui-multigrid| extension. External windows are only supported with multigrid GUIs, and are displayed as separate top-level windows.

              -

              Exactly one of external and relative must be specified.

              -

              Parameters

              • buffer: Buffer
                -

                Handle of buffer to be displayed in the window

                -
              • enter: boolean
                -

                Whether the window should be entered (made the current window)

                -
              • options: OpenWindowOptions
                -

                Options object

                -

              Returns Promise<number | Window>

              The Window handle or 0 when error

              -

            openWindow

            • openWindow(buffer: Buffer, enter: boolean, options: OpenWindowOptions): Promise<number | Window>

            outWrite

            • outWrite(str: string): Promise<any>

            outWriteLine

            • outWriteLine(str: string): Promise<any>

            parseExpression

            • parseExpression(expr: string, flags: string, highlight: boolean): Promise<object>

            prependListener

            • prependListener(eventName: string | symbol, listener: (...args: any[]) => void): Neovim
            • -

              Adds the listener function to the beginning of the listeners array for the +

              Exactly one of external and relative must be specified.

              +

              Parameters

              • buffer: Buffer

                Handle of buffer to be displayed in the window

                +
              • enter: boolean

                Whether the window should be entered (made the current window)

                +
              • options: OpenWindowOptions

              Returns Promise<number | Window>

              The Window handle or 0 when error

              +

              Param

              options Options object

              +
            • Parse a VimL Expression

              +

              TODO: return type, see :help

              +

              Parameters

              • expr: string
              • flags: string
              • highlight: boolean

              Returns Promise<object>

            • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

              -
              server.prependListener('connection', (stream) => {
              console.log('someone connected!');
              }); -
              +
              server.prependListener('connection', (stream) => {
              console.log('someone connected!');
              }); +

              Returns a reference to the EventEmitter, so that calls can be chained.

              -
              since

              v6.0.0

              -

              Parameters

              • eventName: string | symbol
                -

                The name of the event.

                -
              • listener: (...args: any[]) => void
                -

                The callback function

                -
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns Neovim

            prependOnceListener

            • prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): Neovim
            • -

              Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this +

              Parameters

              • eventName: string | symbol

                The name of the event.

                +
              • listener: ((...args) => void)

                The callback function

                +
                  • (...args): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns this

              Since

              v6.0.0

              +
            • Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

              -
              server.prependOnceListener('connection', (stream) => {
              console.log('Ah, we have our first user!');
              }); -
              +
              server.prependOnceListener('connection', (stream) => {
              console.log('Ah, we have our first user!');
              }); +

              Returns a reference to the EventEmitter, so that calls can be chained.

              -
              since

              v6.0.0

              -

              Parameters

              • eventName: string | symbol
                -

                The name of the event.

                -
              • listener: (...args: any[]) => void
                -

                The callback function

                -
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns Neovim

            quit

            • quit(): void

            rawListeners

            • rawListeners(eventName: string | symbol): Function[]
            • -

              Returns a copy of the array of listeners for the event named eventName, +

              Parameters

              • eventName: string | symbol

                The name of the event.

                +
              • listener: ((...args) => void)

                The callback function

                +
                  • (...args): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns this

              Since

              v6.0.0

              +
            • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

              -
              const emitter = new EventEmitter();
              emitter.once('log', () => console.log('log once'));

              // Returns a new Array with a function `onceWrapper` which has a property
              // `listener` which contains the original listener bound above
              const listeners = emitter.rawListeners('log');
              const logFnWrapper = listeners[0];

              // Logs "log once" to the console and does not unbind the `once` event
              logFnWrapper.listener();

              // Logs "log once" to the console and removes the listener
              logFnWrapper();

              emitter.on('log', () => console.log('log persistently'));
              // Will return a new Array with a single function bound by `.on()` above
              const newListeners = emitter.rawListeners('log');

              // Logs "log persistently" twice
              newListeners[0]();
              emitter.emit('log'); -
              -
              since

              v9.4.0

              -

              Parameters

              • eventName: string | symbol

              Returns Function[]

            removeAllListeners

            • removeAllListeners(event?: string | symbol): Neovim
            • -

              Removes all listeners, or those of the specified eventName.

              -

              It is bad practice to remove listeners added elsewhere in the code, +

              const emitter = new EventEmitter();
              emitter.once('log', () => console.log('log once'));

              // Returns a new Array with a function `onceWrapper` which has a property
              // `listener` which contains the original listener bound above
              const listeners = emitter.rawListeners('log');
              const logFnWrapper = listeners[0];

              // Logs "log once" to the console and does not unbind the `once` event
              logFnWrapper.listener();

              // Logs "log once" to the console and removes the listener
              logFnWrapper();

              emitter.on('log', () => console.log('log persistently'));
              // Will return a new Array with a single function bound by `.on()` above
              const newListeners = emitter.rawListeners('log');

              // Logs "log persistently" twice
              newListeners[0]();
              emitter.emit('log'); +
              +

              Parameters

              • eventName: string | symbol

              Returns Function[]

              Since

              v9.4.0

              +
            • Removes all listeners, or those of the specified eventName.

              +

              It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

              Returns a reference to the EventEmitter, so that calls can be chained.

              -
              since

              v0.1.26

              -

              Parameters

              • Optional event: string | symbol

              Returns Neovim

            removeListener

            • removeListener(eventName: string | symbol, listener: (...args: any[]) => void): Neovim
            • -

              Removes the specified listener from the listener array for the event namedeventName.

              -
              const callback = (stream) => {
              console.log('someone connected!');
              };
              server.on('connection', callback);
              // ...
              server.removeListener('connection', callback); -
              +

              Parameters

              • Optional event: string | symbol

              Returns this

              Since

              v0.1.26

              +
            • Removes the specified listener from the listener array for the event namedeventName.

              +
              const callback = (stream) => {
              console.log('someone connected!');
              };
              server.on('connection', callback);
              // ...
              server.removeListener('connection', callback); +

              removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be @@ -402,8 +398,8 @@

              Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and_before_ the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

              -
              const myEmitter = new MyEmitter();

              const callbackA = () => {
              console.log('A');
              myEmitter.removeListener('event', callbackB);
              };

              const callbackB = () => {
              console.log('B');
              };

              myEmitter.on('event', callbackA);

              myEmitter.on('event', callbackB);

              // callbackA removes listener callbackB but it will still be called.
              // Internal listener array at time of emit [callbackA, callbackB]
              myEmitter.emit('event');
              // Prints:
              // A
              // B

              // callbackB is now removed.
              // Internal listener array [callbackA]
              myEmitter.emit('event');
              // Prints:
              // A -
              +
              const myEmitter = new MyEmitter();

              const callbackA = () => {
              console.log('A');
              myEmitter.removeListener('event', callbackB);
              };

              const callbackB = () => {
              console.log('B');
              };

              myEmitter.on('event', callbackA);

              myEmitter.on('event', callbackB);

              // callbackA removes listener callbackB but it will still be called.
              // Internal listener array at time of emit [callbackA, callbackB]
              myEmitter.emit('event');
              // Prints:
              // A
              // B

              // callbackB is now removed.
              // Internal listener array [callbackA]
              myEmitter.emit('event');
              // Prints:
              // A +

              Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, @@ -412,182 +408,124 @@

              When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

              -
              const ee = new EventEmitter();

              function pong() {
              console.log('pong');
              }

              ee.on('ping', pong);
              ee.once('ping', pong);
              ee.removeListener('ping', pong);

              ee.emit('ping');
              ee.emit('ping'); -
              +
              const ee = new EventEmitter();

              function pong() {
              console.log('pong');
              }

              ee.on('ping', pong);
              ee.once('ping', pong);
              ee.removeListener('ping', pong);

              ee.emit('ping');
              ee.emit('ping'); +

              Returns a reference to the EventEmitter, so that calls can be chained.

              -
              since

              v0.1.26

              -

              Parameters

              • eventName: string | symbol
              • listener: (...args: any[]) => void
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns Neovim

            replaceTermcodes

            • replaceTermcodes(str: string, fromPart: boolean, doIt: boolean, special: boolean): Promise<string>
            • -

              Replaces terminal codes and |keycodes| (, , ...) in a +

              Parameters

              • eventName: string | symbol
              • listener: ((...args) => void)
                  • (...args): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns this

              Since

              v0.1.26

              +
            • Replaces terminal codes and |keycodes| (, , ...) in a string with the internal representation.

              -

              Parameters

              • str: string
                -

                String to be converted.

                -
              • fromPart: boolean
                -

                Legacy Vim parameter. Usually true.

                -
              • doIt: boolean
                -

                Also translate . Ignored if special is false.

                -
              • special: boolean
                -

                Replace |keycodes|, e.g. becomes a "\n" char.

                -

              Returns Promise<string>

            request

            • request(name: string, args?: any[]): Promise<any>

            selectPopupmenuItem

            • selectPopupmenuItem(item: number, insert: boolean, finish: boolean, opts?: object): Promise<any>
            • -

              Selects an item in the completion popupmenu.

              -

              If |ins-completion| is not active this API call is silently +

              Parameters

              • str: string

                String to be converted.

                +
              • fromPart: boolean

                Legacy Vim parameter. Usually true.

                +
              • doIt: boolean

                Also translate . Ignored if special is false.

                +
              • special: boolean

                Replace |keycodes|, e.g. becomes a "\n" char.

                +

              Returns Promise<string>

            • Selects an item in the completion popupmenu.

              +

              If |ins-completion| is not active this API call is silently ignored. Useful for an external UI using |ui-popupmenu| to control the popupmenu with the mouse. Can also be used in a mapping; use |:map-cmd| to ensure the mapping doesn't end completion mode.

              -

              Parameters

              • item: number
                -

                Index (zero-based) of the item to select. +

                Parameters

                • item: number

                  Index (zero-based) of the item to select. Value of -1 selects nothing and restores the original text.

                  -
              • insert: boolean
                -

                Whether the selection should be inserted in the buffer.

                -
              • finish: boolean
                -

                Finish the completion and dismiss the popupmenu. +

              • insert: boolean

                Whether the selection should be inserted in the buffer.

                +
              • finish: boolean

                Finish the completion and dismiss the popupmenu. Implies insert.

                -
              • opts: object = {}
                -

                Optional parameters. Reserved for future use.

                -

              Returns Promise<any>

            setClientInfo

            • setClientInfo(name: string, version: object, type: string, methods: object, attributes: object): void

            Returns Promise<any>

            • Identify the client for nvim. Can be called more than once, but subsequent calls will remove earlier info, which should be resent if it is still valid. (This could happen if a library first identifies the channel, and a plugin using that library later overrides that info)

              -

              Parameters

              • name: string
              • version: object
              • type: string
              • methods: object
              • attributes: object

              Returns void

            setLine

            • setLine(line: string): Promise<any>

            setMaxListeners

            • setMaxListeners(n: number): Neovim
            • -

              By default EventEmitters will print a warning if more than 10 listeners are +

              Parameters

              • name: string
              • version: object
              • type: string
              • methods: object
              • attributes: object

              Returns void

            • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

              -

              Returns a reference to the EventEmitter, so that calls can be chained.

              -
              since

              v0.3.5

              -

              Parameters

              • n: number

              Returns Neovim

            setOption

            • setOption(name: string, value: VimValue): void | Promise<void>

            Protected setTransport

            • setTransport(transport: Transport): void

            setVar

            • setVar(name: string, value: VimValue): Promise<void>

            setVvar

            • setVvar(name: string, value: VimValue): Promise<any>
            • -

              Sets a v: variable, if it is not readonly.

              -

              Parameters

              • name: string
                -

                Variable name

                -
              • value: VimValue
                -

                Variable value

                -

              Returns Promise<any>

            setWindow

            • setWindow(win: Window): Promise<any>

            strWidth

            • strWidth(str: string): Promise<number>
            • -

              Calculates the number of display cells occupied by text. +

              Returns a reference to the EventEmitter, so that calls can be chained.

              +

              Parameters

              • n: number

              Returns this

              Since

              v0.3.5

              +
            • Set scoped option

              +

              Parameters

              • name: string
              • value: VimValue

              Returns void | Promise<void>

            • Set a scoped variable

              +

              Parameters

              • name: string
              • value: VimValue

              Returns Promise<void>

            • Sets a v: variable, if it is not readonly.

              +

              Parameters

              • name: string

                Variable name

                +
              • value: VimValue

                Variable value

                +

              Returns Promise<any>

            • Calculates the number of display cells occupied by text. counts as one cell.

              -

              Parameters

              • str: string
                -

                Some text

                -

              Returns Promise<number>

              Number of cells

              -

            subscribe

            • subscribe(event: string): Promise<void>

            uiAttach

            • uiAttach(width: number, height: number, options: UiAttachOptions): Promise<void>

            uiDetach

            • uiDetach(): Promise<void>

            uiSetOption

            • uiSetOption(name: string, value: any): Promise<void>

            uiTryResize

            • uiTryResize(width: number, height: number): Promise<void>

            uiTryResizeGrid

            • uiTryResizeGrid(grid: number, width: number, height: number): Promise<void>
            • TODO: Documentation

              +

              Parameters

              • width: number

                The new requested width

                +
              • height: number

                The new requested height

                +

              Returns Promise<void>

            • Tell Nvim to resize a grid. Triggers a grid_resize event with the requested grid size or the maximum size if it exceeds size limits.

              -

              On invalid grid handle, fails with error.

              -

              Parameters

              • grid: number
                -

                The handle of the grid to be changed

                -
              • width: number
                -

                The new requested width

                -
              • height: number
                -

                The new requested height

                -

              Returns Promise<void>

            unsubscribe

            • unsubscribe(event: string): Promise<void>

            Private winClose

            • winClose(window: Window, force: boolean): Promise<any>

            Private winConfig

            • winConfig(window: Window, options?: object): Promise<any>
            • Configure window position. Currently this is only used to configure floating and external windows (including changing a split window to these types).

              -

              See documentation at |nvim_open_win()|, for the meaning of +

              See documentation at |nvim_open_win()|, for the meaning of parameters. Pass in -1 for 'witdh' and 'height' to keep exiting size.

              When reconfiguring a floating window, absent option keys will not be changed. The following restriction apply: row, col and relative must be reconfigured together. Only changing a subset of these is an error.

              -

              Parameters

              • window: Window
                -

                Window handle

                -
              • options: object = {}
                -

                Options object

                -

              Returns Promise<any>

            windowClose

            • windowClose(window: Window, force: boolean): Promise<any>

            windowConfig

            • windowConfig(window: Window, options?: object): Promise<any>

            Static getEventListeners

            • getEventListeners(emitter: EventEmitter | DOMEventTarget, name: string | symbol): Function[]
            • -

              Returns a copy of the array of listeners for the event named eventName.

              -

              For EventEmitters this behaves exactly the same as calling .listeners on +

              Parameters

              • window: Window

                Window handle

                +
              • options: object = {}

              Returns Promise<any>

              Param

              options Options object

              +
            • Returns a copy of the array of listeners for the event named eventName.

              +

              For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

              For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

              -
              const { getEventListeners, EventEmitter } = require('events');

              {
              const ee = new EventEmitter();
              const listener = () => console.log('Events are fun');
              ee.on('foo', listener);
              getEventListeners(ee, 'foo'); // [listener]
              }
              {
              const et = new EventTarget();
              const listener = () => console.log('Events are fun');
              et.addEventListener('foo', listener);
              getEventListeners(et, 'foo'); // [listener]
              } -
              -
              since

              v15.2.0

              -

              Parameters

              • emitter: EventEmitter | DOMEventTarget
              • name: string | symbol

              Returns Function[]

            Static listenerCount

            • listenerCount(emitter: EventEmitter, eventName: string | symbol): number
            • -

              A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

              -
              const { EventEmitter, listenerCount } = require('events');
              const myEmitter = new EventEmitter();
              myEmitter.on('event', () => {});
              myEmitter.on('event', () => {});
              console.log(listenerCount(myEmitter, 'event'));
              // Prints: 2 -
              -
              since

              v0.9.12

              -
              deprecated

              Since v3.2.0 - Use listenerCount instead.

              -

              Parameters

              • emitter: EventEmitter
                -

                The emitter to query

                -
              • eventName: string | symbol
                -

                The event name

                -

              Returns number

            Static on

            • on(emitter: EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
            • -

              ```js -const { on, EventEmitter } = require('events');

              -

              (async () => { - const ee = new EventEmitter();

              -

              // Emit later on - process.nextTick(() => { - ee.emit('foo', 'bar'); - ee.emit('foo', 42); - });

              -

              for await (const event of on(ee, 'foo')) { - // The execution of this inner block is synchronous and it - // processes one event at a time (even with await). Do not use - // if concurrent execution is required. - console.log(event); // prints ['bar'] [42] - } - // Unreachable here -})();

              -

              Returns an `AsyncIterator` that iterates `eventName` events. It will throw
              if the `EventEmitter` emits `'error'`. It removes all listeners when
              exiting the loop. The `value` returned by each iteration is an array
              composed of the emitted event arguments.

              An `AbortSignal` can be used to cancel waiting on events:

              ```js
              const { on, EventEmitter } = require('events');
              const ac = new AbortController();

              (async () => {
              const ee = new EventEmitter();

              // Emit later on
              process.nextTick(() => {
              ee.emit('foo', 'bar');
              ee.emit('foo', 42);
              });

              for await (const event of on(ee, 'foo', { signal: ac.signal })) {
              // The execution of this inner block is synchronous and it
              // processes one event at a time (even with await). Do not use
              // if concurrent execution is required.
              console.log(event); // prints ['bar'] [42]
              }
              // Unreachable here
              })();

              process.nextTick(() => ac.abort()); -
              -
              since

              v13.6.0, v12.16.0

              -

              Parameters

              • emitter: EventEmitter
              • eventName: string
                -

                The name of the event being listened for

                -
              • Optional options: StaticEventEmitterOptions

              Returns AsyncIterableIterator<any>

              that iterates eventName events emitted by the emitter

              -

            Static once

            • once(emitter: NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
            • once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
            • -

              Creates a Promise that is fulfilled when the EventEmitter emits the given +

              const { getEventListeners, EventEmitter } = require('events');

              {
              const ee = new EventEmitter();
              const listener = () => console.log('Events are fun');
              ee.on('foo', listener);
              getEventListeners(ee, 'foo'); // [listener]
              }
              {
              const et = new EventTarget();
              const listener = () => console.log('Events are fun');
              et.addEventListener('foo', listener);
              getEventListeners(et, 'foo'); // [listener]
              } +
              +

              Parameters

              • emitter: EventEmitter | DOMEventTarget
              • name: string | symbol

              Returns Function[]

              Since

              v15.2.0

              +
            • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

              +
              const { EventEmitter, listenerCount } = require('events');
              const myEmitter = new EventEmitter();
              myEmitter.on('event', () => {});
              myEmitter.on('event', () => {});
              console.log(listenerCount(myEmitter, 'event'));
              // Prints: 2 +
              +

              Parameters

              • emitter: EventEmitter

                The emitter to query

                +
              • eventName: string | symbol

                The event name

                +

              Returns number

              Since

              v0.9.12

              +

              Deprecated

              Since v3.2.0 - Use listenerCount instead.

              +
            • const { on, EventEmitter } = require('events');

              (async () => {
              const ee = new EventEmitter();

              // Emit later on
              process.nextTick(() => {
              ee.emit('foo', 'bar');
              ee.emit('foo', 42);
              });

              for await (const event of on(ee, 'foo')) {
              // The execution of this inner block is synchronous and it
              // processes one event at a time (even with await). Do not use
              // if concurrent execution is required.
              console.log(event); // prints ['bar'] [42]
              }
              // Unreachable here
              })(); +
              +

              Returns an AsyncIterator that iterates eventName events. It will throw +if the EventEmitter emits 'error'. It removes all listeners when +exiting the loop. The value returned by each iteration is an array +composed of the emitted event arguments.

              +

              An AbortSignal can be used to cancel waiting on events:

              +
              const { on, EventEmitter } = require('events');
              const ac = new AbortController();

              (async () => {
              const ee = new EventEmitter();

              // Emit later on
              process.nextTick(() => {
              ee.emit('foo', 'bar');
              ee.emit('foo', 42);
              });

              for await (const event of on(ee, 'foo', { signal: ac.signal })) {
              // The execution of this inner block is synchronous and it
              // processes one event at a time (even with await). Do not use
              // if concurrent execution is required.
              console.log(event); // prints ['bar'] [42]
              }
              // Unreachable here
              })();

              process.nextTick(() => ac.abort()); +
              +

              Parameters

              • emitter: EventEmitter
              • eventName: string

                The name of the event being listened for

                +
              • Optional options: StaticEventEmitterOptions

              Returns AsyncIterableIterator<any>

              that iterates eventName events emitted by the emitter

              +

              Since

              v13.6.0, v12.16.0

              +
            • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

              -

              This method is intentionally generic and works with the web platformEventTarget interface, which has no special'error' event +

              This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

              -
              const { once, EventEmitter } = require('events');

              async function run() {
              const ee = new EventEmitter();

              process.nextTick(() => {
              ee.emit('myevent', 42);
              });

              const [value] = await once(ee, 'myevent');
              console.log(value);

              const err = new Error('kaboom');
              process.nextTick(() => {
              ee.emit('error', err);
              });

              try {
              await once(ee, 'myevent');
              } catch (err) {
              console.log('error happened', err);
              }
              }

              run(); -
              +
              const { once, EventEmitter } = require('events');

              async function run() {
              const ee = new EventEmitter();

              process.nextTick(() => {
              ee.emit('myevent', 42);
              });

              const [value] = await once(ee, 'myevent');
              console.log(value);

              const err = new Error('kaboom');
              process.nextTick(() => {
              ee.emit('error', err);
              });

              try {
              await once(ee, 'myevent');
              } catch (err) {
              console.log('error happened', err);
              }
              }

              run(); +

              The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

              -
              const { EventEmitter, once } = require('events');

              const ee = new EventEmitter();

              once(ee, 'error')
              .then(([err]) => console.log('ok', err.message))
              .catch((err) => console.log('error', err.message));

              ee.emit('error', new Error('boom'));

              // Prints: ok boom -
              +
              const { EventEmitter, once } = require('events');

              const ee = new EventEmitter();

              once(ee, 'error')
              .then(([err]) => console.log('ok', err.message))
              .catch((err) => console.log('error', err.message));

              ee.emit('error', new Error('boom'));

              // Prints: ok boom +

              An AbortSignal can be used to cancel waiting for the event:

              -
              const { EventEmitter, once } = require('events');

              const ee = new EventEmitter();
              const ac = new AbortController();

              async function foo(emitter, event, signal) {
              try {
              await once(emitter, event, { signal });
              console.log('event emitted!');
              } catch (error) {
              if (error.name === 'AbortError') {
              console.error('Waiting for the event was canceled!');
              } else {
              console.error('There was an error', error.message);
              }
              }
              }

              foo(ee, 'foo', ac.signal);
              ac.abort(); // Abort waiting for the event
              ee.emit('foo'); // Prints: Waiting for the event was canceled! -
              -
              since

              v11.13.0, v10.16.0

              -

              Parameters

              • emitter: NodeEventTarget
              • eventName: string | symbol
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

            • Parameters

              • emitter: DOMEventTarget
              • eventName: string
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

            Legend

            • Constructor
            • Property
            • Method
            • Accessor
            • Inherited constructor
            • Inherited property
            • Inherited method
            • Inherited accessor
            • Private property
            • Private method
            • Protected property

            Settings

            Theme

            Generated using TypeDoc

            \ No newline at end of file +
            const { EventEmitter, once } = require('events');

            const ee = new EventEmitter();
            const ac = new AbortController();

            async function foo(emitter, event, signal) {
            try {
            await once(emitter, event, { signal });
            console.log('event emitted!');
            } catch (error) {
            if (error.name === 'AbortError') {
            console.error('Waiting for the event was canceled!');
            } else {
            console.error('There was an error', error.message);
            }
            }
            }

            foo(ee, 'foo', ac.signal);
            ac.abort(); // Abort waiting for the event
            ee.emit('foo'); // Prints: Waiting for the event was canceled! +
            +

            Parameters

            • emitter: NodeEventTarget
            • eventName: string | symbol
            • Optional options: StaticEventEmitterOptions

            Returns Promise<any[]>

            Since

            v11.13.0, v10.16.0

            +
          • Parameters

            • emitter: DOMEventTarget
            • eventName: string
            • Optional options: StaticEventEmitterOptions

            Returns Promise<any[]>

          • Generated using TypeDoc

            \ No newline at end of file diff --git a/classes/NeovimClient.html b/classes/NeovimClient.html index f2effa13..70bb7ffa 100644 --- a/classes/NeovimClient.html +++ b/classes/NeovimClient.html @@ -1,89 +1,188 @@ -NeovimClient | neovim
            Options
            All
            • Public
            • Public/Protected
            • All
            Menu

            Class NeovimClient

            Hierarchy

            Index

            Constructors

            constructor

            • new NeovimClient(options?: { logger?: Logger; transport?: Transport }): NeovimClient

            Properties

            Buffer

            Buffer: typeof Buffer = ...

            Tabpage

            Tabpage: typeof Tabpage = ...

            Window

            Window: typeof Window = ...

            Private _channelId

            _channelId: number

            Protected _isReady

            _isReady: Promise<boolean>

            Private attachedBuffers

            attachedBuffers: Map<string, Map<string, Function[]>> = ...

            Protected client

            client: any

            data

            data: number | Buffer

            logger

            logger: Logger

            Protected prefix

            prefix: string = 'nvim_'

            Protected requestQueue

            requestQueue: any[]

            Protected transport

            transport: Transport

            Private transportAttached

            transportAttached: boolean

            Static Readonly captureRejectionSymbol

            captureRejectionSymbol: typeof captureRejectionSymbol

            Static captureRejections

            captureRejections: boolean
            -

            Sets or gets the default captureRejection value for all emitters.

            -

            Static defaultMaxListeners

            defaultMaxListeners: number

            Static Readonly errorMonitor

            errorMonitor: typeof errorMonitor
            -

            This symbol shall be used to install a listener for only monitoring 'error' +NeovimClient | neovim

            Class NeovimClient

            Neovim API

            +

            Hierarchy (view full)

            Constructors

            Properties

            Accessors

            Methods

            Constructors

            Properties

            Buffer: typeof Buffer = Buffer
            Tabpage: typeof Tabpage = Tabpage
            Window: typeof Window = Window
            _channelId: number
            _isReady: Promise<boolean>
            attachedBuffers: Map<string, Map<string, Function[]>> = ...
            client: any
            data: number | Buffer
            logger: Logger
            prefix: string = 'nvim_'
            requestQueue: any[]
            transport: Transport
            transportAttached: boolean
            captureRejectionSymbol: typeof captureRejectionSymbol
            captureRejections: boolean

            Sets or gets the default captureRejection value for all emitters.

            +
            defaultMaxListeners: number
            errorMonitor: typeof errorMonitor

            This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

            -

            Installing a listener using this symbol does not change the behavior once an +

            Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

            -

            Accessors

            apiInfo

            • get apiInfo(): Promise<[number, ApiInfo]>

            buffer

            • get buffer(): AsyncBuffer
            • set buffer(buffer: AsyncBuffer): void

            buffers

            • get buffers(): Promise<Buffer[]>

            Accessors

            • get buffers(): Promise<Buffer[]>
            • Gets the current list of buffer handles

              +

              Includes unlisted (unloaded/deleted) buffers, like ls!. Use buffer.loaded to check if a buffer is loaded

              -

            Returns Promise<Buffer[]>

            List of buffer handles

            -

            channelId

            • get channelId(): Promise<number>

            chans

            • get chans(): Promise<Channel[]>

            colorMap

            • get colorMap(): Promise<{}>

            commands

            • get commands(): Promise<Command>

            dir

            • set dir(dir: string): void

            isApiReady

            • get isApiReady(): boolean

            line

            • get line(): string | Promise<string>
            • set line(line: string | Promise<string>): void

            mode

            • get mode(): Promise<{ blocking: boolean; mode: string }>
            • -

              Gets the current mode. |mode()| "blocking" is true if Nvim is waiting for input.

              -

              Returns Promise<{ blocking: boolean; mode: string }>

              Dictionary { "mode": String, "blocking": Boolean }

              -

            namespaces

            • get namespaces(): Promise<{}>

            runtimePaths

            • get runtimePaths(): Promise<string[]>

            tabpage

            • get tabpage(): AsyncTabpage
            • set tabpage(tabpage: AsyncTabpage): void

            tabpages

            uis

            • get uis(): Promise<Ui[]>
            • get chans(): Promise<Channel[]>
            • Get information about all open channels

              +

              Returns Promise<Channel[]>

              Array of channels

              +
            • get colorMap(): Promise<{
                  [name: string]: number;
              }>
            • Gets map of defined colors

              +

              Returns Promise<{
                  [name: string]: number;
              }>

              Color map

              +
            • get mode(): Promise<{
                  blocking: boolean;
                  mode: string;
              }>
            • Gets the current mode. |mode()| "blocking" is true if Nvim is waiting for input.

              +

              Returns Promise<{
                  blocking: boolean;
                  mode: string;
              }>

              Dictionary { "mode": String, "blocking": Boolean }

              +
            • get namespaces(): Promise<{
                  [name: string]: number;
              }>
            • Alias for getNamespaces()

              +

              Returns Promise<{
                  [name: string]: number;
              }>

            • get runtimePaths(): Promise<string[]>
            • Gets the paths contained in "runtimepath"

              +

              Returns Promise<string[]>

              List of paths

              +
            • get uis(): Promise<Ui[]>
            • Gets a list of dictionaries representing attached UIs.

              +

              Returns Promise<Ui[]>

              Array of UI dictionaries Each dictionary has the following keys: "height" requested height of the UI "width" requested width of the UI "rgb" whether the UI uses rgb colors (false implies cterm colors) "ext_..." Requested UI extensions, see |ui-options| "chan" Channel id of remote UI (not present for TUI)

              -

            window

            • get window(): AsyncWindow
            • set window(win: AsyncWindow): void

            windows

            • get windows(): Promise<Window[]>

            Methods

            [DO_REQUEST]

            • [DO_REQUEST](name: string, args?: any[]): Promise<any>

            _getArgsByPrefix

            • _getArgsByPrefix(...args: any[]): any[]

            addListener

            • addListener(eventName: string | symbol, listener: (...args: any[]) => void): NeovimClient
            • -

              Alias for emitter.on(eventName, listener).

              -
              since

              v0.1.26

              -

              Parameters

              • eventName: string | symbol
              • listener: (...args: any[]) => void
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns NeovimClient

            asyncRequest

            • asyncRequest(name: string, args?: any[], stack: string): Promise<any>

            attach

            • attach(__namedParameters: { reader: ReadableStream; writer: WritableStream }): void
            • -

              Attaches msgpack to read/write streams *

              -

              Parameters

              • __namedParameters: { reader: ReadableStream; writer: WritableStream }
                • reader: ReadableStream
                • writer: WritableStream

              Returns void

            attachBuffer

            • attachBuffer(buffer: Buffer, eventName: string, cb: Function): Function

            call

            • call(fname: string, args?: VimValue | VimValue[]): Promise<any>
            • -

              Calls a VimL function with the given arguments.

              -

              On execution error: fails with VimL error, does not update v:errmsg.

              -

              Parameters

              • fname: string
              • args: VimValue | VimValue[] = []

              Returns Promise<any>

            callAtomic

            • callAtomic(calls: VimValue[]): Promise<[any[], boolean]>

            Methods

            • Alias for emitter.on(eventName, listener).

              +

              Parameters

              • eventName: string | symbol
              • listener: ((...args) => void)
                  • (...args): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns this

              Since

              v0.1.26

              +
            • Attaches msgpack to read/write streams *

              +

              Parameters

              • __namedParameters: {
                    reader: ReadableStream;
                    writer: WritableStream;
                }
                • reader: ReadableStream
                • writer: WritableStream

              Returns void

            • Calls a VimL function with the given arguments.

              +

              On execution error: fails with VimL error, does not update v:errmsg.

              +

              Parameters

              • fname: string
              • args: VimValue | VimValue[] = []

              Returns Promise<any>

            • Calls many API methods atomically.

              +

              This has two main usages:

              • To perform several requests from an async context atomically, i.e. without interleaving redraws, RPC requests from other clients, or user interactions @@ -93,150 +192,99 @@

              • To minimize RPC overhead (roundtrips) of a sequence of many requests.

              -

            Parameters

            • calls: VimValue[]

            Returns Promise<[any[], boolean]>

            callDictFunction

            • callDictFunction(dict: object, fname: string, args?: VimValue | VimValue[]): object
            • -

              Calls a VimL |Dictionary-function| with the given arguments.

              -

              On execution error: fails with VimL error, does not update v:errmsg.

              -

              Parameters

              • dict: object
              • fname: string
              • args: VimValue | VimValue[] = []

              Returns object

            callFunction

            • callFunction(fname: string, args?: VimValue | VimValue[]): Promise<any>

            command

            • command(arg: string): Promise<any>

            commandOutput

            • commandOutput(arg: string): Promise<string>
            • Calls a VimL |Dictionary-function| with the given arguments.

              +

              On execution error: fails with VimL error, does not update v:errmsg.

              +

              Parameters

              • dict: object
              • fname: string
              • args: VimValue | VimValue[] = []

              Returns object

            • Executes an ex-command.

              +

              On execution error: fails with VimL error, does not update v:errmsg.

              +

              Parameters

              • arg: string

                Ex-command string

                +

              Returns Promise<any>

            • Executes an ex-command and returns its (non-error) output. Shell |:!| output is not captured.

              -

              On execution error: fails with VimL error, does not update v:errmsg.

              -

              Parameters

              • arg: string

              Returns Promise<string>

            createBuffer

            • createBuffer(listed: boolean, scratch: boolean): Promise<number | Buffer>

            createNamespace

            • createNamespace(name?: string): Promise<number>
            • Creates a new namespace, or gets an existing one.

              +

              Namespaces are used for buffer highlights and virtual text, see |nvim_buf_add_highlight()| and |nvim_buf_set_virtual_text()|.

              Namespaces can be named or anonymous. If name matches an existing namespace, the associated id is returned. If name is an empty string a new, anonymous namespace is created.

              -

              Parameters

              • name: string = ''
                -

                Namespace name or empty string

                -

              Returns Promise<number>

              Namespace id

              -

            deleteCurrentLine

            • deleteCurrentLine(): Promise<any>

            deleteVar

            • deleteVar(name: string): Promise<void>

            detachBuffer

            • detachBuffer(buffer: Buffer, eventName: string, cb: Function): boolean

            emit

            • emit(eventName: string | symbol, ...args: any[]): boolean
            • -

              Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

              Parameters

              • name: string = ''

                Namespace name or empty string

                +

              Returns Promise<number>

              Namespace id

              +
            • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments to each.

              -

              Returns true if the event had listeners, false otherwise.

              -
              const EventEmitter = require('events');
              const myEmitter = new EventEmitter();

              // First listener
              myEmitter.on('event', function firstListener() {
              console.log('Helloooo! first listener');
              });
              // Second listener
              myEmitter.on('event', function secondListener(arg1, arg2) {
              console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
              });
              // Third listener
              myEmitter.on('event', function thirdListener(...args) {
              const parameters = args.join(', ');
              console.log(`event with parameters ${parameters} in third listener`);
              });

              console.log(myEmitter.listeners('event'));

              myEmitter.emit('event', 1, 2, 3, 4, 5);

              // Prints:
              // [
              // [Function: firstListener],
              // [Function: secondListener],
              // [Function: thirdListener]
              // ]
              // Helloooo! first listener
              // event with parameters 1, 2 in second listener
              // event with parameters 1, 2, 3, 4, 5 in third listener -
              -
              since

              v0.1.26

              -

              Parameters

              • eventName: string | symbol
              • Rest ...args: any[]

              Returns boolean

            emitNotification

            • emitNotification(method: string, args: any[]): void

            equals

            • equals(other: BaseApi): boolean

            errWrite

            • errWrite(str: string): Promise<any>

            errWriteLine

            • errWriteLine(str: string): Promise<any>

            eval

            • eval(expr: string): Promise<VimValue>
            • -

              Evaluates a VimL expression (:help expression). Dictionaries +

              Returns true if the event had listeners, false otherwise.

              +
              const EventEmitter = require('events');
              const myEmitter = new EventEmitter();

              // First listener
              myEmitter.on('event', function firstListener() {
              console.log('Helloooo! first listener');
              });
              // Second listener
              myEmitter.on('event', function secondListener(arg1, arg2) {
              console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
              });
              // Third listener
              myEmitter.on('event', function thirdListener(...args) {
              const parameters = args.join(', ');
              console.log(`event with parameters ${parameters} in third listener`);
              });

              console.log(myEmitter.listeners('event'));

              myEmitter.emit('event', 1, 2, 3, 4, 5);

              // Prints:
              // [
              // [Function: firstListener],
              // [Function: secondListener],
              // [Function: thirdListener]
              // ]
              // Helloooo! first listener
              // event with parameters 1, 2 in second listener
              // event with parameters 1, 2, 3, 4, 5 in third listener +
              +

              Parameters

              • eventName: string | symbol
              • Rest ...args: any[]

              Returns boolean

              Since

              v0.1.26

              +
            • Evaluates a VimL expression (:help expression). Dictionaries and Lists are recursively expanded. On VimL error: Returns a generic error; v:errmsg is not updated.

              -

              Parameters

              • expr: string

              Returns Promise<VimValue>

            eventNames

            • eventNames(): (string | symbol)[]
            • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

              -
              const EventEmitter = require('events');
              const myEE = new EventEmitter();
              myEE.on('foo', () => {});
              myEE.on('bar', () => {});

              const sym = Symbol('symbol');
              myEE.on(sym, () => {});

              console.log(myEE.eventNames());
              // Prints: [ 'foo', 'bar', Symbol(symbol) ] -
              -
              since

              v6.0.0

              -

              Returns (string | symbol)[]

            executeLua

            • executeLua(code: string, args?: VimValue[]): Promise<object>

            feedKeys

            • feedKeys(keys: string, mode: string, escapeCsi: boolean): Promise<any>
            • -

              Sends input-keys to Nvim, subject to various quirks controlled +

              const EventEmitter = require('events');
              const myEE = new EventEmitter();
              myEE.on('foo', () => {});
              myEE.on('bar', () => {});

              const sym = Symbol('symbol');
              myEE.on(sym, () => {});

              console.log(myEE.eventNames());
              // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
              +

              Returns (string | symbol)[]

              Since

              v6.0.0

              +
            • Sends input-keys to Nvim, subject to various quirks controlled by mode flags. This is a blocking call, unlike |nvim_input()|.

              -

              On execution error: does not fail, but updates v:errmsg.

              -

              Parameters

              • keys: string
                -

                To be typed

                -
              • mode: string
                -

                Behavior flags, see |feedkeys()|

                -
              • escapeCsi: boolean
                -

                If true, escape K_SPECIAL/CSI bytes in keys

                -

              Returns Promise<any>

            generateApi

            • generateApi(): Promise<boolean>

            getChanInfo

            • getChanInfo(chan: number): Promise<Channel>

            getColorByName

            • getColorByName(name: string): Promise<number>

            getCommands

            • getCommands(options?: {}): Promise<Command>

            getHighlight

            • getHighlight(nameOrId: string | number, isRgb?: boolean): void | Promise<object>

            getHighlightById

            • getHighlightById(id: number, isRgb?: boolean): Promise<object>

            getHighlightByName

            • getHighlightByName(name: string, isRgb?: boolean): Promise<object>

            getKeymap

            • getKeymap(mode: string): Promise<object[]>
            • -

              Gets a list of global (non-buffer-local) |mapping| definitions.

              -

              Parameters

              • mode: string
                -

                Mode short-name ("n", "i", "v", ...)

                -

              Returns Promise<object[]>

              Array of maparg()-like dictionaries describing mappings. The "buffer" key is always zero.

              -

            getLine

            • getLine(): Promise<string>

            getMaxListeners

            • getMaxListeners(): number
            • -

              Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

              -
              since

              v1.0.0

              -

              Returns number

            getNamespaces

            • getNamespaces(): Promise<{}>

            getOption

            • getOption(name: string): void | Promise<VimValue>

            getProc

            • getProc(pid: number): Promise<Proc>

            getProcChildren

            • getProcChildren(pid: number): Promise<Proc[]>

            getVar

            • getVar(name: string): Promise<VimValue>

            getVvar

            • getVvar(name: string): Promise<VimValue>

            getWindow

            • getWindow(): AsyncWindow

            getWindows

            • getWindows(): Promise<Window[]>

            handleNotification

            • handleNotification(method: string, args: VimValue[], ...restArgs: any[]): void

            handleRequest

            • handleRequest(method: string, args: VimValue[], resp: any, ...restArgs: any[]): void

            input

            • input(keys: string): Promise<number>
            • Gets a map of buffer-local |user-commands|.

              +

              Parameters

              • options: {} = {}

                Optional parameters (currently not used)

                +

                Returns Promise<Command>

                Map of maps describing commands

                +
              • Get highlight by name or id

                +

                Parameters

                • nameOrId: string | number

                  Name or ID

                  +
                • isRgb: boolean = true

                  Should export RGB colors

                  +

                Returns void | Promise<object>

                Highlight definition map

                +
              • Get highlight definition by id |hlID()|

                +

                Parameters

                • id: number

                  Highlight id as returned by |hlID()|

                  +
                • isRgb: boolean = true

                  Should export RGB colors

                  +

                Returns Promise<object>

                Highlight definition map

                +
              • Get highlight definition by name

                +

                Parameters

                • name: string

                  Highlight group name

                  +
                • isRgb: boolean = true

                  Should export RGB colors

                  +

                Returns Promise<object>

                Highlight definition map

                +
              • Gets a list of global (non-buffer-local) |mapping| definitions.

                +

                Parameters

                • mode: string

                  Mode short-name ("n", "i", "v", ...)

                  +

                Returns Promise<object[]>

                Array of maparg()-like dictionaries describing mappings. The "buffer" key is always zero.

                +
              • Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

                +

                Returns number

                Since

                v1.0.0

                +
              • Gets existing, non-anonymous namespaces.

                +

                Returns Promise<{
                    [name: string]: number;
                }>

                dict that maps from names to namespace ids.

                +
              • Parameters

                • method: string
                • args: VimValue[]
                • resp: any
                • Rest ...restArgs: any[]

                Returns void

              • Queues raw user-input. Unlike |nvim_feedkeys()|, this uses a low-level input buffer and the call is non-blocking (input is processed asynchronously by the eventloop).

                -

                On execution error: does not fail, but updates v:errmsg.

                +

                On execution error: does not fail, but updates v:errmsg.

                Note: |keycodes| like are translated, so "<" is special. To input a literal "<", send .

                @@ -244,11 +292,9 @@ For mouse events use |nvim_input_mouse()|. The pseudokey form "<col,row>" is deprecated since |api-level| 6.

                -

                Parameters

                • keys: string
                  -

                  To be typed

                  -

                Returns Promise<number>

              inputMouse

              • inputMouse(button: string, action: string, modifier: string, grid: number, row: number, col: number): Promise<any>
              • Send mouse event from GUI.

                +

                The call is non-blocking. It doesn't wait on any resulting action, but queues the event to be processed soon by the event loop.

                Note: @@ -258,122 +304,91 @@ used to implement real-time mouse input in a GUI. The deprecated pseudokey form ("<col,row>") of |nvim_input()| has the same limitiation.

                -

                Parameters

                • button: string
                  -

                  Mouse button: one of "left", "right", "middle", "wheel".

                  -
                • action: string
                  -

                  For ordinary buttons, one of "press", "drag", "release". +

                  Parameters

                  • button: string

                    Mouse button: one of "left", "right", "middle", "wheel".

                    +
                  • action: string

                    For ordinary buttons, one of "press", "drag", "release". For the wheel, one of "up", "down", "left", "right".

                    -
                • modifier: string
                  -

                  String of modifiers each represented by a +

                • modifier: string

                  String of modifiers each represented by a single char. The same specifiers are used as for a key press, except that the "-" separator is optional, so "C-A-", "c-a" and "CA" can all be used to specify Ctrl+Alt+click.

                  -
                • grid: number
                  -

                  Grid number if the client uses |ui-multigrid|, else 0.

                  -
                • row: number
                  -

                  Mouse row-position (zero-based, like redraw events)

                  -
                • col: number
                  -

                  Mouse column-position (zero-based, like redraw events)

                  -

                Returns Promise<any>

              isAttached

              • isAttached(buffer: Buffer): boolean

              listenerCount

              • listenerCount(eventName: string | symbol): number
              • -

                Returns the number of listeners listening to the event named eventName.

                -
                since

                v3.2.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event being listened for

                  -

                Returns number

              listeners

              • listeners(eventName: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName.

                -
                server.on('connection', (stream) => {
                console.log('someone connected!');
                });
                console.log(util.inspect(server.listeners('connection')));
                // Prints: [ [Function] ] -
                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol

                Returns Function[]

              lua

              • lua(code: string, args?: VimValue[]): Promise<object>

              notify

              • notify(name: string, args: any[]): void

              off

              • off(eventName: string | symbol, listener: (...args: any[]) => void): NeovimClient
              • -

                Alias for emitter.removeListener().

                -
                since

                v10.0.0

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns NeovimClient

              on

              • on(eventName: string | symbol, listener: (...args: any[]) => void): NeovimClient
              • -

                Adds the listener function to the end of the listeners array for the +

              • grid: number

                Grid number if the client uses |ui-multigrid|, else 0.

                +
              • row: number

                Mouse row-position (zero-based, like redraw events)

                +
              • col: number

                Mouse column-position (zero-based, like redraw events)

                +

              Returns Promise<any>

              • Returns the number of listeners listening to the event named eventName.

                +

                Parameters

                • eventName: string | symbol

                  The name of the event being listened for

                  +

                Returns number

                Since

                v3.2.0

                +
              • Returns a copy of the array of listeners for the event named eventName.

                +
                server.on('connection', (stream) => {
                console.log('someone connected!');
                });
                console.log(util.inspect(server.listeners('connection')));
                // Prints: [ [Function] ] +
                +

                Parameters

                • eventName: string | symbol

                Returns Function[]

                Since

                v0.1.26

                +
              • Executes lua, it's possible neovim client does not support this

                +

                Parameters

                • code: string
                • args: VimValue[] = []

                Returns Promise<object>

              • Alias for emitter.removeListener().

                +

                Parameters

                • eventName: string | symbol
                • listener: ((...args) => void)
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v10.0.0

                +
              • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

                -
                server.on('connection', (stream) => {
                console.log('someone connected!');
                }); -
                +
                server.on('connection', (stream) => {
                console.log('someone connected!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

                -
                const myEE = new EventEmitter();
                myEE.on('foo', () => console.log('a'));
                myEE.prependListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a -
                -
                since

                v0.1.101

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns NeovimClient

              once

              • once(eventName: string | symbol, listener: (...args: any[]) => void): NeovimClient
              • -

                Adds a one-timelistener function for the event named eventName. The +

                const myEE = new EventEmitter();
                myEE.on('foo', () => console.log('a'));
                myEE.prependListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a +
                +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.1.101

                +
              • Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

                -
                server.once('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); -
                +
                server.once('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

                -
                const myEE = new EventEmitter();
                myEE.once('foo', () => console.log('a'));
                myEE.prependOnceListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a -
                -
                since

                v0.3.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns NeovimClient

              openWindow

              • openWindow(buffer: Buffer, enter: boolean, options: OpenWindowOptions): Promise<number | Window>

              outWrite

              • outWrite(str: string): Promise<any>

              outWriteLine

              • outWriteLine(str: string): Promise<any>

              parseExpression

              • parseExpression(expr: string, flags: string, highlight: boolean): Promise<object>

              prependListener

              • prependListener(eventName: string | symbol, listener: (...args: any[]) => void): NeovimClient
              • -

                Adds the listener function to the beginning of the listeners array for the +

                const myEE = new EventEmitter();
                myEE.once('foo', () => console.log('a'));
                myEE.prependOnceListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a +
                +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.3.0

                +
              • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

                -
                server.prependListener('connection', (stream) => {
                console.log('someone connected!');
                }); -
                +
                server.prependListener('connection', (stream) => {
                console.log('someone connected!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v6.0.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns NeovimClient

              prependOnceListener

              • prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): NeovimClient
              • -

                Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v6.0.0

                +
              • Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

                -
                server.prependOnceListener('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); -
                +
                server.prependOnceListener('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v6.0.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns NeovimClient

              quit

              • quit(): void

              rawListeners

              • rawListeners(eventName: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName, +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v6.0.0

                +
              • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

                -
                const emitter = new EventEmitter();
                emitter.once('log', () => console.log('log once'));

                // Returns a new Array with a function `onceWrapper` which has a property
                // `listener` which contains the original listener bound above
                const listeners = emitter.rawListeners('log');
                const logFnWrapper = listeners[0];

                // Logs "log once" to the console and does not unbind the `once` event
                logFnWrapper.listener();

                // Logs "log once" to the console and removes the listener
                logFnWrapper();

                emitter.on('log', () => console.log('log persistently'));
                // Will return a new Array with a single function bound by `.on()` above
                const newListeners = emitter.rawListeners('log');

                // Logs "log persistently" twice
                newListeners[0]();
                emitter.emit('log'); -
                -
                since

                v9.4.0

                -

                Parameters

                • eventName: string | symbol

                Returns Function[]

              removeAllListeners

              • -

                Removes all listeners, or those of the specified eventName.

                -

                It is bad practice to remove listeners added elsewhere in the code, +

                const emitter = new EventEmitter();
                emitter.once('log', () => console.log('log once'));

                // Returns a new Array with a function `onceWrapper` which has a property
                // `listener` which contains the original listener bound above
                const listeners = emitter.rawListeners('log');
                const logFnWrapper = listeners[0];

                // Logs "log once" to the console and does not unbind the `once` event
                logFnWrapper.listener();

                // Logs "log once" to the console and removes the listener
                logFnWrapper();

                emitter.on('log', () => console.log('log persistently'));
                // Will return a new Array with a single function bound by `.on()` above
                const newListeners = emitter.rawListeners('log');

                // Logs "log persistently" twice
                newListeners[0]();
                emitter.emit('log'); +
                +

                Parameters

                • eventName: string | symbol

                Returns Function[]

                Since

                v9.4.0

                +
              • Removes all listeners, or those of the specified eventName.

                +

                It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.1.26

                -

                Parameters

                • Optional event: string | symbol

                Returns NeovimClient

              removeListener

              • removeListener(eventName: string | symbol, listener: (...args: any[]) => void): NeovimClient
              • -

                Removes the specified listener from the listener array for the event namedeventName.

                -
                const callback = (stream) => {
                console.log('someone connected!');
                };
                server.on('connection', callback);
                // ...
                server.removeListener('connection', callback); -
                +

                Parameters

                • Optional event: string | symbol

                Returns this

                Since

                v0.1.26

                +
              • Removes the specified listener from the listener array for the event namedeventName.

                +
                const callback = (stream) => {
                console.log('someone connected!');
                };
                server.on('connection', callback);
                // ...
                server.removeListener('connection', callback); +

                removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be @@ -381,8 +396,8 @@

                Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and_before_ the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

                -
                const myEmitter = new MyEmitter();

                const callbackA = () => {
                console.log('A');
                myEmitter.removeListener('event', callbackB);
                };

                const callbackB = () => {
                console.log('B');
                };

                myEmitter.on('event', callbackA);

                myEmitter.on('event', callbackB);

                // callbackA removes listener callbackB but it will still be called.
                // Internal listener array at time of emit [callbackA, callbackB]
                myEmitter.emit('event');
                // Prints:
                // A
                // B

                // callbackB is now removed.
                // Internal listener array [callbackA]
                myEmitter.emit('event');
                // Prints:
                // A -
                +
                const myEmitter = new MyEmitter();

                const callbackA = () => {
                console.log('A');
                myEmitter.removeListener('event', callbackB);
                };

                const callbackB = () => {
                console.log('B');
                };

                myEmitter.on('event', callbackA);

                myEmitter.on('event', callbackB);

                // callbackA removes listener callbackB but it will still be called.
                // Internal listener array at time of emit [callbackA, callbackB]
                myEmitter.emit('event');
                // Prints:
                // A
                // B

                // callbackB is now removed.
                // Internal listener array [callbackA]
                myEmitter.emit('event');
                // Prints:
                // A +

                Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, @@ -391,163 +406,110 @@

                When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

                -
                const ee = new EventEmitter();

                function pong() {
                console.log('pong');
                }

                ee.on('ping', pong);
                ee.once('ping', pong);
                ee.removeListener('ping', pong);

                ee.emit('ping');
                ee.emit('ping'); -
                +
                const ee = new EventEmitter();

                function pong() {
                console.log('pong');
                }

                ee.on('ping', pong);
                ee.once('ping', pong);
                ee.removeListener('ping', pong);

                ee.emit('ping');
                ee.emit('ping'); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns NeovimClient

              replaceTermcodes

              • replaceTermcodes(str: string, fromPart: boolean, doIt: boolean, special: boolean): Promise<string>
              • Replaces terminal codes and |keycodes| (, , ...) in a string with the internal representation.

                -

                Parameters

                • str: string
                  -

                  String to be converted.

                  -
                • fromPart: boolean
                  -

                  Legacy Vim parameter. Usually true.

                  -
                • doIt: boolean
                  -

                  Also translate . Ignored if special is false.

                  -
                • special: boolean
                  -

                  Replace |keycodes|, e.g. becomes a "\n" char.

                  -

                Returns Promise<string>

              request

              • request(name: string, args?: any[]): Promise<any>

              requestApi

              • requestApi(): Promise<any[]>

              selectPopupmenuItem

              • selectPopupmenuItem(item: number, insert: boolean, finish: boolean, opts?: object): Promise<any>
              • Selects an item in the completion popupmenu.

                +

                If |ins-completion| is not active this API call is silently ignored. Useful for an external UI using |ui-popupmenu| to control the popupmenu with the mouse. Can also be used in a mapping; use |:map-cmd| to ensure the mapping doesn't end completion mode.

                -

                Parameters

                • item: number
                  -

                  Index (zero-based) of the item to select. +

                  Parameters

                  • item: number

                    Index (zero-based) of the item to select. Value of -1 selects nothing and restores the original text.

                    -
                • insert: boolean
                  -

                  Whether the selection should be inserted in the buffer.

                  -
                • finish: boolean
                  -

                  Finish the completion and dismiss the popupmenu. +

                • insert: boolean

                  Whether the selection should be inserted in the buffer.

                  +
                • finish: boolean

                  Finish the completion and dismiss the popupmenu. Implies insert.

                  -
                • opts: object = {}
                  -

                  Optional parameters. Reserved for future use.

                  -

                Returns Promise<any>

              setClientInfo

              • setClientInfo(name: string, version: object, type: string, methods: object, attributes: object): void

              Returns Promise<any>

              • Identify the client for nvim. Can be called more than once, but subsequent calls will remove earlier info, which should be resent if it is still valid. (This could happen if a library first identifies the channel, and a plugin using that library later overrides that info)

                -

                Parameters

                • name: string
                • version: object
                • type: string
                • methods: object
                • attributes: object

                Returns void

              setLine

              • setLine(line: string): Promise<any>

              setMaxListeners

              • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

                -

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.3.5

                -

                Parameters

                • n: number

                Returns NeovimClient

              setOption

              • setOption(name: string, value: VimValue): void | Promise<void>

              Protected setTransport

              • setTransport(transport: Transport): void

              setVar

              • setVar(name: string, value: VimValue): Promise<void>

              setVvar

              • setVvar(name: string, value: VimValue): Promise<any>

              setWindow

              • setWindow(win: Window): Promise<any>

              setupTransport

              • setupTransport(): void

              strWidth

              • strWidth(str: string): Promise<number>
              • Calculates the number of display cells occupied by text. counts as one cell.

                -

                Parameters

                • str: string
                  -

                  Some text

                  -

                Returns Promise<number>

                Number of cells

                -

              subscribe

              • subscribe(event: string): Promise<void>

              uiAttach

              • uiAttach(width: number, height: number, options: UiAttachOptions): Promise<void>

              uiDetach

              • uiDetach(): Promise<void>

              uiSetOption

              • uiSetOption(name: string, value: any): Promise<void>

              uiTryResize

              • uiTryResize(width: number, height: number): Promise<void>

              uiTryResizeGrid

              • uiTryResizeGrid(grid: number, width: number, height: number): Promise<void>
              • Tell Nvim to resize a grid. Triggers a grid_resize event with the requested grid size or the maximum size if it exceeds size limits.

                -

                On invalid grid handle, fails with error.

                -

                Parameters

                • grid: number
                  -

                  The handle of the grid to be changed

                  -
                • width: number
                  -

                  The new requested width

                  -
                • height: number
                  -

                  The new requested height

                  -

                Returns Promise<void>

              unsubscribe

              • unsubscribe(event: string): Promise<void>

              windowClose

              • windowClose(window: Window, force: boolean): Promise<any>

              windowConfig

              • windowConfig(window: Window, options?: object): Promise<any>

              Static getEventListeners

              • getEventListeners(emitter: EventEmitter | DOMEventTarget, name: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName.

                -

                For EventEmitters this behaves exactly the same as calling .listeners on +

                On invalid grid handle, fails with error.

                +

                Parameters

                • grid: number

                  The handle of the grid to be changed

                  +
                • width: number

                  The new requested width

                  +
                • height: number

                  The new requested height

                  +

                Returns Promise<void>

              • Returns a copy of the array of listeners for the event named eventName.

                +

                For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

                For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

                -
                const { getEventListeners, EventEmitter } = require('events');

                {
                const ee = new EventEmitter();
                const listener = () => console.log('Events are fun');
                ee.on('foo', listener);
                getEventListeners(ee, 'foo'); // [listener]
                }
                {
                const et = new EventTarget();
                const listener = () => console.log('Events are fun');
                et.addEventListener('foo', listener);
                getEventListeners(et, 'foo'); // [listener]
                } -
                -
                since

                v15.2.0

                -

                Parameters

                • emitter: EventEmitter | DOMEventTarget
                • name: string | symbol

                Returns Function[]

              Static listenerCount

              • listenerCount(emitter: EventEmitter, eventName: string | symbol): number
              • -

                A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

                -
                const { EventEmitter, listenerCount } = require('events');
                const myEmitter = new EventEmitter();
                myEmitter.on('event', () => {});
                myEmitter.on('event', () => {});
                console.log(listenerCount(myEmitter, 'event'));
                // Prints: 2 -
                -
                since

                v0.9.12

                -
                deprecated

                Since v3.2.0 - Use listenerCount instead.

                -

                Parameters

                • emitter: EventEmitter
                  -

                  The emitter to query

                  -
                • eventName: string | symbol
                  -

                  The event name

                  -

                Returns number

              Static on

              • on(emitter: EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
              • -

                ```js -const { on, EventEmitter } = require('events');

                -

                (async () => { - const ee = new EventEmitter();

                -

                // Emit later on - process.nextTick(() => { - ee.emit('foo', 'bar'); - ee.emit('foo', 42); - });

                -

                for await (const event of on(ee, 'foo')) { - // The execution of this inner block is synchronous and it - // processes one event at a time (even with await). Do not use - // if concurrent execution is required. - console.log(event); // prints ['bar'] [42] - } - // Unreachable here -})();

                -

                Returns an `AsyncIterator` that iterates `eventName` events. It will throw
                if the `EventEmitter` emits `'error'`. It removes all listeners when
                exiting the loop. The `value` returned by each iteration is an array
                composed of the emitted event arguments.

                An `AbortSignal` can be used to cancel waiting on events:

                ```js
                const { on, EventEmitter } = require('events');
                const ac = new AbortController();

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo', { signal: ac.signal })) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })();

                process.nextTick(() => ac.abort()); -
                -
                since

                v13.6.0, v12.16.0

                -

                Parameters

                • emitter: EventEmitter
                • eventName: string
                  -

                  The name of the event being listened for

                  -
                • Optional options: StaticEventEmitterOptions

                Returns AsyncIterableIterator<any>

                that iterates eventName events emitted by the emitter

                -

              Static once

              • once(emitter: NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
              • once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
              • -

                Creates a Promise that is fulfilled when the EventEmitter emits the given +

                const { getEventListeners, EventEmitter } = require('events');

                {
                const ee = new EventEmitter();
                const listener = () => console.log('Events are fun');
                ee.on('foo', listener);
                getEventListeners(ee, 'foo'); // [listener]
                }
                {
                const et = new EventTarget();
                const listener = () => console.log('Events are fun');
                et.addEventListener('foo', listener);
                getEventListeners(et, 'foo'); // [listener]
                } +
                +

                Parameters

                • emitter: EventEmitter | DOMEventTarget
                • name: string | symbol

                Returns Function[]

                Since

                v15.2.0

                +
              • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

                +
                const { EventEmitter, listenerCount } = require('events');
                const myEmitter = new EventEmitter();
                myEmitter.on('event', () => {});
                myEmitter.on('event', () => {});
                console.log(listenerCount(myEmitter, 'event'));
                // Prints: 2 +
                +

                Parameters

                • emitter: EventEmitter

                  The emitter to query

                  +
                • eventName: string | symbol

                  The event name

                  +

                Returns number

                Since

                v0.9.12

                +

                Deprecated

                Since v3.2.0 - Use listenerCount instead.

                +
              • const { on, EventEmitter } = require('events');

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo')) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })(); +
                +

                Returns an AsyncIterator that iterates eventName events. It will throw +if the EventEmitter emits 'error'. It removes all listeners when +exiting the loop. The value returned by each iteration is an array +composed of the emitted event arguments.

                +

                An AbortSignal can be used to cancel waiting on events:

                +
                const { on, EventEmitter } = require('events');
                const ac = new AbortController();

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo', { signal: ac.signal })) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })();

                process.nextTick(() => ac.abort()); +
                +

                Parameters

                • emitter: EventEmitter
                • eventName: string

                  The name of the event being listened for

                  +
                • Optional options: StaticEventEmitterOptions

                Returns AsyncIterableIterator<any>

                that iterates eventName events emitted by the emitter

                +

                Since

                v13.6.0, v12.16.0

                +
              • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

                -

                This method is intentionally generic and works with the web platformEventTarget interface, which has no special'error' event +

                This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

                -
                const { once, EventEmitter } = require('events');

                async function run() {
                const ee = new EventEmitter();

                process.nextTick(() => {
                ee.emit('myevent', 42);
                });

                const [value] = await once(ee, 'myevent');
                console.log(value);

                const err = new Error('kaboom');
                process.nextTick(() => {
                ee.emit('error', err);
                });

                try {
                await once(ee, 'myevent');
                } catch (err) {
                console.log('error happened', err);
                }
                }

                run(); -
                +
                const { once, EventEmitter } = require('events');

                async function run() {
                const ee = new EventEmitter();

                process.nextTick(() => {
                ee.emit('myevent', 42);
                });

                const [value] = await once(ee, 'myevent');
                console.log(value);

                const err = new Error('kaboom');
                process.nextTick(() => {
                ee.emit('error', err);
                });

                try {
                await once(ee, 'myevent');
                } catch (err) {
                console.log('error happened', err);
                }
                }

                run(); +

                The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

                -
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();

                once(ee, 'error')
                .then(([err]) => console.log('ok', err.message))
                .catch((err) => console.log('error', err.message));

                ee.emit('error', new Error('boom'));

                // Prints: ok boom -
                +
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();

                once(ee, 'error')
                .then(([err]) => console.log('ok', err.message))
                .catch((err) => console.log('error', err.message));

                ee.emit('error', new Error('boom'));

                // Prints: ok boom +

                An AbortSignal can be used to cancel waiting for the event:

                -
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();
                const ac = new AbortController();

                async function foo(emitter, event, signal) {
                try {
                await once(emitter, event, { signal });
                console.log('event emitted!');
                } catch (error) {
                if (error.name === 'AbortError') {
                console.error('Waiting for the event was canceled!');
                } else {
                console.error('There was an error', error.message);
                }
                }
                }

                foo(ee, 'foo', ac.signal);
                ac.abort(); // Abort waiting for the event
                ee.emit('foo'); // Prints: Waiting for the event was canceled! -
                -
                since

                v11.13.0, v10.16.0

                -

                Parameters

                • emitter: NodeEventTarget
                • eventName: string | symbol
                • Optional options: StaticEventEmitterOptions

                Returns Promise<any[]>

              • Parameters

                • emitter: DOMEventTarget
                • eventName: string
                • Optional options: StaticEventEmitterOptions

                Returns Promise<any[]>

              Legend

              • Constructor
              • Property
              • Method
              • Accessor
              • Inherited constructor
              • Inherited property
              • Inherited method
              • Inherited accessor
              • Private property
              • Private method
              • Protected property

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +
              const { EventEmitter, once } = require('events');

              const ee = new EventEmitter();
              const ac = new AbortController();

              async function foo(emitter, event, signal) {
              try {
              await once(emitter, event, { signal });
              console.log('event emitted!');
              } catch (error) {
              if (error.name === 'AbortError') {
              console.error('Waiting for the event was canceled!');
              } else {
              console.error('There was an error', error.message);
              }
              }
              }

              foo(ee, 'foo', ac.signal);
              ac.abort(); // Abort waiting for the event
              ee.emit('foo'); // Prints: Waiting for the event was canceled! +
              +

              Parameters

              • emitter: NodeEventTarget
              • eventName: string | symbol
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

              Since

              v11.13.0, v10.16.0

              +
            • Parameters

              • emitter: DOMEventTarget
              • eventName: string
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

            • Generated using TypeDoc

              \ No newline at end of file diff --git a/classes/NvimPlugin.html b/classes/NvimPlugin.html index a6221a75..134673dd 100644 --- a/classes/NvimPlugin.html +++ b/classes/NvimPlugin.html @@ -1 +1,17 @@ -NvimPlugin | neovim
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Class NvimPlugin

              Hierarchy

              • NvimPlugin

              Index

              Constructors

              constructor

              Properties

              alwaysInit

              alwaysInit: boolean

              autocmds

              autocmds: {}

              Type declaration

              • [index: string]: Handler

              commands

              commands: {}

              Type declaration

              • [index: string]: Handler

              dev

              dev: boolean

              filename

              filename: string

              functions

              functions: {}

              Type declaration

              • [index: string]: Handler

              instance

              instance: any

              nvim

              nvim: Neovim

              Accessors

              shouldCacheModule

              • get shouldCacheModule(): boolean

              specs

              • get specs(): Spec[]

              Methods

              handleRequest

              • handleRequest(name: string, type: string, args: any[]): Promise<any>

              registerAutocmd

              • registerAutocmd(name: string, fn: Function, options: AutocmdOptions): void
              • registerAutocmd(name: string, fn: [any, Function], options: AutocmdOptions): void

              registerCommand

              • registerCommand(name: string, fn: Function, options?: CommandOptions): void
              • registerCommand(name: string, fn: [any, Function], options?: CommandOptions): void

              registerFunction

              • registerFunction(name: string, fn: Function, options?: NvimFunctionOptions): void
              • registerFunction(name: string, fn: [any, Function], options?: NvimFunctionOptions): void

              setOptions

              • setOptions(options: NvimPluginOptions): void

              Legend

              • Constructor
              • Property
              • Method
              • Accessor
              • Inherited constructor
              • Inherited property
              • Inherited method
              • Inherited accessor
              • Private property
              • Private method
              • Protected property

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +NvimPlugin | neovim

              Class NvimPlugin

              Constructors

              Properties

              alwaysInit: boolean
              autocmds: {
                  [index: string]: Handler;
              }

              Type declaration

              • [index: string]: Handler
              commands: {
                  [index: string]: Handler;
              }

              Type declaration

              • [index: string]: Handler
              dev: boolean
              filename: string
              functions: {
                  [index: string]: Handler;
              }

              Type declaration

              • [index: string]: Handler
              instance: any
              nvim: Neovim

              Accessors

              Methods

              Generated using TypeDoc

              \ No newline at end of file diff --git a/classes/Tabpage.html b/classes/Tabpage.html index 797bf3a0..a9c9a387 100644 --- a/classes/Tabpage.html +++ b/classes/Tabpage.html @@ -1,134 +1,147 @@ -Tabpage | neovim
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Class Tabpage

              Hierarchy

              • BaseApi
                • Tabpage

              Index

              Constructors

              constructor

              • new Tabpage(__namedParameters: BaseConstructorOptions): Tabpage

              Properties

              Protected _isReady

              _isReady: Promise<boolean>

              Protected client

              client: any

              data

              data: number | Buffer

              logger

              logger: Logger

              prefix

              prefix: string = ...

              Protected transport

              transport: Transport

              Static Readonly captureRejectionSymbol

              captureRejectionSymbol: typeof captureRejectionSymbol

              Static captureRejections

              captureRejections: boolean
              -

              Sets or gets the default captureRejection value for all emitters.

              -

              Static defaultMaxListeners

              defaultMaxListeners: number

              Static Readonly errorMonitor

              errorMonitor: typeof errorMonitor
              -

              This symbol shall be used to install a listener for only monitoring 'error' +Tabpage | neovim

              Class Tabpage

              Hierarchy

              • BaseApi
                • Tabpage

              Constructors

              Properties

              _isReady: Promise<boolean>
              client: any
              data: number | Buffer
              logger: Logger
              prefix: string = ...
              transport: Transport
              captureRejectionSymbol: typeof captureRejectionSymbol
              captureRejections: boolean

              Sets or gets the default captureRejection value for all emitters.

              +
              defaultMaxListeners: number
              errorMonitor: typeof errorMonitor

              This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

              -

              Installing a listener using this symbol does not change the behavior once an +

              Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

              -

              Accessors

              number

              • get number(): Promise<number>

              valid

              • get valid(): Promise<boolean>

              window

              • get window(): AsyncWindow

              windows

              • get windows(): Promise<Window[]>

              Methods

              [DO_REQUEST]

              • [DO_REQUEST](name: string, args?: any[]): Promise<any>

              _getArgsByPrefix

              • _getArgsByPrefix(...args: any[]): any[]

              addListener

              • addListener(eventName: string | symbol, listener: (...args: any[]) => void): Tabpage
              • -

                Alias for emitter.on(eventName, listener).

                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Tabpage

              asyncRequest

              • asyncRequest(name: string, args?: any[], stack: string): Promise<any>

              deleteVar

              • deleteVar(name: string): Promise<void>

              emit

              • emit(eventName: string | symbol, ...args: any[]): boolean
              • -

                Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

              Accessors

              Methods

              • Parameters

                • name: string
                • args: any[] = []

                Returns Promise<any>

              • Alias for emitter.on(eventName, listener).

                +

                Parameters

                • eventName: string | symbol
                • listener: ((...args) => void)
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.1.26

                +
              • Parameters

                • name: string
                • args: any[] = []
                • stack: string = undefined

                Returns Promise<any>

              • Delete a scoped variable

                +

                Parameters

                • name: string

                Returns Promise<void>

              • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments to each.

                -

                Returns true if the event had listeners, false otherwise.

                -
                const EventEmitter = require('events');
                const myEmitter = new EventEmitter();

                // First listener
                myEmitter.on('event', function firstListener() {
                console.log('Helloooo! first listener');
                });
                // Second listener
                myEmitter.on('event', function secondListener(arg1, arg2) {
                console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
                });
                // Third listener
                myEmitter.on('event', function thirdListener(...args) {
                const parameters = args.join(', ');
                console.log(`event with parameters ${parameters} in third listener`);
                });

                console.log(myEmitter.listeners('event'));

                myEmitter.emit('event', 1, 2, 3, 4, 5);

                // Prints:
                // [
                // [Function: firstListener],
                // [Function: secondListener],
                // [Function: thirdListener]
                // ]
                // Helloooo! first listener
                // event with parameters 1, 2 in second listener
                // event with parameters 1, 2, 3, 4, 5 in third listener -
                -
                since

                v0.1.26

                -

              Parameters

              • eventName: string | symbol
              • Rest ...args: any[]

              Returns boolean

              equals

              • equals(other: BaseApi): boolean

              eventNames

              • eventNames(): (string | symbol)[]
              • -

                Returns an array listing the events for which the emitter has registered +

                Returns true if the event had listeners, false otherwise.

                +
                const EventEmitter = require('events');
                const myEmitter = new EventEmitter();

                // First listener
                myEmitter.on('event', function firstListener() {
                console.log('Helloooo! first listener');
                });
                // Second listener
                myEmitter.on('event', function secondListener(arg1, arg2) {
                console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
                });
                // Third listener
                myEmitter.on('event', function thirdListener(...args) {
                const parameters = args.join(', ');
                console.log(`event with parameters ${parameters} in third listener`);
                });

                console.log(myEmitter.listeners('event'));

                myEmitter.emit('event', 1, 2, 3, 4, 5);

                // Prints:
                // [
                // [Function: firstListener],
                // [Function: secondListener],
                // [Function: thirdListener]
                // ]
                // Helloooo! first listener
                // event with parameters 1, 2 in second listener
                // event with parameters 1, 2, 3, 4, 5 in third listener +
                +

                Parameters

                • eventName: string | symbol
                • Rest ...args: any[]

                Returns boolean

                Since

                v0.1.26

                +
              • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

                -
                const EventEmitter = require('events');
                const myEE = new EventEmitter();
                myEE.on('foo', () => {});
                myEE.on('bar', () => {});

                const sym = Symbol('symbol');
                myEE.on(sym, () => {});

                console.log(myEE.eventNames());
                // Prints: [ 'foo', 'bar', Symbol(symbol) ] -
                -
                since

                v6.0.0

                -

              Returns (string | symbol)[]

              getMaxListeners

              • getMaxListeners(): number
              • -

                Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

                -
                since

                v1.0.0

                -

                Returns number

              getOption

              • getOption(): void

              getVar

              • getVar(name: string): Promise<VimValue>
              • -

                Retrieves a scoped variable depending on type (using this.prefix)

                -

                Parameters

                • name: string

                Returns Promise<VimValue>

              listenerCount

              • listenerCount(eventName: string | symbol): number
              • -

                Returns the number of listeners listening to the event named eventName.

                -
                since

                v3.2.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event being listened for

                  -

                Returns number

              listeners

              • listeners(eventName: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName.

                -
                server.on('connection', (stream) => {
                console.log('someone connected!');
                });
                console.log(util.inspect(server.listeners('connection')));
                // Prints: [ [Function] ] -
                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol

                Returns Function[]

              notify

              • notify(name: string, args: any[]): void
              • -

                request is basically the same except you can choose to wait forpromise to be resolved

                -

                Parameters

                • name: string
                • args: any[]

                Returns void

              off

              • off(eventName: string | symbol, listener: (...args: any[]) => void): Tabpage
              • -

                Alias for emitter.removeListener().

                -
                since

                v10.0.0

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Tabpage

              on

              • on(eventName: string | symbol, listener: (...args: any[]) => void): Tabpage
              • -

                Adds the listener function to the end of the listeners array for the +

                const EventEmitter = require('events');
                const myEE = new EventEmitter();
                myEE.on('foo', () => {});
                myEE.on('bar', () => {});

                const sym = Symbol('symbol');
                myEE.on(sym, () => {});

                console.log(myEE.eventNames());
                // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
                +

                Returns (string | symbol)[]

                Since

                v6.0.0

                +
              • Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

                +

                Returns number

                Since

                v1.0.0

                +
              • Retrieves a scoped variable depending on type (using this.prefix)

                +

                Parameters

                • name: string

                Returns Promise<VimValue>

              • Returns the number of listeners listening to the event named eventName.

                +

                Parameters

                • eventName: string | symbol

                  The name of the event being listened for

                  +

                Returns number

                Since

                v3.2.0

                +
              • Returns a copy of the array of listeners for the event named eventName.

                +
                server.on('connection', (stream) => {
                console.log('someone connected!');
                });
                console.log(util.inspect(server.listeners('connection')));
                // Prints: [ [Function] ] +
                +

                Parameters

                • eventName: string | symbol

                Returns Function[]

                Since

                v0.1.26

                +
              • request is basically the same except you can choose to wait forpromise to be resolved

                +

                Parameters

                • name: string
                • args: any[]

                Returns void

              • Alias for emitter.removeListener().

                +

                Parameters

                • eventName: string | symbol
                • listener: ((...args) => void)
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v10.0.0

                +
              • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

                -
                server.on('connection', (stream) => {
                console.log('someone connected!');
                }); -
                +
                server.on('connection', (stream) => {
                console.log('someone connected!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

                -
                const myEE = new EventEmitter();
                myEE.on('foo', () => console.log('a'));
                myEE.prependListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a -
                -
                since

                v0.1.101

                -

              Parameters

              • eventName: string | symbol
                -

                The name of the event.

                -
              • listener: (...args: any[]) => void
                -

                The callback function

                -
                  • (...args: any[]): void
                  • Parameters

                    • Rest ...args: any[]

                    Returns void

              Returns Tabpage

              once

              • once(eventName: string | symbol, listener: (...args: any[]) => void): Tabpage
              • -

                Adds a one-timelistener function for the event named eventName. The +

                const myEE = new EventEmitter();
                myEE.on('foo', () => console.log('a'));
                myEE.prependListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a +
                +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.1.101

                +
              • Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

                -
                server.once('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); -
                +
                server.once('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

                -
                const myEE = new EventEmitter();
                myEE.once('foo', () => console.log('a'));
                myEE.prependOnceListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a -
                -
                since

                v0.3.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Tabpage

              prependListener

              • prependListener(eventName: string | symbol, listener: (...args: any[]) => void): Tabpage
              • -

                Adds the listener function to the beginning of the listeners array for the +

                const myEE = new EventEmitter();
                myEE.once('foo', () => console.log('a'));
                myEE.prependOnceListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a +
                +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.3.0

                +
              • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

                -
                server.prependListener('connection', (stream) => {
                console.log('someone connected!');
                }); -
                +
                server.prependListener('connection', (stream) => {
                console.log('someone connected!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v6.0.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Tabpage

              prependOnceListener

              • prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): Tabpage
              • -

                Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v6.0.0

                +
              • Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

                -
                server.prependOnceListener('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); -
                +
                server.prependOnceListener('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v6.0.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Tabpage

              rawListeners

              • rawListeners(eventName: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName, +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v6.0.0

                +
              • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

                -
                const emitter = new EventEmitter();
                emitter.once('log', () => console.log('log once'));

                // Returns a new Array with a function `onceWrapper` which has a property
                // `listener` which contains the original listener bound above
                const listeners = emitter.rawListeners('log');
                const logFnWrapper = listeners[0];

                // Logs "log once" to the console and does not unbind the `once` event
                logFnWrapper.listener();

                // Logs "log once" to the console and removes the listener
                logFnWrapper();

                emitter.on('log', () => console.log('log persistently'));
                // Will return a new Array with a single function bound by `.on()` above
                const newListeners = emitter.rawListeners('log');

                // Logs "log persistently" twice
                newListeners[0]();
                emitter.emit('log'); -
                -
                since

                v9.4.0

                -

                Parameters

                • eventName: string | symbol

                Returns Function[]

              removeAllListeners

              • removeAllListeners(event?: string | symbol): Tabpage
              • -

                Removes all listeners, or those of the specified eventName.

                -

                It is bad practice to remove listeners added elsewhere in the code, +

                const emitter = new EventEmitter();
                emitter.once('log', () => console.log('log once'));

                // Returns a new Array with a function `onceWrapper` which has a property
                // `listener` which contains the original listener bound above
                const listeners = emitter.rawListeners('log');
                const logFnWrapper = listeners[0];

                // Logs "log once" to the console and does not unbind the `once` event
                logFnWrapper.listener();

                // Logs "log once" to the console and removes the listener
                logFnWrapper();

                emitter.on('log', () => console.log('log persistently'));
                // Will return a new Array with a single function bound by `.on()` above
                const newListeners = emitter.rawListeners('log');

                // Logs "log persistently" twice
                newListeners[0]();
                emitter.emit('log'); +
                +

                Parameters

                • eventName: string | symbol

                Returns Function[]

                Since

                v9.4.0

                +
              • Removes all listeners, or those of the specified eventName.

                +

                It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.1.26

                -

                Parameters

                • Optional event: string | symbol

                Returns Tabpage

              removeListener

              • removeListener(eventName: string | symbol, listener: (...args: any[]) => void): Tabpage
              • -

                Removes the specified listener from the listener array for the event namedeventName.

                -
                const callback = (stream) => {
                console.log('someone connected!');
                };
                server.on('connection', callback);
                // ...
                server.removeListener('connection', callback); -
                +

                Parameters

                • Optional event: string | symbol

                Returns this

                Since

                v0.1.26

                +
              • Removes the specified listener from the listener array for the event namedeventName.

                +
                const callback = (stream) => {
                console.log('someone connected!');
                };
                server.on('connection', callback);
                // ...
                server.removeListener('connection', callback); +

                removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be @@ -136,8 +149,8 @@

                Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and_before_ the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

                -
                const myEmitter = new MyEmitter();

                const callbackA = () => {
                console.log('A');
                myEmitter.removeListener('event', callbackB);
                };

                const callbackB = () => {
                console.log('B');
                };

                myEmitter.on('event', callbackA);

                myEmitter.on('event', callbackB);

                // callbackA removes listener callbackB but it will still be called.
                // Internal listener array at time of emit [callbackA, callbackB]
                myEmitter.emit('event');
                // Prints:
                // A
                // B

                // callbackB is now removed.
                // Internal listener array [callbackA]
                myEmitter.emit('event');
                // Prints:
                // A -
                +
                const myEmitter = new MyEmitter();

                const callbackA = () => {
                console.log('A');
                myEmitter.removeListener('event', callbackB);
                };

                const callbackB = () => {
                console.log('B');
                };

                myEmitter.on('event', callbackA);

                myEmitter.on('event', callbackB);

                // callbackA removes listener callbackB but it will still be called.
                // Internal listener array at time of emit [callbackA, callbackB]
                myEmitter.emit('event');
                // Prints:
                // A
                // B

                // callbackB is now removed.
                // Internal listener array [callbackA]
                myEmitter.emit('event');
                // Prints:
                // A +

                Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, @@ -146,80 +159,60 @@

                When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

                -
                const ee = new EventEmitter();

                function pong() {
                console.log('pong');
                }

                ee.on('ping', pong);
                ee.once('ping', pong);
                ee.removeListener('ping', pong);

                ee.emit('ping');
                ee.emit('ping'); -
                +
                const ee = new EventEmitter();

                function pong() {
                console.log('pong');
                }

                ee.on('ping', pong);
                ee.once('ping', pong);
                ee.removeListener('ping', pong);

                ee.emit('ping');
                ee.emit('ping'); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Tabpage

              request

              • request(name: string, args?: any[]): Promise<any>

              setMaxListeners

              • setMaxListeners(n: number): Tabpage
              • -

                By default EventEmitters will print a warning if more than 10 listeners are +

                Parameters

                • eventName: string | symbol
                • listener: ((...args) => void)
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.1.26

                +
              • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

                -

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.3.5

                -

                Parameters

                • n: number

                Returns Tabpage

              setOption

              • setOption(): void

              Protected setTransport

              • setTransport(transport: Transport): void

              setVar

              • setVar(name: string, value: VimValue): Promise<void>

              Static getEventListeners

              • getEventListeners(emitter: EventEmitter | DOMEventTarget, name: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName.

                -

                For EventEmitters this behaves exactly the same as calling .listeners on +

                Returns a reference to the EventEmitter, so that calls can be chained.

                +

                Parameters

                • n: number

                Returns this

                Since

                v0.3.5

                +
              • Set a scoped variable

                +

                Parameters

                • name: string
                • value: VimValue

                Returns Promise<void>

              • Returns a copy of the array of listeners for the event named eventName.

                +

                For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

                For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

                -
                const { getEventListeners, EventEmitter } = require('events');

                {
                const ee = new EventEmitter();
                const listener = () => console.log('Events are fun');
                ee.on('foo', listener);
                getEventListeners(ee, 'foo'); // [listener]
                }
                {
                const et = new EventTarget();
                const listener = () => console.log('Events are fun');
                et.addEventListener('foo', listener);
                getEventListeners(et, 'foo'); // [listener]
                } -
                -
                since

                v15.2.0

                -

                Parameters

                • emitter: EventEmitter | DOMEventTarget
                • name: string | symbol

                Returns Function[]

              Static listenerCount

              • listenerCount(emitter: EventEmitter, eventName: string | symbol): number
              • -

                A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

                -
                const { EventEmitter, listenerCount } = require('events');
                const myEmitter = new EventEmitter();
                myEmitter.on('event', () => {});
                myEmitter.on('event', () => {});
                console.log(listenerCount(myEmitter, 'event'));
                // Prints: 2 -
                -
                since

                v0.9.12

                -
                deprecated

                Since v3.2.0 - Use listenerCount instead.

                -

                Parameters

                • emitter: EventEmitter
                  -

                  The emitter to query

                  -
                • eventName: string | symbol
                  -

                  The event name

                  -

                Returns number

              Static on

              • on(emitter: EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
              • -

                ```js -const { on, EventEmitter } = require('events');

                -

                (async () => { - const ee = new EventEmitter();

                -

                // Emit later on - process.nextTick(() => { - ee.emit('foo', 'bar'); - ee.emit('foo', 42); - });

                -

                for await (const event of on(ee, 'foo')) { - // The execution of this inner block is synchronous and it - // processes one event at a time (even with await). Do not use - // if concurrent execution is required. - console.log(event); // prints ['bar'] [42] - } - // Unreachable here -})();

                -

                Returns an `AsyncIterator` that iterates `eventName` events. It will throw
                if the `EventEmitter` emits `'error'`. It removes all listeners when
                exiting the loop. The `value` returned by each iteration is an array
                composed of the emitted event arguments.

                An `AbortSignal` can be used to cancel waiting on events:

                ```js
                const { on, EventEmitter } = require('events');
                const ac = new AbortController();

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo', { signal: ac.signal })) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })();

                process.nextTick(() => ac.abort()); -
                -
                since

                v13.6.0, v12.16.0

                -

                Parameters

                • emitter: EventEmitter
                • eventName: string
                  -

                  The name of the event being listened for

                  -
                • Optional options: StaticEventEmitterOptions

                Returns AsyncIterableIterator<any>

                that iterates eventName events emitted by the emitter

                -

              Static once

              • once(emitter: NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
              • once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
              • -

                Creates a Promise that is fulfilled when the EventEmitter emits the given +

                const { getEventListeners, EventEmitter } = require('events');

                {
                const ee = new EventEmitter();
                const listener = () => console.log('Events are fun');
                ee.on('foo', listener);
                getEventListeners(ee, 'foo'); // [listener]
                }
                {
                const et = new EventTarget();
                const listener = () => console.log('Events are fun');
                et.addEventListener('foo', listener);
                getEventListeners(et, 'foo'); // [listener]
                } +
                +

                Parameters

                • emitter: EventEmitter | DOMEventTarget
                • name: string | symbol

                Returns Function[]

                Since

                v15.2.0

                +
              • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

                +
                const { EventEmitter, listenerCount } = require('events');
                const myEmitter = new EventEmitter();
                myEmitter.on('event', () => {});
                myEmitter.on('event', () => {});
                console.log(listenerCount(myEmitter, 'event'));
                // Prints: 2 +
                +

                Parameters

                • emitter: EventEmitter

                  The emitter to query

                  +
                • eventName: string | symbol

                  The event name

                  +

                Returns number

                Since

                v0.9.12

                +

                Deprecated

                Since v3.2.0 - Use listenerCount instead.

                +
              • const { on, EventEmitter } = require('events');

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo')) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })(); +
                +

                Returns an AsyncIterator that iterates eventName events. It will throw +if the EventEmitter emits 'error'. It removes all listeners when +exiting the loop. The value returned by each iteration is an array +composed of the emitted event arguments.

                +

                An AbortSignal can be used to cancel waiting on events:

                +
                const { on, EventEmitter } = require('events');
                const ac = new AbortController();

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo', { signal: ac.signal })) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })();

                process.nextTick(() => ac.abort()); +
                +

                Parameters

                • emitter: EventEmitter
                • eventName: string

                  The name of the event being listened for

                  +
                • Optional options: StaticEventEmitterOptions

                Returns AsyncIterableIterator<any>

                that iterates eventName events emitted by the emitter

                +

                Since

                v13.6.0, v12.16.0

                +
              • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

                -

                This method is intentionally generic and works with the web platformEventTarget interface, which has no special'error' event +

                This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

                -
                const { once, EventEmitter } = require('events');

                async function run() {
                const ee = new EventEmitter();

                process.nextTick(() => {
                ee.emit('myevent', 42);
                });

                const [value] = await once(ee, 'myevent');
                console.log(value);

                const err = new Error('kaboom');
                process.nextTick(() => {
                ee.emit('error', err);
                });

                try {
                await once(ee, 'myevent');
                } catch (err) {
                console.log('error happened', err);
                }
                }

                run(); -
                +
                const { once, EventEmitter } = require('events');

                async function run() {
                const ee = new EventEmitter();

                process.nextTick(() => {
                ee.emit('myevent', 42);
                });

                const [value] = await once(ee, 'myevent');
                console.log(value);

                const err = new Error('kaboom');
                process.nextTick(() => {
                ee.emit('error', err);
                });

                try {
                await once(ee, 'myevent');
                } catch (err) {
                console.log('error happened', err);
                }
                }

                run(); +

                The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

                -
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();

                once(ee, 'error')
                .then(([err]) => console.log('ok', err.message))
                .catch((err) => console.log('error', err.message));

                ee.emit('error', new Error('boom'));

                // Prints: ok boom -
                +
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();

                once(ee, 'error')
                .then(([err]) => console.log('ok', err.message))
                .catch((err) => console.log('error', err.message));

                ee.emit('error', new Error('boom'));

                // Prints: ok boom +

                An AbortSignal can be used to cancel waiting for the event:

                -
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();
                const ac = new AbortController();

                async function foo(emitter, event, signal) {
                try {
                await once(emitter, event, { signal });
                console.log('event emitted!');
                } catch (error) {
                if (error.name === 'AbortError') {
                console.error('Waiting for the event was canceled!');
                } else {
                console.error('There was an error', error.message);
                }
                }
                }

                foo(ee, 'foo', ac.signal);
                ac.abort(); // Abort waiting for the event
                ee.emit('foo'); // Prints: Waiting for the event was canceled! -
                -
                since

                v11.13.0, v10.16.0

                -

                Parameters

                • emitter: NodeEventTarget
                • eventName: string | symbol
                • Optional options: StaticEventEmitterOptions

                Returns Promise<any[]>

              • Parameters

                • emitter: DOMEventTarget
                • eventName: string
                • Optional options: StaticEventEmitterOptions

                Returns Promise<any[]>

              Legend

              • Constructor
              • Property
              • Method
              • Accessor
              • Inherited constructor
              • Inherited property
              • Inherited method
              • Inherited accessor
              • Private property
              • Private method
              • Protected property

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +
              const { EventEmitter, once } = require('events');

              const ee = new EventEmitter();
              const ac = new AbortController();

              async function foo(emitter, event, signal) {
              try {
              await once(emitter, event, { signal });
              console.log('event emitted!');
              } catch (error) {
              if (error.name === 'AbortError') {
              console.error('Waiting for the event was canceled!');
              } else {
              console.error('There was an error', error.message);
              }
              }
              }

              foo(ee, 'foo', ac.signal);
              ac.abort(); // Abort waiting for the event
              ee.emit('foo'); // Prints: Waiting for the event was canceled! +
              +

              Parameters

              • emitter: NodeEventTarget
              • eventName: string | symbol
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

              Since

              v11.13.0, v10.16.0

              +
            • Parameters

              • emitter: DOMEventTarget
              • eventName: string
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

            • Generated using TypeDoc

              \ No newline at end of file diff --git a/classes/Window.html b/classes/Window.html index b5b098eb..ab5f9a09 100644 --- a/classes/Window.html +++ b/classes/Window.html @@ -1,171 +1,179 @@ -Window | neovim
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Class Window

              Hierarchy

              • BaseApi
                • Window

              Index

              Constructors

              constructor

              • new Window(__namedParameters: BaseConstructorOptions): Window

              Properties

              Protected _isReady

              _isReady: Promise<boolean>

              Protected client

              client: any

              data

              data: number | Buffer

              logger

              logger: Logger

              prefix

              prefix: string = ...

              Protected transport

              transport: Transport

              Static Readonly captureRejectionSymbol

              captureRejectionSymbol: typeof captureRejectionSymbol

              Static captureRejections

              captureRejections: boolean
              -

              Sets or gets the default captureRejection value for all emitters.

              -

              Static defaultMaxListeners

              defaultMaxListeners: number

              Static Readonly errorMonitor

              errorMonitor: typeof errorMonitor
              -

              This symbol shall be used to install a listener for only monitoring 'error' +Window | neovim

              Class Window

              Hierarchy

              • BaseApi
                • Window

              Constructors

              Properties

              _isReady: Promise<boolean>
              client: any
              data: number | Buffer
              logger: Logger
              prefix: string = ...
              transport: Transport
              captureRejectionSymbol: typeof captureRejectionSymbol
              captureRejections: boolean

              Sets or gets the default captureRejection value for all emitters.

              +
              defaultMaxListeners: number
              errorMonitor: typeof errorMonitor

              This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

              -

              Installing a listener using this symbol does not change the behavior once an +

              Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

              -

              Accessors

              buffer

              • get buffer(): AsyncBuffer

              col

              • get col(): Promise<number>

              cursor

              • get cursor(): [number, number] | Promise<[number, number]>
              • set cursor(pos: [number, number] | Promise<[number, number]>): void

              height

              • get height(): number | Promise<number>
              • set height(height: number | Promise<number>): void

              id

              • get id(): number

              number

              • get number(): Promise<number>

              position

              • get position(): Promise<[number, number]>

              row

              • get row(): Promise<number>

              tabpage

              • get tabpage(): AsyncTabpage

              valid

              • get valid(): Promise<boolean>

              width

              • get width(): number | Promise<number>
              • set width(width: number | Promise<number>): void

              Methods

              [DO_REQUEST]

              • [DO_REQUEST](name: string, args?: any[]): Promise<any>

              _getArgsByPrefix

              • _getArgsByPrefix(...args: any[]): any[]

              addListener

              • addListener(eventName: string | symbol, listener: (...args: any[]) => void): Window
              • -

                Alias for emitter.on(eventName, listener).

                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Window

              asyncRequest

              • asyncRequest(name: string, args?: any[], stack: string): Promise<any>

              close

              • close(force?: boolean): Promise<any>

              config

              • config(options?: object): Promise<any>
              • -

                Configure window position. Currently this is only used to +

              Accessors

              Methods

              • Parameters

                • name: string
                • args: any[] = []

                Returns Promise<any>

              • Alias for emitter.on(eventName, listener).

                +

                Parameters

                • eventName: string | symbol
                • listener: ((...args) => void)
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.1.26

                +
              • Parameters

                • name: string
                • args: any[] = []
                • stack: string = undefined

                Returns Promise<any>

              • Configure window position. Currently this is only used to configure floating and external windows (including changing a split window to these types).

                -

                See documentation at |nvim_open_win()|, for the meaning of +

                See documentation at |nvim_open_win()|, for the meaning of parameters. Pass in -1 for 'witdh' and 'height' to keep exiting size.

                When reconfiguring a floating window, absent option keys will not be changed. The following restriction apply: row, col and relative must be reconfigured together. Only changing a subset of these is an error.

                -

              Parameters

              • options: object = {}
                -

                Options object

                -

              Returns Promise<any>

              deleteVar

              • deleteVar(name: string): Promise<void>

              emit

              • emit(eventName: string | symbol, ...args: any[]): boolean
              • -

                Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments +

                Parameters

                • options: object = {}

                Returns Promise<any>

                Param

                options Options object

                +
              • Delete a scoped variable

                +

                Parameters

                • name: string

                Returns Promise<void>

              • Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments to each.

                -

                Returns true if the event had listeners, false otherwise.

                -
                const EventEmitter = require('events');
                const myEmitter = new EventEmitter();

                // First listener
                myEmitter.on('event', function firstListener() {
                console.log('Helloooo! first listener');
                });
                // Second listener
                myEmitter.on('event', function secondListener(arg1, arg2) {
                console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
                });
                // Third listener
                myEmitter.on('event', function thirdListener(...args) {
                const parameters = args.join(', ');
                console.log(`event with parameters ${parameters} in third listener`);
                });

                console.log(myEmitter.listeners('event'));

                myEmitter.emit('event', 1, 2, 3, 4, 5);

                // Prints:
                // [
                // [Function: firstListener],
                // [Function: secondListener],
                // [Function: thirdListener]
                // ]
                // Helloooo! first listener
                // event with parameters 1, 2 in second listener
                // event with parameters 1, 2, 3, 4, 5 in third listener -
                -
                since

                v0.1.26

                -

              Parameters

              • eventName: string | symbol
              • Rest ...args: any[]

              Returns boolean

              equals

              • equals(other: BaseApi): boolean

              eventNames

              • eventNames(): (string | symbol)[]
              • -

                Returns an array listing the events for which the emitter has registered +

                Returns true if the event had listeners, false otherwise.

                +
                const EventEmitter = require('events');
                const myEmitter = new EventEmitter();

                // First listener
                myEmitter.on('event', function firstListener() {
                console.log('Helloooo! first listener');
                });
                // Second listener
                myEmitter.on('event', function secondListener(arg1, arg2) {
                console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
                });
                // Third listener
                myEmitter.on('event', function thirdListener(...args) {
                const parameters = args.join(', ');
                console.log(`event with parameters ${parameters} in third listener`);
                });

                console.log(myEmitter.listeners('event'));

                myEmitter.emit('event', 1, 2, 3, 4, 5);

                // Prints:
                // [
                // [Function: firstListener],
                // [Function: secondListener],
                // [Function: thirdListener]
                // ]
                // Helloooo! first listener
                // event with parameters 1, 2 in second listener
                // event with parameters 1, 2, 3, 4, 5 in third listener +
                +

                Parameters

                • eventName: string | symbol
                • Rest ...args: any[]

                Returns boolean

                Since

                v0.1.26

                +
              • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

                -
                const EventEmitter = require('events');
                const myEE = new EventEmitter();
                myEE.on('foo', () => {});
                myEE.on('bar', () => {});

                const sym = Symbol('symbol');
                myEE.on(sym, () => {});

                console.log(myEE.eventNames());
                // Prints: [ 'foo', 'bar', Symbol(symbol) ] -
                -
                since

                v6.0.0

                -

              Returns (string | symbol)[]

              getMaxListeners

              • getMaxListeners(): number
              • -

                Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

                -
                since

                v1.0.0

                -

                Returns number

              getOption

              • getOption(name: string): void | Promise<VimValue>
              • -

                Retrieves a scoped option depending on type of this

                -

                Parameters

                • name: string

                Returns void | Promise<VimValue>

              getVar

              • getVar(name: string): Promise<VimValue>
              • -

                Retrieves a scoped variable depending on type (using this.prefix)

                -

                Parameters

                • name: string

                Returns Promise<VimValue>

              listenerCount

              • listenerCount(eventName: string | symbol): number
              • -

                Returns the number of listeners listening to the event named eventName.

                -
                since

                v3.2.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event being listened for

                  -

                Returns number

              listeners

              • listeners(eventName: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName.

                -
                server.on('connection', (stream) => {
                console.log('someone connected!');
                });
                console.log(util.inspect(server.listeners('connection')));
                // Prints: [ [Function] ] -
                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol

                Returns Function[]

              notify

              • notify(name: string, args: any[]): void
              • -

                request is basically the same except you can choose to wait forpromise to be resolved

                -

                Parameters

                • name: string
                • args: any[]

                Returns void

              off

              • off(eventName: string | symbol, listener: (...args: any[]) => void): Window
              • -

                Alias for emitter.removeListener().

                -
                since

                v10.0.0

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Window

              on

              • on(eventName: string | symbol, listener: (...args: any[]) => void): Window
              • -

                Adds the listener function to the end of the listeners array for the +

                const EventEmitter = require('events');
                const myEE = new EventEmitter();
                myEE.on('foo', () => {});
                myEE.on('bar', () => {});

                const sym = Symbol('symbol');
                myEE.on(sym, () => {});

                console.log(myEE.eventNames());
                // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
                +

                Returns (string | symbol)[]

                Since

                v6.0.0

                +
              • Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

                +

                Returns number

                Since

                v1.0.0

                +
              • Retrieves a scoped option depending on type of this

                +

                Parameters

                • name: string

                Returns void | Promise<VimValue>

              • Retrieves a scoped variable depending on type (using this.prefix)

                +

                Parameters

                • name: string

                Returns Promise<VimValue>

              • Returns the number of listeners listening to the event named eventName.

                +

                Parameters

                • eventName: string | symbol

                  The name of the event being listened for

                  +

                Returns number

                Since

                v3.2.0

                +
              • Returns a copy of the array of listeners for the event named eventName.

                +
                server.on('connection', (stream) => {
                console.log('someone connected!');
                });
                console.log(util.inspect(server.listeners('connection')));
                // Prints: [ [Function] ] +
                +

                Parameters

                • eventName: string | symbol

                Returns Function[]

                Since

                v0.1.26

                +
              • request is basically the same except you can choose to wait forpromise to be resolved

                +

                Parameters

                • name: string
                • args: any[]

                Returns void

              • Alias for emitter.removeListener().

                +

                Parameters

                • eventName: string | symbol
                • listener: ((...args) => void)
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v10.0.0

                +
              • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

                -
                server.on('connection', (stream) => {
                console.log('someone connected!');
                }); -
                +
                server.on('connection', (stream) => {
                console.log('someone connected!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

                -
                const myEE = new EventEmitter();
                myEE.on('foo', () => console.log('a'));
                myEE.prependListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a -
                -
                since

                v0.1.101

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Window

              once

              • once(eventName: string | symbol, listener: (...args: any[]) => void): Window
              • -

                Adds a one-timelistener function for the event named eventName. The +

                const myEE = new EventEmitter();
                myEE.on('foo', () => console.log('a'));
                myEE.prependListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a +
                +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.1.101

                +
              • Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

                -
                server.once('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); -
                +
                server.once('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

                -
                const myEE = new EventEmitter();
                myEE.once('foo', () => console.log('a'));
                myEE.prependOnceListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a -
                -
                since

                v0.3.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Window

              prependListener

              • prependListener(eventName: string | symbol, listener: (...args: any[]) => void): Window
              • -

                Adds the listener function to the beginning of the listeners array for the +

                const myEE = new EventEmitter();
                myEE.once('foo', () => console.log('a'));
                myEE.prependOnceListener('foo', () => console.log('b'));
                myEE.emit('foo');
                // Prints:
                // b
                // a +
                +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.3.0

                +
              • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

                -
                server.prependListener('connection', (stream) => {
                console.log('someone connected!');
                }); -
                +
                server.prependListener('connection', (stream) => {
                console.log('someone connected!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v6.0.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Window

              prependOnceListener

              • prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): Window
              • -

                Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v6.0.0

                +
              • Adds a one-timelistener function for the event named eventName to the_beginning_ of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

                -
                server.prependOnceListener('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); -
                +
                server.prependOnceListener('connection', (stream) => {
                console.log('Ah, we have our first user!');
                }); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v6.0.0

                -

                Parameters

                • eventName: string | symbol
                  -

                  The name of the event.

                  -
                • listener: (...args: any[]) => void
                  -

                  The callback function

                  -
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Window

              rawListeners

              • rawListeners(eventName: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName, +

                Parameters

                • eventName: string | symbol

                  The name of the event.

                  +
                • listener: ((...args) => void)

                  The callback function

                  +
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v6.0.0

                +
              • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

                -
                const emitter = new EventEmitter();
                emitter.once('log', () => console.log('log once'));

                // Returns a new Array with a function `onceWrapper` which has a property
                // `listener` which contains the original listener bound above
                const listeners = emitter.rawListeners('log');
                const logFnWrapper = listeners[0];

                // Logs "log once" to the console and does not unbind the `once` event
                logFnWrapper.listener();

                // Logs "log once" to the console and removes the listener
                logFnWrapper();

                emitter.on('log', () => console.log('log persistently'));
                // Will return a new Array with a single function bound by `.on()` above
                const newListeners = emitter.rawListeners('log');

                // Logs "log persistently" twice
                newListeners[0]();
                emitter.emit('log'); -
                -
                since

                v9.4.0

                -

                Parameters

                • eventName: string | symbol

                Returns Function[]

              removeAllListeners

              • removeAllListeners(event?: string | symbol): Window
              • -

                Removes all listeners, or those of the specified eventName.

                -

                It is bad practice to remove listeners added elsewhere in the code, +

                const emitter = new EventEmitter();
                emitter.once('log', () => console.log('log once'));

                // Returns a new Array with a function `onceWrapper` which has a property
                // `listener` which contains the original listener bound above
                const listeners = emitter.rawListeners('log');
                const logFnWrapper = listeners[0];

                // Logs "log once" to the console and does not unbind the `once` event
                logFnWrapper.listener();

                // Logs "log once" to the console and removes the listener
                logFnWrapper();

                emitter.on('log', () => console.log('log persistently'));
                // Will return a new Array with a single function bound by `.on()` above
                const newListeners = emitter.rawListeners('log');

                // Logs "log persistently" twice
                newListeners[0]();
                emitter.emit('log'); +
                +

                Parameters

                • eventName: string | symbol

                Returns Function[]

                Since

                v9.4.0

                +
              • Removes all listeners, or those of the specified eventName.

                +

                It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.1.26

                -

                Parameters

                • Optional event: string | symbol

                Returns Window

              removeListener

              • removeListener(eventName: string | symbol, listener: (...args: any[]) => void): Window
              • -

                Removes the specified listener from the listener array for the event namedeventName.

                -
                const callback = (stream) => {
                console.log('someone connected!');
                };
                server.on('connection', callback);
                // ...
                server.removeListener('connection', callback); -
                +

                Parameters

                • Optional event: string | symbol

                Returns this

                Since

                v0.1.26

                +
              • Removes the specified listener from the listener array for the event namedeventName.

                +
                const callback = (stream) => {
                console.log('someone connected!');
                };
                server.on('connection', callback);
                // ...
                server.removeListener('connection', callback); +

                removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be @@ -173,8 +181,8 @@

                Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and_before_ the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

                -
                const myEmitter = new MyEmitter();

                const callbackA = () => {
                console.log('A');
                myEmitter.removeListener('event', callbackB);
                };

                const callbackB = () => {
                console.log('B');
                };

                myEmitter.on('event', callbackA);

                myEmitter.on('event', callbackB);

                // callbackA removes listener callbackB but it will still be called.
                // Internal listener array at time of emit [callbackA, callbackB]
                myEmitter.emit('event');
                // Prints:
                // A
                // B

                // callbackB is now removed.
                // Internal listener array [callbackA]
                myEmitter.emit('event');
                // Prints:
                // A -
                +
                const myEmitter = new MyEmitter();

                const callbackA = () => {
                console.log('A');
                myEmitter.removeListener('event', callbackB);
                };

                const callbackB = () => {
                console.log('B');
                };

                myEmitter.on('event', callbackA);

                myEmitter.on('event', callbackB);

                // callbackA removes listener callbackB but it will still be called.
                // Internal listener array at time of emit [callbackA, callbackB]
                myEmitter.emit('event');
                // Prints:
                // A
                // B

                // callbackB is now removed.
                // Internal listener array [callbackA]
                myEmitter.emit('event');
                // Prints:
                // A +

                Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, @@ -183,80 +191,60 @@

                When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

                -
                const ee = new EventEmitter();

                function pong() {
                console.log('pong');
                }

                ee.on('ping', pong);
                ee.once('ping', pong);
                ee.removeListener('ping', pong);

                ee.emit('ping');
                ee.emit('ping'); -
                +
                const ee = new EventEmitter();

                function pong() {
                console.log('pong');
                }

                ee.on('ping', pong);
                ee.once('ping', pong);
                ee.removeListener('ping', pong);

                ee.emit('ping');
                ee.emit('ping'); +

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.1.26

                -

                Parameters

                • eventName: string | symbol
                • listener: (...args: any[]) => void
                    • (...args: any[]): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns Window

              request

              • request(name: string, args?: any[]): Promise<any>

              setMaxListeners

              • setMaxListeners(n: number): Window
              • -

                By default EventEmitters will print a warning if more than 10 listeners are +

                Parameters

                • eventName: string | symbol
                • listener: ((...args) => void)
                    • (...args): void
                    • Parameters

                      • Rest ...args: any[]

                      Returns void

                Returns this

                Since

                v0.1.26

                +
              • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

                -

                Returns a reference to the EventEmitter, so that calls can be chained.

                -
                since

                v0.3.5

                -

                Parameters

                • n: number

                Returns Window

              setOption

              • setOption(name: string, value: VimValue): void | Promise<void>

              Protected setTransport

              • setTransport(transport: Transport): void

              setVar

              • setVar(name: string, value: VimValue): Promise<void>

              Static getEventListeners

              • getEventListeners(emitter: EventEmitter | DOMEventTarget, name: string | symbol): Function[]
              • -

                Returns a copy of the array of listeners for the event named eventName.

                -

                For EventEmitters this behaves exactly the same as calling .listeners on +

                Returns a reference to the EventEmitter, so that calls can be chained.

                +

                Parameters

                • n: number

                Returns this

                Since

                v0.3.5

                +
              • Set scoped option

                +

                Parameters

                • name: string
                • value: VimValue

                Returns void | Promise<void>

              • Set a scoped variable

                +

                Parameters

                • name: string
                • value: VimValue

                Returns Promise<void>

              • Returns a copy of the array of listeners for the event named eventName.

                +

                For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

                For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

                -
                const { getEventListeners, EventEmitter } = require('events');

                {
                const ee = new EventEmitter();
                const listener = () => console.log('Events are fun');
                ee.on('foo', listener);
                getEventListeners(ee, 'foo'); // [listener]
                }
                {
                const et = new EventTarget();
                const listener = () => console.log('Events are fun');
                et.addEventListener('foo', listener);
                getEventListeners(et, 'foo'); // [listener]
                } -
                -
                since

                v15.2.0

                -

                Parameters

                • emitter: EventEmitter | DOMEventTarget
                • name: string | symbol

                Returns Function[]

              Static listenerCount

              • listenerCount(emitter: EventEmitter, eventName: string | symbol): number
              • -

                A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

                -
                const { EventEmitter, listenerCount } = require('events');
                const myEmitter = new EventEmitter();
                myEmitter.on('event', () => {});
                myEmitter.on('event', () => {});
                console.log(listenerCount(myEmitter, 'event'));
                // Prints: 2 -
                -
                since

                v0.9.12

                -
                deprecated

                Since v3.2.0 - Use listenerCount instead.

                -

                Parameters

                • emitter: EventEmitter
                  -

                  The emitter to query

                  -
                • eventName: string | symbol
                  -

                  The event name

                  -

                Returns number

              Static on

              • on(emitter: EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
              • -

                ```js -const { on, EventEmitter } = require('events');

                -

                (async () => { - const ee = new EventEmitter();

                -

                // Emit later on - process.nextTick(() => { - ee.emit('foo', 'bar'); - ee.emit('foo', 42); - });

                -

                for await (const event of on(ee, 'foo')) { - // The execution of this inner block is synchronous and it - // processes one event at a time (even with await). Do not use - // if concurrent execution is required. - console.log(event); // prints ['bar'] [42] - } - // Unreachable here -})();

                -

                Returns an `AsyncIterator` that iterates `eventName` events. It will throw
                if the `EventEmitter` emits `'error'`. It removes all listeners when
                exiting the loop. The `value` returned by each iteration is an array
                composed of the emitted event arguments.

                An `AbortSignal` can be used to cancel waiting on events:

                ```js
                const { on, EventEmitter } = require('events');
                const ac = new AbortController();

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo', { signal: ac.signal })) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })();

                process.nextTick(() => ac.abort()); -
                -
                since

                v13.6.0, v12.16.0

                -

                Parameters

                • emitter: EventEmitter
                • eventName: string
                  -

                  The name of the event being listened for

                  -
                • Optional options: StaticEventEmitterOptions

                Returns AsyncIterableIterator<any>

                that iterates eventName events emitted by the emitter

                -

              Static once

              • once(emitter: NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
              • once(emitter: DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
              • -

                Creates a Promise that is fulfilled when the EventEmitter emits the given +

                const { getEventListeners, EventEmitter } = require('events');

                {
                const ee = new EventEmitter();
                const listener = () => console.log('Events are fun');
                ee.on('foo', listener);
                getEventListeners(ee, 'foo'); // [listener]
                }
                {
                const et = new EventTarget();
                const listener = () => console.log('Events are fun');
                et.addEventListener('foo', listener);
                getEventListeners(et, 'foo'); // [listener]
                } +
                +

                Parameters

                • emitter: EventEmitter | DOMEventTarget
                • name: string | symbol

                Returns Function[]

                Since

                v15.2.0

                +
              • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

                +
                const { EventEmitter, listenerCount } = require('events');
                const myEmitter = new EventEmitter();
                myEmitter.on('event', () => {});
                myEmitter.on('event', () => {});
                console.log(listenerCount(myEmitter, 'event'));
                // Prints: 2 +
                +

                Parameters

                • emitter: EventEmitter

                  The emitter to query

                  +
                • eventName: string | symbol

                  The event name

                  +

                Returns number

                Since

                v0.9.12

                +

                Deprecated

                Since v3.2.0 - Use listenerCount instead.

                +
              • const { on, EventEmitter } = require('events');

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo')) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })(); +
                +

                Returns an AsyncIterator that iterates eventName events. It will throw +if the EventEmitter emits 'error'. It removes all listeners when +exiting the loop. The value returned by each iteration is an array +composed of the emitted event arguments.

                +

                An AbortSignal can be used to cancel waiting on events:

                +
                const { on, EventEmitter } = require('events');
                const ac = new AbortController();

                (async () => {
                const ee = new EventEmitter();

                // Emit later on
                process.nextTick(() => {
                ee.emit('foo', 'bar');
                ee.emit('foo', 42);
                });

                for await (const event of on(ee, 'foo', { signal: ac.signal })) {
                // The execution of this inner block is synchronous and it
                // processes one event at a time (even with await). Do not use
                // if concurrent execution is required.
                console.log(event); // prints ['bar'] [42]
                }
                // Unreachable here
                })();

                process.nextTick(() => ac.abort()); +
                +

                Parameters

                • emitter: EventEmitter
                • eventName: string

                  The name of the event being listened for

                  +
                • Optional options: StaticEventEmitterOptions

                Returns AsyncIterableIterator<any>

                that iterates eventName events emitted by the emitter

                +

                Since

                v13.6.0, v12.16.0

                +
              • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

                -

                This method is intentionally generic and works with the web platformEventTarget interface, which has no special'error' event +

                This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

                -
                const { once, EventEmitter } = require('events');

                async function run() {
                const ee = new EventEmitter();

                process.nextTick(() => {
                ee.emit('myevent', 42);
                });

                const [value] = await once(ee, 'myevent');
                console.log(value);

                const err = new Error('kaboom');
                process.nextTick(() => {
                ee.emit('error', err);
                });

                try {
                await once(ee, 'myevent');
                } catch (err) {
                console.log('error happened', err);
                }
                }

                run(); -
                +
                const { once, EventEmitter } = require('events');

                async function run() {
                const ee = new EventEmitter();

                process.nextTick(() => {
                ee.emit('myevent', 42);
                });

                const [value] = await once(ee, 'myevent');
                console.log(value);

                const err = new Error('kaboom');
                process.nextTick(() => {
                ee.emit('error', err);
                });

                try {
                await once(ee, 'myevent');
                } catch (err) {
                console.log('error happened', err);
                }
                }

                run(); +

                The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

                -
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();

                once(ee, 'error')
                .then(([err]) => console.log('ok', err.message))
                .catch((err) => console.log('error', err.message));

                ee.emit('error', new Error('boom'));

                // Prints: ok boom -
                +
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();

                once(ee, 'error')
                .then(([err]) => console.log('ok', err.message))
                .catch((err) => console.log('error', err.message));

                ee.emit('error', new Error('boom'));

                // Prints: ok boom +

                An AbortSignal can be used to cancel waiting for the event:

                -
                const { EventEmitter, once } = require('events');

                const ee = new EventEmitter();
                const ac = new AbortController();

                async function foo(emitter, event, signal) {
                try {
                await once(emitter, event, { signal });
                console.log('event emitted!');
                } catch (error) {
                if (error.name === 'AbortError') {
                console.error('Waiting for the event was canceled!');
                } else {
                console.error('There was an error', error.message);
                }
                }
                }

                foo(ee, 'foo', ac.signal);
                ac.abort(); // Abort waiting for the event
                ee.emit('foo'); // Prints: Waiting for the event was canceled! -
                -
                since

                v11.13.0, v10.16.0

                -

                Parameters

                • emitter: NodeEventTarget
                • eventName: string | symbol
                • Optional options: StaticEventEmitterOptions

                Returns Promise<any[]>

              • Parameters

                • emitter: DOMEventTarget
                • eventName: string
                • Optional options: StaticEventEmitterOptions

                Returns Promise<any[]>

              Legend

              • Constructor
              • Property
              • Method
              • Accessor
              • Inherited constructor
              • Inherited property
              • Inherited method
              • Inherited accessor
              • Private property
              • Private method
              • Protected property

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +
              const { EventEmitter, once } = require('events');

              const ee = new EventEmitter();
              const ac = new AbortController();

              async function foo(emitter, event, signal) {
              try {
              await once(emitter, event, { signal });
              console.log('event emitted!');
              } catch (error) {
              if (error.name === 'AbortError') {
              console.error('Waiting for the event was canceled!');
              } else {
              console.error('There was an error', error.message);
              }
              }
              }

              foo(ee, 'foo', ac.signal);
              ac.abort(); // Abort waiting for the event
              ee.emit('foo'); // Prints: Waiting for the event was canceled! +
              +

              Parameters

              • emitter: NodeEventTarget
              • eventName: string | symbol
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

              Since

              v11.13.0, v10.16.0

              +
            • Parameters

              • emitter: DOMEventTarget
              • eventName: string
              • Optional options: StaticEventEmitterOptions

              Returns Promise<any[]>

            • Generated using TypeDoc

              \ No newline at end of file diff --git a/functions/Autocmd.html b/functions/Autocmd.html new file mode 100644 index 00000000..c393b069 --- /dev/null +++ b/functions/Autocmd.html @@ -0,0 +1 @@ +Autocmd | neovim

              Function Autocmd

              • Parameters

                • name: string
                • Optional options: AutocmdOptions

                Returns ((cls, methodName) => any)

                  • (cls, methodName): any
                  • Parameters

                    • cls: any
                    • methodName: string

                    Returns any

              Generated using TypeDoc

              \ No newline at end of file diff --git a/functions/Command.html b/functions/Command.html new file mode 100644 index 00000000..611dd4f7 --- /dev/null +++ b/functions/Command.html @@ -0,0 +1 @@ +Command | neovim

              Function Command

              • Parameters

                • name: string
                • Optional options: CommandOptions

                Returns ((cls, methodName) => any)

                  • (cls, methodName): any
                  • Parameters

                    • cls: any
                    • methodName: string

                    Returns any

              Generated using TypeDoc

              \ No newline at end of file diff --git a/functions/Function.html b/functions/Function.html new file mode 100644 index 00000000..3b06faa3 --- /dev/null +++ b/functions/Function.html @@ -0,0 +1 @@ +Function | neovim

              Function Function

              • Parameters

                • name: string
                • options: NvimFunctionOptions = {}

                Returns ((cls, methodName) => any)

                  • (cls, methodName): any
                  • Parameters

                    • cls: any
                    • methodName: string

                    Returns any

              Generated using TypeDoc

              \ No newline at end of file diff --git a/functions/Plugin.html b/functions/Plugin.html new file mode 100644 index 00000000..441d0c49 --- /dev/null +++ b/functions/Plugin.html @@ -0,0 +1 @@ +Plugin | neovim

              Function Plugin

              Generated using TypeDoc

              \ No newline at end of file diff --git a/functions/attach.html b/functions/attach.html new file mode 100644 index 00000000..9efa292e --- /dev/null +++ b/functions/attach.html @@ -0,0 +1 @@ +attach | neovim

              Function attach

              Generated using TypeDoc

              \ No newline at end of file diff --git a/functions/getNvimFromEnv.html b/functions/getNvimFromEnv.html new file mode 100644 index 00000000..c42000ea --- /dev/null +++ b/functions/getNvimFromEnv.html @@ -0,0 +1,2 @@ +getNvimFromEnv | neovim

              Function getNvimFromEnv

              Generated using TypeDoc

              \ No newline at end of file diff --git a/functions/loadPlugin.html b/functions/loadPlugin.html new file mode 100644 index 00000000..9e488e5d --- /dev/null +++ b/functions/loadPlugin.html @@ -0,0 +1 @@ +loadPlugin | neovim

              Function loadPlugin

              Generated using TypeDoc

              \ No newline at end of file diff --git a/index.html b/index.html index 0567e0cd..2711e976 100644 --- a/index.html +++ b/index.html @@ -1,125 +1,95 @@ -neovim
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              neovim

              - -

              neovim-client

              -
              - +neovim
              - + - - - - + +
              CI (Linux, macOS, Windows)CI (node >= 14, Linux/macOS/Windows) Coverage npmGitter
              ci[![Coverage Badge][]][Coverage Report][![npm version][]][npm package][![Gitter Badge][]][Gitter]Coverage Badgenpm version
              -

              Currently tested for node >= 10

              - - -

              Installation

              -
              -

              Install the neovim package globally using npm.

              -
              npm install -g neovim
              -
              -

              A global package is required for neovim to be able to communicate with a plugin.

              - - -

              Usage

              -
              -

              This package exports a single attach() function which takes a pair of -write/read streams and invokes a callback with a Nvim API object.

              - - -

              attach

              -
              -
              const cp = require('child_process');
              const attach = require('neovim').attach;

              const nvim_proc = cp.spawn('nvim', ['-u', 'NONE', '-N', '--embed'], {});

              // Attach to neovim process
              (async function() {
              const nvim = await attach({ proc: nvim_proc });
              nvim.command('vsp');
              nvim.command('vsp');
              nvim.command('vsp');
              const windows = await nvim.windows;

              // expect(windows.length).toEqual(4);
              // expect(windows[0] instanceof nvim.Window).toEqual(true);
              // expect(windows[1] instanceof nvim.Window).toEqual(true);

              nvim.window = windows[2];
              const win = await nvim.window;

              // expect(win).not.toEqual(windows[0]);
              // expect(win).toEqual(windows[2]);

              const buf = await nvim.buffer;
              // expect(buf instanceof nvim.Buffer).toEqual(true);

              const lines = await buf.lines;
              // expect(lines).toEqual(['']);

              await buf.replace(['line1', 'line2'], 0);
              const newLines = await buf.lines;
              // expect(newLines).toEqual(['line1', 'line2']);

              nvim.quit();
              nvim_proc.disconnect();
              })(); -
              - - -

              Writing a Plugin

              -
              -

              A plugin can either be a file or folder in the rplugin/node directory. If the plugin is a folder, the main script from package.json will be loaded.

              -

              The plugin should export a function which takes a NvimPlugin object as its only parameter. You may then register autocmds, commands and functions by calling methods on the NvimPlugin object. You should not do any heavy initialisation or start any async functions at this stage, as nvim may only be collecting information about your plugin without wishing to actually use it. You should wait for one of your autocmds, commands or functions to be called before starting any processing.

              -

              console has been replaced by a winston interface and console.log will call winston.info.

              - - -

              API

              -
              -
                NvimPlugin.nvim
              -
              +

              Install

              For "remote plugins", the Nvim Node.js provider expects the neovim package to be globally installed:

              +
              npm install -g neovim
              +
              +

              Or for non-plugin purposes, neovim works like any other NPM package. +See below for a quickstart example that you can copy and run immediately.

              +

              Usage

              The neovim package exposes these functions:

              +
                +
              • getNvimFromEnv: Tries to find a usable nvim binary on the current system.
              • +
              • attach: The primary interface. Takes a process, socket, or pair of write/read streams and returns a NeovimClient connected to the nvim server.
              • +
              +

              Quickstart: connect to Nvim

              Following is a complete example. Paste it into demo.mjs file and run it with node demo.mjs:

              +
              import * as child_process from 'node:child_process'
              import * as assert from 'node:assert'
              import { attach, getNvimFromEnv } from 'neovim'

              // Find `nvim` on the system and open a channel to it.
              (async function() {
              const found = getNvimFromEnv({ orderBy: 'desc', minVersion: '0.9.0' })
              console.log(found);
              const nvim_proc = child_process.spawn(found.matches[0].path, ['--clean', '--embed'], {});

              const nvim = attach({ proc: nvim_proc });
              nvim.command('vsp | vsp | vsp');

              const windows = await nvim.windows;
              assert.deepStrictEqual(windows.length, 4);
              assert.ok(windows[0] instanceof nvim.Window);

              nvim.window = windows[2];
              const win = await nvim.window;
              assert.ok(win.id !== windows[0].id);
              assert.deepStrictEqual(win.id, windows[2].id);

              const buf = await nvim.buffer;
              assert.ok(buf instanceof nvim.Buffer);
              const lines = await buf.lines;
              assert.deepStrictEqual(lines, []);

              await buf.replace(['line1', 'line2'], 0);
              const newLines = await buf.lines;
              assert.deepStrictEqual(newLines, ['line1', 'line2']);

              // console.log('%O', nvim_proc);
              if (nvim_proc.disconnect) {
              nvim_proc.disconnect();
              }
              nvim.quit();
              while (nvim_proc.exitCode === null) {
              await new Promise(resolve => setTimeout(resolve, 100))
              console.log('waiting for Nvim (pid %d) to exit', nvim_proc.pid);
              }
              console.log('Nvim exit code: %d', nvim_proc.exitCode);
              })(); +
              +

              Create a remote plugin

              Neovim supports remote plugins, which are plugins implemented as Nvim API clients. +This package contains both the "API client" (which talks to nvim) and "remote plugin host" (which discovers and runs Nvim node.js remote plugins).

              +

              You can define a remote plugin as a file or folder in an rplugin/node/ directory on Nvim's 'runtimepath'. +If the plugin is a folder, the main script from package.json will be loaded.

              +

              The plugin must export a function which takes a NvimPlugin object as its only parameter. You may then register autocmds, commands and functions by calling methods on the NvimPlugin object. +Avoid heavy initialisation or async functions at this stage, because Nvim may only be collecting information about your plugin without wishing to actually use it. +Instead, wait for one of your autocmds, commands or functions to be called before starting any processing.

              +

              The host replaces console with a winston interface, so console.log will call winston.info.

              +

              Remote plugin examples

              See examples/ for remote plugin examples.

              +

              Remote plugin API

                NvimPlugin.nvim
              +

              This is the nvim api object you can use to send commands from your plugin to nvim.

              -
                NvimPlugin.setOptions(options: NvimPluginOptions);

              interface NvimPluginOptions {
              dev?: boolean;
              alwaysInit?: boolean;
              } -
              +
                NvimPlugin.setOptions(options: NvimPluginOptions);

              interface NvimPluginOptions {
              dev?: boolean;
              alwaysInit?: boolean;
              } +

              Set your plugin to dev mode, which will cause the module to be reloaded on each invocation. alwaysInit will always attempt to attempt to re-instantiate the plugin. e.g. your plugin class will always get called on each invocation of your plugin's command.

              -
                NvimPlugin.registerAutocmd(name: string, fn: Function, options: AutocmdOptions): void;
              NvimPlugin.registerAutocmd(name: string, fn: [any, Function], options: AutocmdOptions): void;

              interface AutocmdOptions {
              pattern: string;
              eval?: string;
              sync?: boolean;
              } -
              +
                NvimPlugin.registerAutocmd(name: string, fn: Function, options: AutocmdOptions): void;
              NvimPlugin.registerAutocmd(name: string, fn: [any, Function], options: AutocmdOptions): void;

              interface AutocmdOptions {
              pattern: string;
              eval?: string;
              sync?: boolean;
              } +

              Registers an autocmd for the event name, calling your function fn with options. Pattern is the only required option. If you wish to call a method on an object you may pass fn as an array of [object, object.method].

              By default autocmds, commands and functions are all treated as asynchronous and should return Promises (or should be async functions).

              -
                NvimPlugin.registerCommand(name: string, fn: Function, options?: CommandOptions): void;
              NvimPlugin.registerCommand(name: string, fn: [any, Function], options?: CommandOptions): void;

              interface CommandOptions {
              sync?: boolean;
              range?: string;
              nargs?: string;
              } -
              +
                NvimPlugin.registerCommand(name: string, fn: Function, options?: CommandOptions): void;
              NvimPlugin.registerCommand(name: string, fn: [any, Function], options?: CommandOptions): void;

              interface CommandOptions {
              sync?: boolean;
              range?: string;
              nargs?: string;
              } +

              Registers a command named by name, calling function fn with options. This will be invoked from nvim by entering :name in normal mode.

              -
                NvimPlugin.registerFunction(name: string, fn: Function, options?: NvimFunctionOptions): void;
              NvimPlugin.registerFunction(name: string, fn: [any, Function], options?: NvimFunctionOptions): void;

              interface NvimFunctionOptions {
              sync?: boolean;
              range?: string;
              eval?: string;
              } -
              +
                NvimPlugin.registerFunction(name: string, fn: Function, options?: NvimFunctionOptions): void;
              NvimPlugin.registerFunction(name: string, fn: [any, Function], options?: NvimFunctionOptions): void;

              interface NvimFunctionOptions {
              sync?: boolean;
              range?: string;
              eval?: string;
              } +

              Registers a function with name name, calling function fn with options. This will be invoked from nvim by entering eg :call name() in normal mode.

              - - -

              Examples

              -
              -

              Examples of how to write plugins can be seen in the examples directory.

              - - -

              Debugging / troubleshooting

              -
              -

              Here are a few env vars you can set while starting neovim, that can help debugging and configuring logging:

              - - -

              NVIM_NODE_HOST_DEBUG

              -
              -

              Will spawn the node process that calls neovim-client-host with --inspect-brk so you can have a debugger. Pair that with this Node Inspector Manager Chrome plugin

              - - -

              Logging

              -
              -

              Logging is done using winston through the logger module. Plugins have console replaced with this interface.

              - - -

              NVIM_NODE_LOG_LEVEL

              -
              -

              Sets the logging level for winston. Default is debug, available levels are { error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }

              - - -

              NVIM_NODE_LOG_FILE

              -
              -

              Sets the log file path

              - - -

              Usage through node REPL

              -
              - - -

              NVIM_LISTEN_ADDRESS

              -
              -

              First, start Nvim with a known address (or use the $NVIM_LISTEN_ADDRESS of a running instance):

              -

              $ NVIM_LISTEN_ADDRESS=/tmp/nvim nvim -In another terminal, connect a node REPL to Nvim

              -
              // `scripts/nvim` will detect if `NVIM_LISTEN_ADDRESS` is set and use that unix socket
              // Otherwise will create an embedded `nvim` instance
              require('neovim/scripts/nvim').then((nvim) => {
              nvim.command('vsp');
              }); -
              -

              The tests and scripts can be consulted for more examples.

              - - -

              Contributors

              -
              +

              Debug / troubleshoot

              For debugging and configuring logging, you can set the following environment variables which are used by the neovim package (or nvim itself where noted):

                +
              • NVIM_NODE_HOST_DEBUG: Spawns the node process that calls neovim-client-host with --inspect-brk so you can have a debugger. +Pair that with this Node Inspector Manager Chrome plugin
              • +
              • Logging: Logging is done using winston through the logger module. Plugins have console replaced with this interface.
                  +
                • NVIM_NODE_LOG_LEVEL: Sets the logging level for winston. Default is debug. +Available levels: { error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }
                • +
                • NVIM_NODE_LOG_FILE: Sets the log file path.
                • +
                +
              • +
              • Usage through node REPL
                  +
                • NVIM_LISTEN_ADDRESS:
                    +
                  1. Start Nvim with a known address (or use the $NVIM_LISTEN_ADDRESS of a running instance):
                    $ NVIM_LISTEN_ADDRESS=/tmp/nvim nvim
                    +
                    +
                  2. +
                  3. In another terminal, connect a node REPL to Nvim
                    // `scripts/nvim` will detect if `NVIM_LISTEN_ADDRESS` is set and use that unix socket
                    // Otherwise will create an embedded `nvim` instance
                    require('neovim/scripts/nvim').then((nvim) => {
                    nvim.command('vsp');
                    }); +
                    +
                  4. +
                  +
                • +
                +
              • +
              +

              See the tests and scripts for more examples.

              +

              Contributing

              After cloning the repo, run npm install to install dev dependencies. The main neovim library is in packages/neovim.

              +

              Maintain

              Maintenance tasks:

              +

              Release

              Only maintainers of the neovim NPM package can publish a release.

              +

              Follow these steps to publish a release (where update_type is one of patch, minor, or major):

              +
              cd packages/neovim
              npm version <update_type>
              # Note: this copies the top-level README.md to packages/neovim.
              npm run publish:neovim +
              +

              Regenerate documentation website

              The docs website is currently not automated. Follow these steps to regenerate it:

              +
              # Note: this copies the top-level README.md to packages/neovim.
              npm run doc -w packages/neovim +
              +

              Contributors

              -

              Legend

              • Constructor
              • Property
              • Method
              • Accessor
              • Inherited constructor
              • Inherited property
              • Inherited method
              • Inherited accessor
              • Private property
              • Private method
              • Protected property

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +

              Generated using TypeDoc

              \ No newline at end of file diff --git a/modules.html b/modules.html index ddc45155..9e29ce09 100644 --- a/modules.html +++ b/modules.html @@ -1 +1,16 @@ -neovim
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              neovim

              Index

              Functions

              Autocmd

              • Autocmd(name: string, options?: AutocmdOptions): (cls: any, methodName: string) => any
              • Parameters

                • name: string
                • Optional options: AutocmdOptions

                Returns (cls: any, methodName: string) => any

                  • (cls: any, methodName: string): any
                  • Parameters

                    • cls: any
                    • methodName: string

                    Returns any

              Command

              • Command(name: string, options?: CommandOptions): (cls: any, methodName: string) => any
              • Parameters

                • name: string
                • Optional options: CommandOptions

                Returns (cls: any, methodName: string) => any

                  • (cls: any, methodName: string): any
                  • Parameters

                    • cls: any
                    • methodName: string

                    Returns any

              Function

              • Function(name: string, options?: NvimFunctionOptions): (cls: any, methodName: string) => any
              • Parameters

                • name: string
                • options: NvimFunctionOptions = {}

                Returns (cls: any, methodName: string) => any

                  • (cls: any, methodName: string): any
                  • Parameters

                    • cls: any
                    • methodName: string

                    Returns any

              Plugin

              • Plugin(outter: any): (cls: Constructor<{}>, options?: PluginDecoratorOptions) => any
              • Plugin(outter: any): any

              attach

              loadPlugin

              • loadPlugin(filename: string, nvim: Neovim, options?: LoadPluginOptions): NvimPlugin | null

              Legend

              • Constructor
              • Property
              • Method
              • Accessor
              • Inherited constructor
              • Inherited property
              • Inherited method
              • Inherited accessor
              • Private property
              • Private method
              • Protected property

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +neovim

              Generated using TypeDoc

              \ No newline at end of file diff --git a/types/GetNvimFromEnvOptions.html b/types/GetNvimFromEnvOptions.html new file mode 100644 index 00000000..63e01edf --- /dev/null +++ b/types/GetNvimFromEnvOptions.html @@ -0,0 +1,16 @@ +GetNvimFromEnvOptions | neovim

              Type alias GetNvimFromEnvOptions

              GetNvimFromEnvOptions: {
                  minVersion?: string;
                  orderBy?: "desc" | "none";
              }

              Type declaration

              • Optional Readonly minVersion?: string

                (Optional) Minimum nvim version (inclusive) to search for.

                +
                  +
                • Example: '0.5.0'
                • +
                +
              • Optional Readonly orderBy?: "desc" | "none"

                (Optional) Sort order of list of nvim versions.

                +
                  +
                • "desc" - Sort by version in descending order (highest to lowest).
                    +
                  • Example: ['0.5.0', '0.4.4', '0.4.3']
                  • +
                  +
                • +
                • "none" - (Default) Order is that of the searched $PATH components.
                    +
                  • Example: ['0.4.4', '0.5.0', '0.4.3']
                  • +
                  +
                • +
                +

              Generated using TypeDoc

              \ No newline at end of file diff --git a/types/GetNvimFromEnvResult.html b/types/GetNvimFromEnvResult.html new file mode 100644 index 00000000..5c75920c --- /dev/null +++ b/types/GetNvimFromEnvResult.html @@ -0,0 +1,4 @@ +GetNvimFromEnvResult | neovim

              Type alias GetNvimFromEnvResult

              GetNvimFromEnvResult: {
                  invalid: ReadonlyArray<NvimVersion>;
                  matches: ReadonlyArray<NvimVersion>;
              }

              Type declaration

              • Readonly invalid: ReadonlyArray<NvimVersion>

                List of invalid or failed nvim versions found (if any), in order of searched $PATH components.

                +
              • Readonly matches: ReadonlyArray<NvimVersion>

                List of satisfying nvim versions found (if any) on the current system, sorted in the order +specified by orderBy.

                +

              Generated using TypeDoc

              \ No newline at end of file