!function(t,e){for(var n in e)t[n]=e[n]}(exports,function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=13)}([function(t,e){t.exports=require("path")},function(t,e){t.exports=require("os")},function(t,e){t.exports=require("crypto")},function(t,e){t.exports=require("net")},function(t,e){t.exports=require("url")},function(t,e){t.exports=require("fs")},function(t,e){t.exports=require("child_process")},function(t,e){t.exports=require("util")},function(t,e){t.exports=require("events")},function(t,e){t.exports=require("stream")},,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(14)},function(t,e,n){!function(t,e){for(var n in e)t[n]=e[n]}(e,function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n{try{process.kill(e,0)}catch(t){process.exit(u?0:1)}},3e3))}catch(t){}}for(let e=2;ethis._documents[t])}keys(){return Object.keys(this._documents)}listen(t){t.__textDocumentSync=i.TextDocumentSyncKind.Full,t.onDidOpenTextDocument(t=>{let e=t.textDocument,n=this._configuration.create(e.uri,e.languageId,e.version,e.text);this._documents[e.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)}),t.onDidChangeTextDocument(t=>{let e=t.textDocument,n=t.contentChanges;if(0===n.length)return;let i=this._documents[e.uri];const{version:r}=e;if(null==r)throw new Error(`Received document change event for ${e.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[e.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))}),t.onDidCloseTextDocument(t=>{let e=this._documents[t.textDocument.uri];e&&(delete this._documents[t.textDocument.uri],this._onDidClose.fire(Object.freeze({document:e})))}),t.onWillSaveTextDocument(t=>{let e=this._documents[t.textDocument.uri];e&&this._onWillSave.fire(Object.freeze({document:e,reason:t.reason}))}),t.onWillSaveTextDocumentWaitUntil((t,e)=>{let n=this._documents[t.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:t.reason}),e):[]}),t.onDidSaveTextDocument(t=>{let e=this._documents[t.textDocument.uri];e&&this._onDidSave.fire(Object.freeze({document:e}))})}};e.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(t){let e=this._messages[t];e||(e=0),e++,this._messages[t]=e}sendErrors(t){Object.keys(this._messages).forEach(e=>{t.window.showErrorMessage(e)})}};class h{constructor(){}rawAttach(t){this._rawConnection=t}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(t){}initialize(t){}error(t){this.send(i.MessageType.Error,t)}warn(t){this.send(i.MessageType.Warning,t)}info(t){this.send(i.MessageType.Info,t)}log(t){this.send(i.MessageType.Log,t)}send(t,e){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:t,message:e})}}const p=a.ProgressFeature(class{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}showErrorMessage(t,...e){let n={type:i.MessageType.Error,message:t,actions:e};return this._connection.sendRequest(i.ShowMessageRequest.type,n).then(m)}showWarningMessage(t,...e){let n={type:i.MessageType.Warning,message:t,actions:e};return this._connection.sendRequest(i.ShowMessageRequest.type,n).then(m)}showInformationMessage(t,...e){let n={type:i.MessageType.Info,message:t,actions:e};return this._connection.sendRequest(i.ShowMessageRequest.type,n).then(m)}});!function(t){t.create=function(){return new f}}(e.BulkRegistration||(e.BulkRegistration={}));class f{constructor(){this._registrations=[],this._registered=new Set}add(t,e){const n=s.string(t)?t:t.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=l.generateUuid();this._registrations.push({id:i,method:n,registerOptions:e||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}!function(t){t.create=function(){return new g(void 0,[])}}(e.BulkUnregistration||(e.BulkUnregistration={}));class g{constructor(t,e){this._connection=t,this._unregistrations=new Map,e.forEach(t=>{this._unregistrations.set(t.method,t)})}get isAttached(){return!!this._connection}attach(t){this._connection=t}add(t){this._unregistrations.set(t.method,t)}dispose(){let t=[];for(let e of this._unregistrations.values())t.push(e);let e={unregisterations:t};this._connection.sendRequest(i.UnregistrationRequest.type,e).then(void 0,t=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(t){const e=s.string(t)?t:t.method,n=this._unregistrations.get(e);if(!n)return!1;let r={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,r).then(()=>{this._unregistrations.delete(e)},t=>{this._connection.console.info(`Unregistering request handler for ${n.id} failed.`)}),!0}}class b{attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}register(t,e,n){return t instanceof f?this.registerMany(t):t instanceof g?this.registerSingle1(t,e,n):this.registerSingle2(t,e)}registerSingle1(t,e,n){const r=s.string(e)?e:e.method,o=l.generateUuid();let a={registrations:[{id:o,method:r,registerOptions:n||{}}]};return t.isAttached||t.attach(this._connection),this._connection.sendRequest(i.RegistrationRequest.type,a).then(e=>(t.add({id:o,method:r}),t),t=>(this.connection.console.info(`Registering request handler for ${r} failed.`),Promise.reject(t)))}registerSingle2(t,e){const n=s.string(t)?t:t.method,r=l.generateUuid();let o={registrations:[{id:r,method:n,registerOptions:e||{}}]};return this._connection.sendRequest(i.RegistrationRequest.type,o).then(t=>i.Disposable.create(()=>{this.unregisterSingle(r,n)}),t=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(t)))}unregisterSingle(t,e){let n={unregisterations:[{id:t,method:e}]};return this._connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,e=>{this.connection.console.info(`Unregistering request handler for ${t} failed.`)})}registerMany(t){let e=t.asRegistrationParams();return this._connection.sendRequest(i.RegistrationRequest.type,e).then(()=>new g(this._connection,e.registrations.map(t=>({id:t.id,method:t.method}))),t=>(this.connection.console.info("Bulk registration failed."),Promise.reject(t)))}}const x=o.WorkspaceFoldersFeature(r.ConfigurationFeature(class{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}applyEdit(t){let e=(n=t)&&n.edit?t:{edit:t};var n;return this._connection.sendRequest(i.ApplyWorkspaceEditRequest.type,e)}}));class w{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}logEvent(t){this._connection.sendNotification(i.TelemetryEventNotification.type,t)}}class T{constructor(){this._trace=i.Trace.Off}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}set trace(t){this._trace=t}log(t,e){this._trace!==i.Trace.Off&&this._connection.sendNotification(i.LogTraceNotification.type,{message:t,verbose:this._trace===i.Trace.Verbose?e:void 0})}}class _{constructor(){}attach(t){this._connection=t}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(t){}fillServerCapabilities(t){}attachWorkDoneProgress(t){return a.attachWorkDone(this.connection,t)}attachPartialResultProgress(t,e){return a.attachPartialResult(this.connection,e)}}function y(t,e){return function(n){return e(t(n))}}function v(t,e){return function(n){return e(t(n))}}function k(t,e){return function(n){return e(t(n))}}function R(t,e){return function(n){return e(t(n))}}function F(t,e){return function(n){return e(t(n))}}function A(t,e){return function(n){return e(t(n))}}function E(t,e){return function(n){return e(t(n))}}e.LanguagesImpl=_,e.combineConsoleFeatures=y,e.combineTelemetryFeatures=v,e.combineTracerFeatures=k,e.combineClientFeatures=R,e.combineWindowFeatures=F,e.combineWorkspaceFeatures=A,e.combineLanguagesFeatures=E,e.combineFeatures=function(t,e){function n(t,e,n){return t&&e?n(t,e):t||e}return{__brand:"features",console:n(t.console,e.console,y),tracer:n(t.tracer,e.tracer,k),telemetry:n(t.telemetry,e.telemetry,v),client:n(t.client,e.client,R),window:n(t.window,e.window,F),workspace:n(t.workspace,e.workspace,A)}},e.createConnection=function(t,e,n,r){let o,l,c,m;return void 0!==t&&"features"===t.__brand&&(o=t,t=e,e=n,n=r),i.ConnectionStrategy.is(t)?m=t:(l=t,c=e,m=n),function(t,e,n,r){if(!t&&!e&&process.argv.length>2){let n=void 0,r=void 0,a=process.argv.slice(2);for(let s=0;s{process.exit(u?0:1)}),e.on("close",()=>{process.exit(u?0:1)})}const c=r&&r.console?new(r.console(h)):new h,m=i.createProtocolConnection(t,e,c,n);c.rawAttach(m);const f=r&&r.tracer?new(r.tracer(T)):new T,g=r&&r.telemetry?new(r.telemetry(w)):new w,y=r&&r.client?new(r.client(b)):new b,v=r&&r.window?new(r.window(p)):new p,k=r&&r.workspace?new(r.workspace(x)):new x,R=r&&r.languages?new(r.languages(_)):new _,F=[c,f,g,y,v,k,R];let A=void 0,E=void 0,N=void 0,S={listen:()=>m.listen(),sendRequest:(t,...e)=>m.sendRequest(s.string(t)?t:t.method,...e),onRequest:(t,e)=>m.onRequest(t,e),sendNotification:(t,e)=>{const n=s.string(t)?t:t.method;1===arguments.length?m.sendNotification(n):m.sendNotification(n,e)},onNotification:(t,e)=>m.onNotification(t,e),onProgress:m.onProgress,sendProgress:m.sendProgress,onInitialize:t=>E=t,onInitialized:t=>m.onNotification(i.InitializedNotification.type,t),onShutdown:t=>A=t,onExit:t=>N=t,get console(){return c},get telemetry(){return g},get tracer(){return f},get client(){return y},get window(){return v},get workspace(){return k},get languages(){return R},onDidChangeConfiguration:t=>m.onNotification(i.DidChangeConfigurationNotification.type,t),onDidChangeWatchedFiles:t=>m.onNotification(i.DidChangeWatchedFilesNotification.type,t),__textDocumentSync:void 0,onDidOpenTextDocument:t=>m.onNotification(i.DidOpenTextDocumentNotification.type,t),onDidChangeTextDocument:t=>m.onNotification(i.DidChangeTextDocumentNotification.type,t),onDidCloseTextDocument:t=>m.onNotification(i.DidCloseTextDocumentNotification.type,t),onWillSaveTextDocument:t=>m.onNotification(i.WillSaveTextDocumentNotification.type,t),onWillSaveTextDocumentWaitUntil:t=>m.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,t),onDidSaveTextDocument:t=>m.onNotification(i.DidSaveTextDocumentNotification.type,t),sendDiagnostics:t=>m.sendNotification(i.PublishDiagnosticsNotification.type,t),onHover:t=>m.onRequest(i.HoverRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),void 0)),onCompletion:t=>m.onRequest(i.CompletionRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onCompletionResolve:t=>m.onRequest(i.CompletionResolveRequest.type,t),onSignatureHelp:t=>m.onRequest(i.SignatureHelpRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),void 0)),onDeclaration:t=>m.onRequest(i.DeclarationRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onDefinition:t=>m.onRequest(i.DefinitionRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onTypeDefinition:t=>m.onRequest(i.TypeDefinitionRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onImplementation:t=>m.onRequest(i.ImplementationRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onReferences:t=>m.onRequest(i.ReferencesRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onDocumentHighlight:t=>m.onRequest(i.DocumentHighlightRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onDocumentSymbol:t=>m.onRequest(i.DocumentSymbolRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onWorkspaceSymbol:t=>m.onRequest(i.WorkspaceSymbolRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onCodeAction:t=>m.onRequest(i.CodeActionRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onCodeLens:t=>m.onRequest(i.CodeLensRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onCodeLensResolve:t=>m.onRequest(i.CodeLensResolveRequest.type,(e,n)=>t(e,n)),onDocumentFormatting:t=>m.onRequest(i.DocumentFormattingRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),void 0)),onDocumentRangeFormatting:t=>m.onRequest(i.DocumentRangeFormattingRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),void 0)),onDocumentOnTypeFormatting:t=>m.onRequest(i.DocumentOnTypeFormattingRequest.type,(e,n)=>t(e,n)),onRenameRequest:t=>m.onRequest(i.RenameRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),void 0)),onPrepareRename:t=>m.onRequest(i.PrepareRenameRequest.type,(e,n)=>t(e,n)),onDocumentLinks:t=>m.onRequest(i.DocumentLinkRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onDocumentLinkResolve:t=>m.onRequest(i.DocumentLinkResolveRequest.type,(e,n)=>t(e,n)),onDocumentColor:t=>m.onRequest(i.DocumentColorRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onColorPresentation:t=>m.onRequest(i.ColorPresentationRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onFoldingRanges:t=>m.onRequest(i.FoldingRangeRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onSelectionRanges:t=>m.onRequest(i.SelectionRangeRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),a.attachPartialResult(m,e))),onExecuteCommand:t=>m.onRequest(i.ExecuteCommandRequest.type,(e,n)=>t(e,n,a.attachWorkDone(m,e),void 0)),dispose:()=>m.dispose()};for(let t of F)t.attach(S);return m.onRequest(i.InitializeRequest.type,t=>{const e=t.processId;s.number(e)&&void 0===d&&setInterval(()=>{try{process.kill(e,0)}catch(t){process.exit(u?0:1)}},3e3),s.string(t.trace)&&(f.trace=i.Trace.fromString(t.trace));for(let e of F)e.initialize(t.capabilities);if(E){return function(t){return t instanceof Promise?t:s.thenable(t)?new Promise((e,n)=>{t.then(t=>e(t),t=>n(t))}):Promise.resolve(t)}(E(t,(new i.CancellationTokenSource).token,a.attachWorkDone(m,t),void 0)).then(t=>{if(t instanceof i.ResponseError)return t;let e=t;e||(e={capabilities:{}});let n=e.capabilities;n||(n={},e.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=s.number(S.__textDocumentSync)?S.__textDocumentSync:i.TextDocumentSyncKind.None:s.number(n.textDocumentSync)||s.number(n.textDocumentSync.change)||(n.textDocumentSync.change=s.number(S.__textDocumentSync)?S.__textDocumentSync:i.TextDocumentSyncKind.None);for(let t of F)t.fillServerCapabilities(n);return e})}{let t={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let e of F)e.fillServerCapabilities(t.capabilities);return t}}),m.onRequest(i.ShutdownRequest.type,()=>(u=!0,A?A((new i.CancellationTokenSource).token):void 0)),m.onNotification(i.ExitNotification.type,()=>{try{N&&N()}finally{u?process.exit(0):process.exit(1)}}),m.onNotification(i.SetTraceNotification.type,t=>{f.trace=i.Trace.fromString(t.value)}),S}(l,c,m,o)};const N=n(42),S=n(43);!function(t){t.all={__brand:"features",languages:E(N.CallHierarchyFeature,S.SemanticTokensFeature)},t.SemanticTokensBuilder=S.SemanticTokensBuilder}(e.ProposedFeatures||(e.ProposedFeatures={}))},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0});const r=n(4);e.ErrorCodes=r.ErrorCodes,e.ResponseError=r.ResponseError,e.CancellationToken=r.CancellationToken,e.CancellationTokenSource=r.CancellationTokenSource,e.Disposable=r.Disposable,e.Event=r.Event,e.Emitter=r.Emitter,e.Trace=r.Trace,e.TraceFormat=r.TraceFormat,e.SetTraceNotification=r.SetTraceNotification,e.LogTraceNotification=r.LogTraceNotification,e.RequestType=r.RequestType,e.RequestType0=r.RequestType0,e.NotificationType=r.NotificationType,e.NotificationType0=r.NotificationType0,e.MessageReader=r.MessageReader,e.MessageWriter=r.MessageWriter,e.ConnectionStrategy=r.ConnectionStrategy,e.StreamMessageReader=r.StreamMessageReader,e.StreamMessageWriter=r.StreamMessageWriter,e.IPCMessageReader=r.IPCMessageReader,e.IPCMessageWriter=r.IPCMessageWriter,e.createClientPipeTransport=r.createClientPipeTransport,e.createServerPipeTransport=r.createServerPipeTransport,e.generateRandomPipeName=r.generateRandomPipeName,e.createClientSocketTransport=r.createClientSocketTransport,e.createServerSocketTransport=r.createServerSocketTransport,e.ProgressType=r.ProgressType,i(n(18)),i(n(19));const o=n(31),a=n(32);!function(t){let e,n,i,r,s,l;!function(t){t.method=o.CallHierarchyPrepareRequest.method,t.type=o.CallHierarchyPrepareRequest.type}(e=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})),function(t){t.method=o.CallHierarchyIncomingCallsRequest.method,t.type=o.CallHierarchyIncomingCallsRequest.type}(n=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})),function(t){t.method=o.CallHierarchyOutgoingCallsRequest.method,t.type=o.CallHierarchyOutgoingCallsRequest.type}(i=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})),t.SemanticTokenTypes=a.SemanticTokenTypes,t.SemanticTokenModifiers=a.SemanticTokenModifiers,t.SemanticTokens=a.SemanticTokens,function(t){t.method=a.SemanticTokensRequest.method,t.type=a.SemanticTokensRequest.type}(r=t.SemanticTokensRequest||(t.SemanticTokensRequest={})),function(t){t.method=a.SemanticTokensEditsRequest.method,t.type=a.SemanticTokensEditsRequest.type}(s=t.SemanticTokensEditsRequest||(t.SemanticTokensEditsRequest={})),function(t){t.method=a.SemanticTokensRangeRequest.method,t.type=a.SemanticTokensRangeRequest.type}(l=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={}))}(e.Proposed||(e.Proposed={})),e.createProtocolConnection=function(t,e,n,i){return r.createMessageConnection(t,e,n,i)}},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0});const r=n(5),o=n(6);e.RequestType=o.RequestType,e.RequestType0=o.RequestType0,e.RequestType1=o.RequestType1,e.RequestType2=o.RequestType2,e.RequestType3=o.RequestType3,e.RequestType4=o.RequestType4,e.RequestType5=o.RequestType5,e.RequestType6=o.RequestType6,e.RequestType7=o.RequestType7,e.RequestType8=o.RequestType8,e.RequestType9=o.RequestType9,e.ResponseError=o.ResponseError,e.ErrorCodes=o.ErrorCodes,e.NotificationType=o.NotificationType,e.NotificationType0=o.NotificationType0,e.NotificationType1=o.NotificationType1,e.NotificationType2=o.NotificationType2,e.NotificationType3=o.NotificationType3,e.NotificationType4=o.NotificationType4,e.NotificationType5=o.NotificationType5,e.NotificationType6=o.NotificationType6,e.NotificationType7=o.NotificationType7,e.NotificationType8=o.NotificationType8,e.NotificationType9=o.NotificationType9;const a=n(7);e.MessageReader=a.MessageReader,e.StreamMessageReader=a.StreamMessageReader,e.IPCMessageReader=a.IPCMessageReader,e.SocketMessageReader=a.SocketMessageReader;const s=n(9);e.MessageWriter=s.MessageWriter,e.StreamMessageWriter=s.StreamMessageWriter,e.IPCMessageWriter=s.IPCMessageWriter,e.SocketMessageWriter=s.SocketMessageWriter;const l=n(8);e.Disposable=l.Disposable,e.Event=l.Event,e.Emitter=l.Emitter;const c=n(10);e.CancellationTokenSource=c.CancellationTokenSource,e.CancellationToken=c.CancellationToken;const u=n(11);var d,m,h,p,f,g,b,x;i(n(12)),i(n(17)),function(t){t.type=new o.NotificationType("$/cancelRequest")}(d||(d={})),function(t){t.type=new o.NotificationType("$/progress")}(m||(m={}));e.ProgressType=class{constructor(){}},e.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Verbose=2]="Verbose"}(h=e.Trace||(e.Trace={})),function(t){t.fromString=function(e){if(!r.string(e))return t.Off;switch(e=e.toLowerCase()){case"off":return t.Off;case"messages":return t.Messages;case"verbose":return t.Verbose;default:return t.Off}},t.toString=function(e){switch(e){case t.Off:return"off";case t.Messages:return"messages";case t.Verbose:return"verbose";default:return"off"}}}(h=e.Trace||(e.Trace={})),function(t){t.Text="text",t.JSON="json"}(p=e.TraceFormat||(e.TraceFormat={})),function(t){t.fromString=function(e){return"json"===(e=e.toLowerCase())?t.JSON:t.Text}}(p=e.TraceFormat||(e.TraceFormat={})),function(t){t.type=new o.NotificationType("$/setTraceNotification")}(f=e.SetTraceNotification||(e.SetTraceNotification={})),function(t){t.type=new o.NotificationType("$/logTraceNotification")}(g=e.LogTraceNotification||(e.LogTraceNotification={})),function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"}(b=e.ConnectionErrors||(e.ConnectionErrors={}));class w extends Error{constructor(t,e){super(e),this.code=t,Object.setPrototypeOf(this,w.prototype)}}function T(t,e,n,i){let a=0,s=0,T=0;const _="2.0";let y,v,k=void 0,R=Object.create(null),F=void 0,A=Object.create(null),E=new Map,N=new u.LinkedMap,S=Object.create(null),C=Object.create(null),O=h.Off,L=p.Text,I=x.New,$=new l.Emitter,D=new l.Emitter,W=new l.Emitter,G=new l.Emitter,M=new l.Emitter;function P(t){return"req-"+t.toString()}function B(t,e){var n;o.isRequestMessage(e)?t.set(P(e.id),e):o.isResponseMessage(e)?t.set(null===(n=e.id)?"res-unknown-"+(++T).toString():"res-"+n.toString(),e):t.set("not-"+(++s).toString(),e)}function j(t){}function U(){return I===x.Listening}function q(){return I===x.Closed}function V(){return I===x.Disposed}function z(){I!==x.New&&I!==x.Listening||(I=x.Closed,D.fire(void 0))}function H(){y||0===N.size||(y=setImmediate(()=>{y=void 0,function(){if(0===N.size)return;let t=N.shift();try{o.isRequestMessage(t)?function(t){if(V())return;function n(n,i,r){let a={jsonrpc:_,id:t.id};n instanceof o.ResponseError?a.error=n.toJson():a.result=void 0===n?null:n,K(a,i,r),e.write(a)}function i(n,i,r){let o={jsonrpc:_,id:t.id,error:n.toJson()};K(o,i,r),e.write(o)}!function(t){if(O===h.Off||!v)return;if(L===p.Text){let e=void 0;O===h.Verbose&&t.params&&(e=`Params: ${JSON.stringify(t.params,null,4)}\n\n`),v.log(`Received request '${t.method} - (${t.id})'.`,e)}else Y("receive-request",t)}(t);let a,s,l=R[t.method];l&&(a=l.type,s=l.handler);let u=Date.now();if(s||k){let l=new c.CancellationTokenSource,d=String(t.id);C[d]=l;try{let c,m=c=void 0===t.params||void 0!==a&&0===a.numberOfParams?s?s(l.token):k(t.method,l.token):r.array(t.params)&&(void 0===a||a.numberOfParams>1)?s?s(...t.params,l.token):k(t.method,...t.params,l.token):s?s(t.params,l.token):k(t.method,t.params,l.token);c?m.then?m.then(e=>{delete C[d],n(e,t.method,u)},e=>{delete C[d],e instanceof o.ResponseError?i(e,t.method,u):e&&r.string(e.message)?i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${t.method} failed with message: ${e.message}`),t.method,u):i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${t.method} failed unexpectedly without providing any details.`),t.method,u)}):(delete C[d],n(c,t.method,u)):(delete C[d],function(n,i,r){void 0===n&&(n=null);let o={jsonrpc:_,id:t.id,result:n};K(o,i,r),e.write(o)}(c,t.method,u))}catch(e){delete C[d],e instanceof o.ResponseError?n(e,t.method,u):e&&r.string(e.message)?i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${t.method} failed with message: ${e.message}`),t.method,u):i(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${t.method} failed unexpectedly without providing any details.`),t.method,u)}}else i(new o.ResponseError(o.ErrorCodes.MethodNotFound,`Unhandled method ${t.method}`),t.method,u)}(t):o.isNotificationMessage(t)?function(t){if(V())return;let e,i=void 0;if(t.method===d.type.method)e=t=>{let e=t.id,n=C[String(e)];n&&n.cancel()};else{let n=A[t.method];n&&(e=n.handler,i=n.type)}if(e||F)try{!function(t){if(O===h.Off||!v||t.method===g.type.method)return;if(L===p.Text){let e=void 0;O===h.Verbose&&(e=t.params?`Params: ${JSON.stringify(t.params,null,4)}\n\n`:"No parameters provided.\n\n"),v.log(`Received notification '${t.method}'.`,e)}else Y("receive-notification",t)}(t),void 0===t.params||void 0!==i&&0===i.numberOfParams?e?e():F(t.method):r.array(t.params)&&(void 0===i||i.numberOfParams>1)?e?e(...t.params):F(t.method,...t.params):e?e(t.params):F(t.method,t.params)}catch(e){e.message?n.error(`Notification handler '${t.method}' failed with message: ${e.message}`):n.error(`Notification handler '${t.method}' failed unexpectedly.`)}else W.fire(t)}(t):o.isResponseMessage(t)?function(t){if(V())return;if(null===t.id)t.error?n.error(`Received response message without id: Error is: \n${JSON.stringify(t.error,void 0,4)}`):n.error("Received response message without id. No further error information provided.");else{let e=String(t.id),i=S[e];if(function(t,e){if(O===h.Off||!v)return;if(L===p.Text){let n=void 0;if(O===h.Verbose&&(t.error&&t.error.data?n=`Error data: ${JSON.stringify(t.error.data,null,4)}\n\n`:t.result?n=`Result: ${JSON.stringify(t.result,null,4)}\n\n`:void 0===t.error&&(n="No result returned.\n\n")),e){let i=t.error?` Request failed: ${t.error.message} (${t.error.code}).`:"";v.log(`Received response '${e.method} - (${t.id})' in ${Date.now()-e.timerStart}ms.${i}`,n)}else v.log(`Received response ${t.id} without active response promise.`,n)}else Y("receive-response",t)}(t,i),i){delete S[e];try{if(t.error){let e=t.error;i.reject(new o.ResponseError(e.code,e.message,e.data))}else{if(void 0===t.result)throw new Error("Should never happen.");i.resolve(t.result)}}catch(t){t.message?n.error(`Response handler '${i.method}' failed with message: ${t.message}`):n.error(`Response handler '${i.method}' failed unexpectedly.`)}}}}(t):function(t){if(!t)return void n.error("Received empty message.");n.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(t,null,4)}`);let e=t;if(r.string(e.id)||r.number(e.id)){let t=String(e.id),n=S[t];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(t)}finally{H()}}()}))}t.onClose(z),t.onError((function(t){$.fire([t,void 0,void 0])})),e.onClose(z),e.onError((function(t){$.fire(t)}));let X=t=>{try{if(o.isNotificationMessage(t)&&t.method===d.type.method){let n=P(t.params.id),r=N.get(n);if(o.isRequestMessage(r)){let o=i&&i.cancelUndispatched?i.cancelUndispatched(r,j):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return N.delete(n),o.id=r.id,K(o,t.method,Date.now()),void e.write(o)}}B(N,t)}finally{H()}};function K(t,e,n){if(O!==h.Off&&v)if(L===p.Text){let i=void 0;O===h.Verbose&&(t.error&&t.error.data?i=`Error data: ${JSON.stringify(t.error.data,null,4)}\n\n`:t.result?i=`Result: ${JSON.stringify(t.result,null,4)}\n\n`:void 0===t.error&&(i="No result returned.\n\n")),v.log(`Sending response '${e} - (${t.id})'. Processing request took ${Date.now()-n}ms`,i)}else Y("send-response",t)}function Y(t,e){if(!v||O===h.Off)return;const n={isLSPMessage:!0,type:t,message:e,timestamp:Date.now()};v.log(n)}function Z(){if(q())throw new w(b.Closed,"Connection is closed.");if(V())throw new w(b.Disposed,"Connection is disposed.")}function J(t){return void 0===t?null:t}function Q(t,e){let n,i=t.numberOfParams;switch(i){case 0:n=null;break;case 1:n=J(e[0]);break;default:n=[];for(let t=0;t{let i,o;if(Z(),r.string(t))switch(i=t,n.length){case 0:o=null;break;case 1:o=n[0];break;default:o=n}else i=t.method,o=Q(t,n);let a={jsonrpc:_,method:i,params:o};!function(t){if(O!==h.Off&&v)if(L===p.Text){let e=void 0;O===h.Verbose&&(e=t.params?`Params: ${JSON.stringify(t.params,null,4)}\n\n`:"No parameters provided.\n\n"),v.log(`Sending notification '${t.method}'.`,e)}else Y("send-notification",t)}(a),e.write(a)},onNotification:(t,e)=>{Z(),r.func(t)?F=t:e&&(r.string(t)?A[t]={type:void 0,handler:e}:A[t.method]={type:t,handler:e})},onProgress:(t,e,n)=>{if(E.has(e))throw new Error(`Progress handler for token ${e} already registered`);return E.set(e,n),{dispose:()=>{E.delete(e)}}},sendProgress:(t,e,n)=>{tt.sendNotification(m.type,{token:e,value:n})},onUnhandledProgress:G.event,sendRequest:(t,...n)=>{let i,s;Z(),function(){if(!U())throw new Error("Call listen() first.")}();let l=void 0;if(r.string(t))switch(i=t,n.length){case 0:s=null;break;case 1:c.CancellationToken.is(n[0])?(s=null,l=n[0]):s=J(n[0]);break;default:const t=n.length-1;c.CancellationToken.is(n[t])?(l=n[t],s=2===n.length?J(n[0]):n.slice(0,t).map(t=>J(t))):s=n.map(t=>J(t))}else{i=t.method,s=Q(t,n);let e=t.numberOfParams;l=c.CancellationToken.is(n[e])?n[e]:void 0}let u=a++,m=new Promise((t,n)=>{let r={jsonrpc:_,id:u,method:i,params:s},a={method:i,timerStart:Date.now(),resolve:t,reject:n};!function(t){if(O!==h.Off&&v)if(L===p.Text){let e=void 0;O===h.Verbose&&t.params&&(e=`Params: ${JSON.stringify(t.params,null,4)}\n\n`),v.log(`Sending request '${t.method} - (${t.id})'.`,e)}else Y("send-request",t)}(r);try{e.write(r)}catch(t){a.reject(new o.ResponseError(o.ErrorCodes.MessageWriteError,t.message?t.message:"Unknown reason")),a=null}a&&(S[String(u)]=a)});return l&&l.onCancellationRequested(()=>{tt.sendNotification(d.type,{id:u})}),m},onRequest:(t,e)=>{Z(),r.func(t)?k=t:e&&(r.string(t)?R[t]={type:void 0,handler:e}:R[t.method]={type:t,handler:e})},trace:(t,e,n)=>{let i=!1,o=p.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,o=n.traceFormat||p.Text)),L=o,v=(O=t)===h.Off?void 0:e,!i||q()||V()||tt.sendNotification(f.type,{value:h.toString(t)})},onError:$.event,onClose:D.event,onUnhandledNotification:W.event,onDispose:M.event,dispose:()=>{if(V())return;I=x.Disposed,M.fire(void 0);let n=new Error("Connection got disposed.");Object.keys(S).forEach(t=>{S[t].reject(n)}),S=Object.create(null),C=Object.create(null),N=new u.LinkedMap,r.func(e.dispose)&&e.dispose(),r.func(t.dispose)&&t.dispose()},listen:()=>{Z(),function(){if(U())throw new w(b.AlreadyListening,"Connection is already listening")}(),I=x.Listening,t.listen(X)},inspect:()=>{console.log("inspect")}};return tt.onNotification(g.type,t=>{O!==h.Off&&v&&v.log(t.message,O===h.Verbose?t.verbose:void 0)}),tt.onNotification(m.type,t=>{const e=E.get(t.token);e?e(t.value):G.fire(t)}),tt}e.ConnectionError=w,function(t){t.is=function(t){let e=t;return e&&r.func(e.cancelUndispatched)}}(e.ConnectionStrategy||(e.ConnectionStrategy={})),function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"}(x||(x={})),e.createMessageConnection=function(t,n,i,r){var o;return i||(i=e.NullLogger),T(void 0!==(o=t).listen&&void 0===o.read?t:new a.StreamMessageReader(t),function(t){return void 0!==t.write&&void 0===t.end}(n)?n:new s.StreamMessageWriter(n),i,r)}},function(t,e,n){"use strict";function i(t){return"string"==typeof t||t instanceof String}function r(t){return Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.boolean=function(t){return!0===t||!1===t},e.string=i,e.number=function(t){return"number"==typeof t||t instanceof Number},e.error=function(t){return t instanceof Error},e.func=function(t){return"function"==typeof t},e.array=r,e.stringArray=function(t){return r(t)&&t.every(t=>i(t))}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(5);var r;!function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.serverErrorStart=-32099,t.serverErrorEnd=-32e3,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.RequestCancelled=-32800,t.ContentModified=-32801,t.MessageWriteError=1,t.MessageReadError=2}(r=e.ErrorCodes||(e.ErrorCodes={}));class o extends Error{constructor(t,e,n){super(e),this.code=i.number(t)?t:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,o.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}e.ResponseError=o;class a{constructor(t,e){this._method=t,this._numberOfParams=e}get method(){return this._method}get numberOfParams(){return this._numberOfParams}}e.AbstractMessageType=a;e.RequestType0=class extends a{constructor(t){super(t,0)}};e.RequestType=class extends a{constructor(t){super(t,1)}};e.RequestType1=class extends a{constructor(t){super(t,1)}};e.RequestType2=class extends a{constructor(t){super(t,2)}};e.RequestType3=class extends a{constructor(t){super(t,3)}};e.RequestType4=class extends a{constructor(t){super(t,4)}};e.RequestType5=class extends a{constructor(t){super(t,5)}};e.RequestType6=class extends a{constructor(t){super(t,6)}};e.RequestType7=class extends a{constructor(t){super(t,7)}};e.RequestType8=class extends a{constructor(t){super(t,8)}};e.RequestType9=class extends a{constructor(t){super(t,9)}};e.NotificationType=class extends a{constructor(t){super(t,1),this._=void 0}};e.NotificationType0=class extends a{constructor(t){super(t,0)}};e.NotificationType1=class extends a{constructor(t){super(t,1)}};e.NotificationType2=class extends a{constructor(t){super(t,2)}};e.NotificationType3=class extends a{constructor(t){super(t,3)}};e.NotificationType4=class extends a{constructor(t){super(t,4)}};e.NotificationType5=class extends a{constructor(t){super(t,5)}};e.NotificationType6=class extends a{constructor(t){super(t,6)}};e.NotificationType7=class extends a{constructor(t){super(t,7)}};e.NotificationType8=class extends a{constructor(t){super(t,8)}};e.NotificationType9=class extends a{constructor(t){super(t,9)}},e.isRequestMessage=function(t){let e=t;return e&&i.string(e.method)&&(i.string(e.id)||i.number(e.id))},e.isNotificationMessage=function(t){let e=t;return e&&i.string(e.method)&&void 0===t.id},e.isResponseMessage=function(t){let e=t;return e&&(void 0!==e.result||!!e.error)&&(i.string(e.id)||i.number(e.id)||null===e.id)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(8),r=n(5);let o=8192,a=Buffer.from("\r","ascii")[0],s=Buffer.from("\n","ascii")[0],l="\r\n";class c{constructor(t="utf8"){this.encoding=t,this.index=0,this.buffer=Buffer.allocUnsafe(o)}append(t){var e=t;if("string"==typeof t){var n=t,i=Buffer.byteLength(n,this.encoding);(e=Buffer.allocUnsafe(i)).write(n,0,i,this.encoding)}if(this.buffer.length-this.index>=e.length)e.copy(this.buffer,this.index,0,e.length);else{var r=(Math.ceil((this.index+e.length)/o)+1)*o;0===this.index?(this.buffer=Buffer.allocUnsafe(r),e.copy(this.buffer,0,0,e.length)):this.buffer=Buffer.concat([this.buffer.slice(0,this.index),e],r)}this.index+=e.length}tryReadHeaders(){let t=void 0,e=0;for(;e+3=this.index)return t;t=Object.create(null),this.buffer.toString("ascii",0,e).split(l).forEach(e=>{let n=e.indexOf(":");if(-1===n)throw new Error("Message header must separate key and value using :");let i=e.substr(0,n),r=e.substr(n+1).trim();t[i]=r});let n=e+4;return this.buffer=this.buffer.slice(n),this.index=this.index-n,t}tryReadContent(t){if(this.index{this.onData(t)}),this.readable.on("error",t=>this.fireError(t)),this.readable.on("close",()=>this.fireClose())}onData(t){for(this.buffer.append(t);;){if(-1===this.nextMessageLength){let t=this.buffer.tryReadHeaders();if(!t)return;let e=t["Content-Length"];if(!e)throw new Error("Header must provide a Content-Length property.");let n=parseInt(e);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}var e=this.buffer.tryReadContent(this.nextMessageLength);if(null===e)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.messageToken++;var n=JSON.parse(e);this.callback(n)}}clearPartialMessageTimer(){this.partialMessageTimer&&(clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=setTimeout((t,e)=>{this.partialMessageTimer=void 0,t===this.messageToken&&(this.firePartialMessage({messageToken:t,waitingTime:e}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}e.StreamMessageReader=d;e.IPCMessageReader=class extends u{constructor(t){super(),this.process=t;let e=this.process;e.on("error",t=>this.fireError(t)),e.on("close",()=>this.fireClose())}listen(t){this.process.on("message",t)}};e.SocketMessageReader=class extends d{constructor(t,e="utf-8"){super(t,e)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.create=function(t){return{dispose:t}}}(e.Disposable||(e.Disposable={})),function(t){const e={dispose(){}};t.None=function(){return e}}(e.Event||(e.Event={}));class i{add(t,e=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(t),this._contexts.push(e),Array.isArray(n)&&n.push({dispose:()=>this.remove(t,e)})}remove(t,e=null){if(this._callbacks){for(var n=!1,i=0,r=this._callbacks.length;i{let o;return this._callbacks||(this._callbacks=new i),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,e),o={dispose:()=>{this._callbacks.remove(t,e),o.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)}},Array.isArray(n)&&n.push(o),o}),this._event}fire(t){this._callbacks&&this._callbacks.invoke.call(this._callbacks,t)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}e.Emitter=r,r._noop=function(){}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(8),r=n(5);let o="Content-Length: ",a="\r\n";!function(t){t.is=function(t){let e=t;return e&&r.func(e.dispose)&&r.func(e.onClose)&&r.func(e.onError)&&r.func(e.write)}}(e.MessageWriter||(e.MessageWriter={}));class s{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(t,e,n){this.errorEmitter.fire([this.asError(t),e,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(t){return t instanceof Error?t:new Error(`Writer received error. Reason: ${r.string(t.message)?t.message:"unknown"}`)}}e.AbstractMessageWriter=s;e.StreamMessageWriter=class extends s{constructor(t,e="utf8"){super(),this.writable=t,this.encoding=e,this.errorCount=0,this.writable.on("error",t=>this.fireError(t)),this.writable.on("close",()=>this.fireClose())}write(t){let e=JSON.stringify(t),n=Buffer.byteLength(e,this.encoding),i=[o,n.toString(),a,a];try{this.writable.write(i.join(""),"ascii"),this.writable.write(e,this.encoding),this.errorCount=0}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}}};e.IPCMessageWriter=class extends s{constructor(t){super(),this.process=t,this.errorCount=0,this.queue=[],this.sending=!1;let e=this.process;e.on("error",t=>this.fireError(t)),e.on("close",()=>this.fireClose)}write(t){this.sending||0!==this.queue.length?this.queue.push(t):this.doWriteMessage(t)}doWriteMessage(t){try{this.process.send&&(this.sending=!0,this.process.send(t,void 0,void 0,e=>{this.sending=!1,e?(this.errorCount++,this.fireError(e,t,this.errorCount)):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())}))}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}}};e.SocketMessageWriter=class extends s{constructor(t,e="utf8"){super(),this.socket=t,this.queue=[],this.sending=!1,this.encoding=e,this.errorCount=0,this.socket.on("error",t=>this.fireError(t)),this.socket.on("close",()=>this.fireClose())}dispose(){super.dispose(),this.socket.destroy()}write(t){this.sending||0!==this.queue.length?this.queue.push(t):this.doWriteMessage(t)}doWriteMessage(t){let e=JSON.stringify(t),n=Buffer.byteLength(e,this.encoding),i=[o,n.toString(),a,a];try{this.sending=!0,this.socket.write(i.join(""),"ascii",n=>{n&&this.handleError(n,t);try{this.socket.write(e,this.encoding,e=>{this.sending=!1,e?this.handleError(e,t):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())})}catch(n){this.handleError(n,t)}})}catch(e){this.handleError(e,t)}}handleError(t,e){this.errorCount++,this.fireError(t,e,this.errorCount)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(8),r=n(5);var o;!function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),t.is=function(e){let n=e;return n&&(n===t.None||n===t.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=e.CancellationToken||(e.CancellationToken={}));const a=Object.freeze((function(t,e){let n=setTimeout(t.bind(e),0);return{dispose(){clearTimeout(n)}}}));class s{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}e.CancellationTokenSource=class{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=o.None}}},function(t,e,n){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.None=0,t.First=1,t.Last=2}(i=e.Touch||(e.Touch={}));e.LinkedMap=class{constructor(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}has(t){return this._map.has(t)}get(t){const e=this._map.get(t);if(e)return e.value}set(t,e,n=i.None){let r=this._map.get(t);if(r)r.value=e,n!==i.None&&this.touch(r,n);else{switch(r={key:t,value:e,next:void 0,previous:void 0},n){case i.None:this.addItemLast(r);break;case i.First:this.addItemFirst(r);break;case i.Last:default:this.addItemLast(r)}this._map.set(t,r),this._size++}}delete(t){const e=this._map.get(t);return!!e&&(this._map.delete(t),this.removeItem(e),this._size--,!0)}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,e){let n=this._head;for(;n;)e?t.bind(e)(n.value,n.key,this):t(n.value,n.key,this),n=n.next}forEachReverse(t,e){let n=this._tail;for(;n;)e?t.bind(e)(n.value,n.key,this):t(n.value,n.key,this),n=n.previous}values(){let t=[],e=this._head;for(;e;)t.push(e.value),e=e.next;return t}keys(){let t=[],e=this._head;for(;e;)t.push(e.key),e=e.next;return t}addItemFirst(t){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");t.next=this._head,this._head.previous=t}else this._tail=t;this._head=t}addItemLast(t){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");t.previous=this._tail,this._tail.next=t}else this._head=t;this._tail=t}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head)this._head=t.next;else if(t===this._tail)this._tail=t.previous;else{const e=t.next,n=t.previous;if(!e||!n)throw new Error("Invalid list");e.previous=n,n.next=e}}touch(t,e){if(!this._head||!this._tail)throw new Error("Invalid list");if(e===i.First||e===i.Last)if(e===i.First){if(t===this._head)return;const e=t.next,n=t.previous;t===this._tail?(n.next=void 0,this._tail=n):(e.previous=n,n.next=e),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t}else if(e===i.Last){if(t===this._tail)return;const e=t.next,n=t.previous;t===this._head?(e.previous=void 0,this._head=e):(e.previous=n,n.next=e),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(13),r=n(14),o=n(15),a=n(16),s=n(7),l=n(9);e.generateRandomPipeName=function(){const t=o.randomBytes(21).toString("hex");return"win32"===process.platform?`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`:i.join(r.tmpdir(),`vscode-${t}.sock`)},e.createClientPipeTransport=function(t,e="utf-8"){let n,i=new Promise((t,e)=>{n=t});return new Promise((r,o)=>{let c=a.createServer(t=>{c.close(),n([new s.SocketMessageReader(t,e),new l.SocketMessageWriter(t,e)])});c.on("error",o),c.listen(t,()=>{c.removeListener("error",o),r({onConnected:()=>i})})})},e.createServerPipeTransport=function(t,e="utf-8"){const n=a.createConnection(t);return[new s.SocketMessageReader(n,e),new l.SocketMessageWriter(n,e)]}},function(t,e){t.exports=n(0)},function(t,e){t.exports=n(1)},function(t,e){t.exports=n(2)},function(t,e){t.exports=n(3)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(16),r=n(7),o=n(9);e.createClientSocketTransport=function(t,e="utf-8"){let n,a=new Promise((t,e)=>{n=t});return new Promise((s,l)=>{let c=i.createServer(t=>{c.close(),n([new r.SocketMessageReader(t,e),new o.SocketMessageWriter(t,e)])});c.on("error",l),c.listen(t,"127.0.0.1",()=>{c.removeListener("error",l),s({onConnected:()=>a})})})},e.createServerSocketTransport=function(t,e="utf-8"){const n=i.createConnection(t,"127.0.0.1");return[new r.SocketMessageReader(n,e),new o.SocketMessageWriter(n,e)]}},function(t,e,n){"use strict";var i,r,o,a,s,l,c,u,d,m,h,p,f,g,b,x,w,T,_,y;n.r(e),n.d(e,"Position",(function(){return i})),n.d(e,"Range",(function(){return r})),n.d(e,"Location",(function(){return o})),n.d(e,"LocationLink",(function(){return a})),n.d(e,"Color",(function(){return s})),n.d(e,"ColorInformation",(function(){return l})),n.d(e,"ColorPresentation",(function(){return c})),n.d(e,"FoldingRangeKind",(function(){return u})),n.d(e,"FoldingRange",(function(){return d})),n.d(e,"DiagnosticRelatedInformation",(function(){return m})),n.d(e,"DiagnosticSeverity",(function(){return h})),n.d(e,"DiagnosticTag",(function(){return p})),n.d(e,"Diagnostic",(function(){return f})),n.d(e,"Command",(function(){return g})),n.d(e,"TextEdit",(function(){return b})),n.d(e,"TextDocumentEdit",(function(){return x})),n.d(e,"CreateFile",(function(){return w})),n.d(e,"RenameFile",(function(){return T})),n.d(e,"DeleteFile",(function(){return _})),n.d(e,"WorkspaceEdit",(function(){return y})),n.d(e,"WorkspaceChange",(function(){return Z})),n.d(e,"TextDocumentIdentifier",(function(){return v})),n.d(e,"VersionedTextDocumentIdentifier",(function(){return k})),n.d(e,"TextDocumentItem",(function(){return R})),n.d(e,"MarkupKind",(function(){return F})),n.d(e,"MarkupContent",(function(){return A})),n.d(e,"CompletionItemKind",(function(){return E})),n.d(e,"InsertTextFormat",(function(){return N})),n.d(e,"CompletionItemTag",(function(){return S})),n.d(e,"CompletionItem",(function(){return C})),n.d(e,"CompletionList",(function(){return O})),n.d(e,"MarkedString",(function(){return L})),n.d(e,"Hover",(function(){return I})),n.d(e,"ParameterInformation",(function(){return $})),n.d(e,"SignatureInformation",(function(){return D})),n.d(e,"DocumentHighlightKind",(function(){return W})),n.d(e,"DocumentHighlight",(function(){return G})),n.d(e,"SymbolKind",(function(){return M})),n.d(e,"SymbolTag",(function(){return P})),n.d(e,"SymbolInformation",(function(){return B})),n.d(e,"DocumentSymbol",(function(){return j})),n.d(e,"CodeActionKind",(function(){return U})),n.d(e,"CodeActionContext",(function(){return q})),n.d(e,"CodeAction",(function(){return V})),n.d(e,"CodeLens",(function(){return z})),n.d(e,"FormattingOptions",(function(){return H})),n.d(e,"DocumentLink",(function(){return X})),n.d(e,"SelectionRange",(function(){return K})),n.d(e,"EOL",(function(){return Q})),n.d(e,"TextDocument",(function(){return J})),function(t){t.create=function(t,e){return{line:t,character:e}},t.is=function(t){var e=t;return tt.objectLiteral(e)&&tt.number(e.line)&&tt.number(e.character)}}(i||(i={})),function(t){t.create=function(t,e,n,r){if(tt.number(t)&&tt.number(e)&&tt.number(n)&&tt.number(r))return{start:i.create(t,e),end:i.create(n,r)};if(i.is(t)&&i.is(e))return{start:t,end:e};throw new Error("Range#create called with invalid arguments["+t+", "+e+", "+n+", "+r+"]")},t.is=function(t){var e=t;return tt.objectLiteral(e)&&i.is(e.start)&&i.is(e.end)}}(r||(r={})),function(t){t.create=function(t,e){return{uri:t,range:e}},t.is=function(t){var e=t;return tt.defined(e)&&r.is(e.range)&&(tt.string(e.uri)||tt.undefined(e.uri))}}(o||(o={})),function(t){t.create=function(t,e,n,i){return{targetUri:t,targetRange:e,targetSelectionRange:n,originSelectionRange:i}},t.is=function(t){var e=t;return tt.defined(e)&&r.is(e.targetRange)&&tt.string(e.targetUri)&&(r.is(e.targetSelectionRange)||tt.undefined(e.targetSelectionRange))&&(r.is(e.originSelectionRange)||tt.undefined(e.originSelectionRange))}}(a||(a={})),function(t){t.create=function(t,e,n,i){return{red:t,green:e,blue:n,alpha:i}},t.is=function(t){var e=t;return tt.number(e.red)&&tt.number(e.green)&&tt.number(e.blue)&&tt.number(e.alpha)}}(s||(s={})),function(t){t.create=function(t,e){return{range:t,color:e}},t.is=function(t){var e=t;return r.is(e.range)&&s.is(e.color)}}(l||(l={})),function(t){t.create=function(t,e,n){return{label:t,textEdit:e,additionalTextEdits:n}},t.is=function(t){var e=t;return tt.string(e.label)&&(tt.undefined(e.textEdit)||b.is(e))&&(tt.undefined(e.additionalTextEdits)||tt.typedArray(e.additionalTextEdits,b.is))}}(c||(c={})),function(t){t.Comment="comment",t.Imports="imports",t.Region="region"}(u||(u={})),function(t){t.create=function(t,e,n,i,r){var o={startLine:t,endLine:e};return tt.defined(n)&&(o.startCharacter=n),tt.defined(i)&&(o.endCharacter=i),tt.defined(r)&&(o.kind=r),o},t.is=function(t){var e=t;return tt.number(e.startLine)&&tt.number(e.startLine)&&(tt.undefined(e.startCharacter)||tt.number(e.startCharacter))&&(tt.undefined(e.endCharacter)||tt.number(e.endCharacter))&&(tt.undefined(e.kind)||tt.string(e.kind))}}(d||(d={})),function(t){t.create=function(t,e){return{location:t,message:e}},t.is=function(t){var e=t;return tt.defined(e)&&o.is(e.location)&&tt.string(e.message)}}(m||(m={})),function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4}(h||(h={})),function(t){t.Unnecessary=1,t.Deprecated=2}(p||(p={})),function(t){t.create=function(t,e,n,i,r,o){var a={range:t,message:e};return tt.defined(n)&&(a.severity=n),tt.defined(i)&&(a.code=i),tt.defined(r)&&(a.source=r),tt.defined(o)&&(a.relatedInformation=o),a},t.is=function(t){var e=t;return tt.defined(e)&&r.is(e.range)&&tt.string(e.message)&&(tt.number(e.severity)||tt.undefined(e.severity))&&(tt.number(e.code)||tt.string(e.code)||tt.undefined(e.code))&&(tt.string(e.source)||tt.undefined(e.source))&&(tt.undefined(e.relatedInformation)||tt.typedArray(e.relatedInformation,m.is))}}(f||(f={})),function(t){t.create=function(t,e){for(var n=[],i=2;i0&&(r.arguments=n),r},t.is=function(t){var e=t;return tt.defined(e)&&tt.string(e.title)&&tt.string(e.command)}}(g||(g={})),function(t){t.replace=function(t,e){return{range:t,newText:e}},t.insert=function(t,e){return{range:{start:t,end:t},newText:e}},t.del=function(t){return{range:t,newText:""}},t.is=function(t){var e=t;return tt.objectLiteral(e)&&tt.string(e.newText)&&r.is(e.range)}}(b||(b={})),function(t){t.create=function(t,e){return{textDocument:t,edits:e}},t.is=function(t){var e=t;return tt.defined(e)&&k.is(e.textDocument)&&Array.isArray(e.edits)}}(x||(x={})),function(t){t.create=function(t,e){var n={kind:"create",uri:t};return void 0===e||void 0===e.overwrite&&void 0===e.ignoreIfExists||(n.options=e),n},t.is=function(t){var e=t;return e&&"create"===e.kind&&tt.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||tt.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||tt.boolean(e.options.ignoreIfExists)))}}(w||(w={})),function(t){t.create=function(t,e,n){var i={kind:"rename",oldUri:t,newUri:e};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),i},t.is=function(t){var e=t;return e&&"rename"===e.kind&&tt.string(e.oldUri)&&tt.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||tt.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||tt.boolean(e.options.ignoreIfExists)))}}(T||(T={})),function(t){t.create=function(t,e){var n={kind:"delete",uri:t};return void 0===e||void 0===e.recursive&&void 0===e.ignoreIfNotExists||(n.options=e),n},t.is=function(t){var e=t;return e&&"delete"===e.kind&&tt.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||tt.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||tt.boolean(e.options.ignoreIfNotExists)))}}(_||(_={})),function(t){t.is=function(t){var e=t;return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every((function(t){return tt.string(t.kind)?w.is(t)||T.is(t)||_.is(t):x.is(t)})))}}(y||(y={}));var v,k,R,F,A,E,N,S,C,O,L,I,$,D,W,G,M,P,B,j,U,q,V,z,H,X,K,Y=function(){function t(t){this.edits=t}return t.prototype.insert=function(t,e){this.edits.push(b.insert(t,e))},t.prototype.replace=function(t,e){this.edits.push(b.replace(t,e))},t.prototype.delete=function(t){this.edits.push(b.del(t))},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t}(),Z=function(){function t(t){var e=this;this._textEditChanges=Object.create(null),t&&(this._workspaceEdit=t,t.documentChanges?t.documentChanges.forEach((function(t){if(x.is(t)){var n=new Y(t.edits);e._textEditChanges[t.textDocument.uri]=n}})):t.changes&&Object.keys(t.changes).forEach((function(n){var i=new Y(t.changes[n]);e._textEditChanges[n]=i})))}return Object.defineProperty(t.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),t.prototype.getTextEditChange=function(t){if(k.is(t)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e=t;if(!(i=this._textEditChanges[e.uri])){var n={textDocument:e,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new Y(r),this._textEditChanges[e.uri]=i}return i}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[t])){var r=[];this._workspaceEdit.changes[t]=r,i=new Y(r),this._textEditChanges[t]=i}return i},t.prototype.createFile=function(t,e){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(w.create(t,e))},t.prototype.renameFile=function(t,e,n){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(T.create(t,e,n))},t.prototype.deleteFile=function(t,e){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(_.create(t,e))},t.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")},t}();!function(t){t.create=function(t){return{uri:t}},t.is=function(t){var e=t;return tt.defined(e)&&tt.string(e.uri)}}(v||(v={})),function(t){t.create=function(t,e){return{uri:t,version:e}},t.is=function(t){var e=t;return tt.defined(e)&&tt.string(e.uri)&&(null===e.version||tt.number(e.version))}}(k||(k={})),function(t){t.create=function(t,e,n,i){return{uri:t,languageId:e,version:n,text:i}},t.is=function(t){var e=t;return tt.defined(e)&&tt.string(e.uri)&&tt.string(e.languageId)&&tt.number(e.version)&&tt.string(e.text)}}(R||(R={})),function(t){t.PlainText="plaintext",t.Markdown="markdown"}(F||(F={})),function(t){t.is=function(e){var n=e;return n===t.PlainText||n===t.Markdown}}(F||(F={})),function(t){t.is=function(t){var e=t;return tt.objectLiteral(t)&&F.is(e.kind)&&tt.string(e.value)}}(A||(A={})),function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25}(E||(E={})),function(t){t.PlainText=1,t.Snippet=2}(N||(N={})),function(t){t.Deprecated=1}(S||(S={})),function(t){t.create=function(t){return{label:t}}}(C||(C={})),function(t){t.create=function(t,e){return{items:t||[],isIncomplete:!!e}}}(O||(O={})),function(t){t.fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},t.is=function(t){var e=t;return tt.string(e)||tt.objectLiteral(e)&&tt.string(e.language)&&tt.string(e.value)}}(L||(L={})),function(t){t.is=function(t){var e=t;return!!e&&tt.objectLiteral(e)&&(A.is(e.contents)||L.is(e.contents)||tt.typedArray(e.contents,L.is))&&(void 0===t.range||r.is(t.range))}}(I||(I={})),function(t){t.create=function(t,e){return e?{label:t,documentation:e}:{label:t}}}($||($={})),function(t){t.create=function(t,e){for(var n=[],i=2;i=0;o--){var a=i[o],s=t.offsetAt(a.range.start),l=t.offsetAt(a.range.end);if(!(l<=r))throw new Error("Overlapping edit");n=n.substring(0,s)+a.newText+n.substring(l,n.length),r=s}return n}}(J||(J={}));var tt,et=function(){function t(t,e,n,i){this._uri=t,this._languageId=e,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),t.prototype.getText=function(t){if(t){var e=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(e,n)}return this._content},t.prototype.update=function(t,e){this._content=t.text,this._version=e,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],e=this._content,n=!0,i=0;i0&&t.push(e.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var e=this.getLineOffsets(),n=0,r=e.length;if(0===r)return i.create(0,t);for(;nt?r=o:n=o+1}var a=n-1;return i.create(a,t-e[a])},t.prototype.offsetAt=function(t){var e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;var n=e[t.line],i=t.line+10}}(e.StaticRegistrationOptions||(e.StaticRegistrationOptions={})),function(t){t.is=function(t){const e=t;return e&&(null===e.documentSelector||g.is(e.documentSelector))}}(e.TextDocumentRegistrationOptions||(e.TextDocumentRegistrationOptions={})),function(t){t.is=function(t){const e=t;return i.objectLiteral(e)&&(void 0===e.workDoneProgress||i.boolean(e.workDoneProgress))},t.hasWorkDoneProgress=function(t){const e=t;return e&&i.boolean(e.workDoneProgress)}}(e.WorkDoneProgressOptions||(e.WorkDoneProgressOptions={})),function(t){t.type=new o.ProtocolRequestType("initialize")}(e.InitializeRequest||(e.InitializeRequest={})),function(t){t.unknownProtocolVersion=1}(e.InitializeError||(e.InitializeError={})),function(t){t.type=new o.ProtocolNotificationType("initialized")}(e.InitializedNotification||(e.InitializedNotification={})),function(t){t.type=new o.ProtocolRequestType0("shutdown")}(e.ShutdownRequest||(e.ShutdownRequest={})),function(t){t.type=new o.ProtocolNotificationType0("exit")}(e.ExitNotification||(e.ExitNotification={})),function(t){t.type=new o.ProtocolNotificationType("workspace/didChangeConfiguration")}(e.DidChangeConfigurationNotification||(e.DidChangeConfigurationNotification={})),function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4}(e.MessageType||(e.MessageType={})),function(t){t.type=new o.ProtocolNotificationType("window/showMessage")}(e.ShowMessageNotification||(e.ShowMessageNotification={})),function(t){t.type=new o.ProtocolRequestType("window/showMessageRequest")}(e.ShowMessageRequest||(e.ShowMessageRequest={})),function(t){t.type=new o.ProtocolNotificationType("window/logMessage")}(e.LogMessageNotification||(e.LogMessageNotification={})),function(t){t.type=new o.ProtocolNotificationType("telemetry/event")}(e.TelemetryEventNotification||(e.TelemetryEventNotification={})),function(t){t.None=0,t.Full=1,t.Incremental=2}(e.TextDocumentSyncKind||(e.TextDocumentSyncKind={})),function(t){t.method="textDocument/didOpen",t.type=new o.ProtocolNotificationType(t.method)}(e.DidOpenTextDocumentNotification||(e.DidOpenTextDocumentNotification={})),function(t){t.method="textDocument/didChange",t.type=new o.ProtocolNotificationType(t.method)}(e.DidChangeTextDocumentNotification||(e.DidChangeTextDocumentNotification={})),function(t){t.method="textDocument/didClose",t.type=new o.ProtocolNotificationType(t.method)}(e.DidCloseTextDocumentNotification||(e.DidCloseTextDocumentNotification={})),function(t){t.method="textDocument/didSave",t.type=new o.ProtocolNotificationType(t.method)}(e.DidSaveTextDocumentNotification||(e.DidSaveTextDocumentNotification={})),function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3}(e.TextDocumentSaveReason||(e.TextDocumentSaveReason={})),function(t){t.method="textDocument/willSave",t.type=new o.ProtocolNotificationType(t.method)}(e.WillSaveTextDocumentNotification||(e.WillSaveTextDocumentNotification={})),function(t){t.method="textDocument/willSaveWaitUntil",t.type=new o.ProtocolRequestType(t.method)}(e.WillSaveTextDocumentWaitUntilRequest||(e.WillSaveTextDocumentWaitUntilRequest={})),function(t){t.type=new o.ProtocolNotificationType("workspace/didChangeWatchedFiles")}(e.DidChangeWatchedFilesNotification||(e.DidChangeWatchedFilesNotification={})),function(t){t.Created=1,t.Changed=2,t.Deleted=3}(e.FileChangeType||(e.FileChangeType={})),function(t){t.Create=1,t.Change=2,t.Delete=4}(e.WatchKind||(e.WatchKind={})),function(t){t.type=new o.ProtocolNotificationType("textDocument/publishDiagnostics")}(e.PublishDiagnosticsNotification||(e.PublishDiagnosticsNotification={})),function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3}(e.CompletionTriggerKind||(e.CompletionTriggerKind={})),function(t){t.method="textDocument/completion",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.CompletionRequest||(e.CompletionRequest={})),function(t){t.method="completionItem/resolve",t.type=new o.ProtocolRequestType(t.method)}(e.CompletionResolveRequest||(e.CompletionResolveRequest={})),function(t){t.method="textDocument/hover",t.type=new o.ProtocolRequestType(t.method)}(e.HoverRequest||(e.HoverRequest={})),function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3}(e.SignatureHelpTriggerKind||(e.SignatureHelpTriggerKind={})),function(t){t.method="textDocument/signatureHelp",t.type=new o.ProtocolRequestType(t.method)}(e.SignatureHelpRequest||(e.SignatureHelpRequest={})),function(t){t.method="textDocument/definition",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.DefinitionRequest||(e.DefinitionRequest={})),function(t){t.method="textDocument/references",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.ReferencesRequest||(e.ReferencesRequest={})),function(t){t.method="textDocument/documentHighlight",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.DocumentHighlightRequest||(e.DocumentHighlightRequest={})),function(t){t.method="textDocument/documentSymbol",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.DocumentSymbolRequest||(e.DocumentSymbolRequest={})),function(t){t.method="textDocument/codeAction",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.CodeActionRequest||(e.CodeActionRequest={})),function(t){t.method="workspace/symbol",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.WorkspaceSymbolRequest||(e.WorkspaceSymbolRequest={})),function(t){t.type=new o.ProtocolRequestType("textDocument/codeLens"),t.resultType=new r.ProgressType}(e.CodeLensRequest||(e.CodeLensRequest={})),function(t){t.type=new o.ProtocolRequestType("codeLens/resolve")}(e.CodeLensResolveRequest||(e.CodeLensResolveRequest={})),function(t){t.method="textDocument/documentLink",t.type=new o.ProtocolRequestType(t.method),t.resultType=new r.ProgressType}(e.DocumentLinkRequest||(e.DocumentLinkRequest={})),function(t){t.type=new o.ProtocolRequestType("documentLink/resolve")}(e.DocumentLinkResolveRequest||(e.DocumentLinkResolveRequest={})),function(t){t.method="textDocument/formatting",t.type=new o.ProtocolRequestType(t.method)}(e.DocumentFormattingRequest||(e.DocumentFormattingRequest={})),function(t){t.method="textDocument/rangeFormatting",t.type=new o.ProtocolRequestType(t.method)}(e.DocumentRangeFormattingRequest||(e.DocumentRangeFormattingRequest={})),function(t){t.method="textDocument/onTypeFormatting",t.type=new o.ProtocolRequestType(t.method)}(e.DocumentOnTypeFormattingRequest||(e.DocumentOnTypeFormattingRequest={})),function(t){t.method="textDocument/rename",t.type=new o.ProtocolRequestType(t.method)}(e.RenameRequest||(e.RenameRequest={})),function(t){t.method="textDocument/prepareRename",t.type=new o.ProtocolRequestType(t.method)}(e.PrepareRenameRequest||(e.PrepareRenameRequest={})),function(t){t.type=new o.ProtocolRequestType("workspace/executeCommand")}(e.ExecuteCommandRequest||(e.ExecuteCommandRequest={})),function(t){t.type=new o.ProtocolRequestType("workspace/applyEdit")}(e.ApplyWorkspaceEditRequest||(e.ApplyWorkspaceEditRequest={}))},function(t,e,n){"use strict";function i(t){return"string"==typeof t||t instanceof String}function r(t){return Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.boolean=function(t){return!0===t||!1===t},e.string=i,e.number=function(t){return"number"==typeof t||t instanceof Number},e.error=function(t){return t instanceof Error},e.func=function(t){return"function"==typeof t},e.array=r,e.stringArray=function(t){return r(t)&&t.every(t=>i(t))},e.typedArray=function(t,e){return Array.isArray(t)&&t.every(e)},e.objectLiteral=function(t){return null!==t&&"object"==typeof t}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4);class r extends i.RequestType0{constructor(t){super(t)}}e.ProtocolRequestType0=r;class o extends i.RequestType{constructor(t){super(t)}}e.ProtocolRequestType=o;class a extends i.NotificationType{constructor(t){super(t)}}e.ProtocolNotificationType=a;class s extends i.NotificationType0{constructor(t){super(t)}}e.ProtocolNotificationType0=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4),r=n(21);!function(t){t.method="textDocument/implementation",t.type=new r.ProtocolRequestType(t.method),t.resultType=new i.ProgressType}(e.ImplementationRequest||(e.ImplementationRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4),r=n(21);!function(t){t.method="textDocument/typeDefinition",t.type=new r.ProtocolRequestType(t.method),t.resultType=new i.ProgressType}(e.TypeDefinitionRequest||(e.TypeDefinitionRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(21);!function(t){t.type=new i.ProtocolRequestType0("workspace/workspaceFolders")}(e.WorkspaceFoldersRequest||(e.WorkspaceFoldersRequest={})),function(t){t.type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")}(e.DidChangeWorkspaceFoldersNotification||(e.DidChangeWorkspaceFoldersNotification={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(21);!function(t){t.type=new i.ProtocolRequestType("workspace/configuration")}(e.ConfigurationRequest||(e.ConfigurationRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4),r=n(21);!function(t){t.method="textDocument/documentColor",t.type=new r.ProtocolRequestType(t.method),t.resultType=new i.ProgressType}(e.DocumentColorRequest||(e.DocumentColorRequest={})),function(t){t.type=new r.ProtocolRequestType("textDocument/colorPresentation")}(e.ColorPresentationRequest||(e.ColorPresentationRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4),r=n(21);!function(t){t.Comment="comment",t.Imports="imports",t.Region="region"}(e.FoldingRangeKind||(e.FoldingRangeKind={})),function(t){t.method="textDocument/foldingRange",t.type=new r.ProtocolRequestType(t.method),t.resultType=new i.ProgressType}(e.FoldingRangeRequest||(e.FoldingRangeRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4),r=n(21);!function(t){t.method="textDocument/declaration",t.type=new r.ProtocolRequestType(t.method),t.resultType=new i.ProgressType}(e.DeclarationRequest||(e.DeclarationRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4),r=n(21);!function(t){t.method="textDocument/selectionRange",t.type=new r.ProtocolRequestType(t.method),t.resultType=new i.ProgressType}(e.SelectionRangeRequest||(e.SelectionRangeRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(4),r=n(21);!function(t){t.type=new i.ProgressType}(e.WorkDoneProgress||(e.WorkDoneProgress={})),function(t){t.type=new r.ProtocolRequestType("window/workDoneProgress/create")}(e.WorkDoneProgressCreateRequest||(e.WorkDoneProgressCreateRequest={})),function(t){t.type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")}(e.WorkDoneProgressCancelNotification||(e.WorkDoneProgressCancelNotification={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(21);!function(t){t.method="textDocument/prepareCallHierarchy",t.type=new i.ProtocolRequestType(t.method)}(e.CallHierarchyPrepareRequest||(e.CallHierarchyPrepareRequest={})),function(t){t.method="callHierarchy/incomingCalls",t.type=new i.ProtocolRequestType(t.method)}(e.CallHierarchyIncomingCallsRequest||(e.CallHierarchyIncomingCallsRequest={})),function(t){t.method="callHierarchy/outgoingCalls",t.type=new i.ProtocolRequestType(t.method)}(e.CallHierarchyOutgoingCallsRequest||(e.CallHierarchyOutgoingCallsRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(21);!function(t){t.comment="comment",t.keyword="keyword",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.namespace="namespace",t.type="type",t.struct="struct",t.class="class",t.interface="interface",t.enum="enum",t.typeParameter="typeParameter",t.function="function",t.member="member",t.property="property",t.macro="macro",t.variable="variable",t.parameter="parameter",t.label="label"}(e.SemanticTokenTypes||(e.SemanticTokenTypes={})),function(t){t.documentation="documentation",t.declaration="declaration",t.definition="definition",t.reference="reference",t.static="static",t.abstract="abstract",t.deprecated="deprecated",t.async="async",t.volatile="volatile",t.readonly="readonly"}(e.SemanticTokenModifiers||(e.SemanticTokenModifiers={})),function(t){t.is=function(t){const e=t;return void 0!==e&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}}(e.SemanticTokens||(e.SemanticTokens={})),function(t){t.method="textDocument/semanticTokens",t.type=new i.ProtocolRequestType(t.method)}(e.SemanticTokensRequest||(e.SemanticTokensRequest={})),function(t){t.method="textDocument/semanticTokens/edits",t.type=new i.ProtocolRequestType(t.method)}(e.SemanticTokensEditsRequest||(e.SemanticTokensEditsRequest={})),function(t){t.method="textDocument/semanticTokens/range",t.type=new i.ProtocolRequestType(t.method)}(e.SemanticTokensRangeRequest||(e.SemanticTokensRangeRequest={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(3),r=n(34);e.ConfigurationFeature=t=>(class extends t{getConfiguration(t){return t?r.string(t)?this._getConfiguration({section:t}):this._getConfiguration(t):this._getConfiguration({})}_getConfiguration(t){let e={items:Array.isArray(t)?t:[t]};return this.connection.sendRequest(i.ConfigurationRequest.type,e).then(e=>Array.isArray(t)?e:e[0])}})},function(t,e,n){"use strict";function i(t){return"string"==typeof t||t instanceof String}function r(t){return"function"==typeof t}function o(t){return Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.boolean=function(t){return!0===t||!1===t},e.string=i,e.number=function(t){return"number"==typeof t||t instanceof Number},e.error=function(t){return t instanceof Error},e.func=r,e.array=o,e.stringArray=function(t){return o(t)&&t.every(t=>i(t))},e.typedArray=function(t,e){return Array.isArray(t)&&t.every(e)},e.thenable=function(t){return t&&r(t.then)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(3);e.WorkspaceFoldersFeature=t=>(class extends t{initialize(t){let e=t.workspace;e&&e.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,t=>{this._onDidChangeWorkspaceFolders.fire(t.event)}))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(3),r=n(37);class o{constructor(t,e){this._connection=t,this._token=e,o.Instances.set(this._token,this),this._source=new i.CancellationTokenSource}get token(){return this._source.token}begin(t,e,n,r){let o={kind:"begin",title:t,percentage:e,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,o)}report(t,e){let n={kind:"report"};"number"==typeof t?(n.percentage=t,void 0!==e&&(n.message=e)):n.message=t,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){o.Instances.delete(this._token),this._source.dispose(),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}cancel(){this._source.cancel()}}o.Instances=new Map;class a{constructor(){this._source=new i.CancellationTokenSource}get token(){return this._source.token}begin(){}report(){}done(){}}var s;e.attachWorkDone=function(t,e){if(void 0===e||void 0===e.workDoneToken)return new a;const n=e.workDoneToken;return delete e.workDoneToken,new o(t,n)},e.ProgressFeature=t=>(class extends t{initialize(t){var e;!0===(null===(e=null==t?void 0:t.window)||void 0===e?void 0:e.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,t=>{let e=o.Instances.get(t.token);void 0!==e&&e.cancel()}))}attachWorkDoneProgress(t){return void 0===t?new a:new o(this.connection,t)}createWorkDoneProgress(){if(this._progressSupported){const t=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:t}).then(()=>{return new o(this.connection,t)})}return Promise.resolve(new a)}}),function(t){t.type=new i.ProgressType}(s||(s={}));class l{constructor(t,e){this._connection=t,this._token=e}report(t){this._connection.sendProgress(s.type,this._token,t)}}e.attachPartialResult=function(t,e){if(void 0===e||void 0===e.partialResultToken)return;const n=e.partialResultToken;return delete e.partialResultToken,new l(t,n)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});class i{constructor(t){this._value=t}asHex(){return this._value}equals(t){return this.asHex()===t.asHex()}}class r extends i{constructor(){super([r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),"-",r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),"-","4",r._randomHex(),r._randomHex(),r._randomHex(),"-",r._oneOf(r._timeHighBits),r._randomHex(),r._randomHex(),r._randomHex(),"-",r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex(),r._randomHex()].join(""))}static _oneOf(t){return t[Math.floor(t.length*Math.random())]}static _randomHex(){return r._oneOf(r._chars)}}function o(){return new r}r._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],r._timeHighBits=["8","9","a","b"],e.empty=new i("00000000-0000-0000-0000-000000000000"),e.v4=o;const a=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function s(t){return a.test(t)}e.isUUID=s,e.parse=function(t){if(!s(t))throw new Error("invalid uuid");return new i(t)},e.generateUuid=function(){return o().asHex()}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(39),r=n(13),o=n(40),a=n(41);function s(){return"win32"===process.platform}function l(t,e,n,i){const s=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise((l,c)=>{let u=process.env,d=Object.create(null);Object.keys(u).forEach(t=>d[t]=u[t]),e&&o.existsSync(e)&&(d.NODE_PATH?d.NODE_PATH=e+r.delimiter+d.NODE_PATH:d.NODE_PATH=e,i&&i(`NODE_PATH value is: ${d.NODE_PATH}`)),d.ELECTRON_RUN_AS_NODE="1";try{let e=a.fork("",[],{cwd:n,env:d,execArgv:["-e",s]});if(void 0===e.pid)return void c(new Error(`Starting process to resolve node module ${t} failed`));e.on("error",t=>{c(t)}),e.on("message",n=>{"r"===n.c&&(e.send({c:"e"}),n.s?l(n.r):c(new Error(`Failed to resolve module: ${t}`)))});let i={c:"rs",a:t};e.send(i)}catch(t){c(t)}})}function c(t){let e="npm";const n=Object.create(null);Object.keys(process.env).forEach(t=>n[t]=process.env[t]),n.NO_UPDATE_NOTIFIER="true";const i={encoding:"utf8",env:n};s()&&(e="npm.cmd",i.shell=!0);let o=()=>{};try{process.on("SIGPIPE",o);let n=a.spawnSync(e,["config","get","prefix"],i).stdout;if(!n)return void(t&&t("'npm config get prefix' didn't return a value."));let l=n.trim();return t&&t(`'npm config get prefix' value is: ${l}`),l.length>0?s()?r.join(l,"node_modules"):r.join(l,"lib","node_modules"):void 0}catch(t){return}finally{process.removeListener("SIGPIPE",o)}}var u;e.uriToFilePath=function(t){let e=i.parse(t);if("file:"!==e.protocol||!e.path)return;let n=e.path.split("/");for(var o=0,a=n.length;o1){let t=n[0],e=n[1];0===t.length&&e.length>1&&":"===e[1]&&n.shift()}return r.normalize(n.join("/"))},e.resolve=l,e.resolveGlobalNodePath=c,e.resolveGlobalYarnPath=function(t){let e="yarn",n={encoding:"utf8"};s()&&(e="yarn.cmd",n.shell=!0);let i=()=>{};try{process.on("SIGPIPE",i);let o=a.spawnSync(e,["global","dir","--json"],n),s=o.stdout;if(!s)return void(t&&(t("'yarn global dir' didn't return a value."),o.stderr&&t(o.stderr)));let l=s.trim().split(/\r?\n/);for(let t of l)try{let e=JSON.parse(t);if("log"===e.type)return r.join(e.data,"node_modules")}catch(t){}return}catch(t){return}finally{process.removeListener("SIGPIPE",i)}},function(t){let e=void 0;function n(){return void 0!==e?e:e="win32"!==process.platform&&(!o.existsSync(__filename.toUpperCase())||!o.existsSync(__filename.toLowerCase()))}t.isCaseSensitive=n,t.isParent=function(t,e){return n()?0===r.normalize(e).indexOf(r.normalize(t)):0===r.normalize(e).toLowerCase().indexOf(r.normalize(t).toLowerCase())}}(u=e.FileSystem||(e.FileSystem={})),e.resolveModulePath=function(t,e,n,i){return n?(r.isAbsolute(n)||(n=r.join(t,n)),l(e,n,n,i).then(t=>u.isParent(n,t)?t:Promise.reject(new Error(`Failed to load ${e} from node path location.`))).then(void 0,n=>l(e,c(i),t,i))):l(e,c(i),t,i)}},function(t,e){t.exports=n(4)},function(t,e){t.exports=n(5)},function(t,e){t.exports=n(6)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(3);e.CallHierarchyFeature=t=>(class extends t{get callHierarchy(){return{onPrepare:t=>{this.connection.onRequest(i.Proposed.CallHierarchyPrepareRequest.type,(e,n)=>t(e,n,this.attachWorkDoneProgress(e),void 0))},onIncomingCalls:t=>{const e=i.Proposed.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(e,(n,i)=>t(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(e,n)))},onOutgoingCalls:t=>{const e=i.Proposed.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(e,(n,i)=>t(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(e,n)))}}}})},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(3);e.SemanticTokensFeature=t=>(class extends t{get semanticTokens(){return{on:t=>{const e=i.Proposed.SemanticTokensRequest.type;this.connection.onRequest(e,(n,i)=>t(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(e,n)))},onEdits:t=>{const e=i.Proposed.SemanticTokensEditsRequest.type;this.connection.onRequest(e,(n,i)=>t(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(e,n)))},onRange:t=>{const e=i.Proposed.SemanticTokensRangeRequest.type;this.connection.onRequest(e,(n,i)=>t(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(e,n)))}}}});e.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(t,e,n,i,r){let o=t,a=e;this._dataLen>0&&0===(o-=this._prevLine)&&(a-=this._prevChar),this._data[this._dataLen++]=o,this._data[this._dataLen++]=a,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=t,this._prevChar=e}get id(){return this._id.toString()}previousResult(t){this.id===t&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const t=this._prevData.length,e=this._data.length;let n=0;for(;n=p}))}return[]}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){for(var n=0,i=0,r=0;i0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]r.length&&(r=h),o.label=3;case 3:return a++,[3,1];case 4:return r.length?[2,r]:[2,n]}}))}))},e.markupSnippets=function(t){return["```vim",t.replace(/\$\{[0-9]+(:([^}]+))?\}/g,"$2"),"```"].join("\n")},e.getWordFromPosition=function(t,e){if(t){var n=t.getText(m.Range.create(m.Position.create(e.line,e.character),m.Position.create(e.line,e.character+1)));if(n&&p.keywordPattern.test(n)){var i=t.getText(m.Range.create(m.Position.create(e.line,0),m.Position.create(e.line+1,0)));if(!p.commentPattern.test(i)){var r=i.slice(0,e.character),o=i.slice(e.character),a=r.match(p.wordPrePattern),s=o.match(p.wordNextPattern),l=""+(a&&a[1]||"")+(s&&s[1]||"");return{word:l,left:a&&a[1]||"",right:s&&s[1]||"",wordLeft:a&&a[1]?r.replace(new RegExp(a[1]+"$"),l):""+r+l,wordRight:s&&s[1]?o.replace(new RegExp("^"+s[1]),l):""+l+o}}}}},e.handleParse=function(t){return r(this,void 0,void 0,(function(){var e,n;return o(this,(function(i){e=t instanceof Object?t.getText():t,n=new h.StringReader(e.split(/\r\n|\r|\n/));try{return[2,[new h.VimLParser(!0).parse(n),""]]}catch(t){return[2,[null,t]]}return[2]}))}))},e.removeSnippets=function(t){return void 0===t&&(t=[]),t.map((function(t){return t.insertTextFormat===m.InsertTextFormat.Snippet?i(i({},t),{insertText:t.label,insertTextFormat:m.InsertTextFormat.PlainText}):t}))},e.isSymbolLink=function(t){return r(void 0,void 0,void 0,(function(){return o(this,(function(e){return[2,new Promise((function(e){u.default.lstat(t,(function(t,n){e({err:t,stats:n&&n.isSymbolicLink()})}))}))]}))}))},e.getRealPath=function(t){return r(void 0,void 0,void 0,(function(){var n,i,r;return o(this,(function(o){switch(o.label){case 0:return[4,e.isSymbolLink(t)];case 1:return n=o.sent(),i=n.err,r=n.stats,!i&&r?[2,new Promise((function(e){u.default.realpath(t,(function(n,i){if(n)return e(t);e(i)}))}))]:[2,t]}}))}))}},function(t,e,n){var i=n(40),r=n(13),o=n(49),a=(n(50),n(52).EventEmitter),s=i.exists?i.exists:r.exists,l=i.existsSync?i.existsSync:r.existsSync;function c(t,e,n,i){if(!(this instanceof c))return new c(t,e,n,i);"function"==typeof n&&(i=n,n={}),n=n||{},a.call(this),this.found=!1,this.stopPlease=!1;var o=this;if("string"==typeof e){var l=e;e=function(t,e){return s(r.join(t,l),e)}}i&&(this.on("found",(function(t){n.verbose&&console.log(("found "+t).green),i(null,t),o.stop()})),this.on("end",(function(){n.verbose&&console.log("end".grey),o.found||i(new Error("not found"))})),this.on("error",(function(t){n.verbose&&console.log("error".red,t),i(t)}))),this._find(t,e,n,i)}t.exports=function(t,e,n,i){return c(t,e,n,i)},o.inherits(c,a),c.prototype._find=function(t,e,n,i){var o=this;e(t,(function(a){n.verbose&&console.log(("traverse "+t).grey),a&&(o.found=!0,o.emit("found",t));var s=r.join(t,"..");return o.stopPlease?o.emit("end"):t===s?o.emit("end"):-1!==t.indexOf("../../")?o.emit("error",new Error(t+" is not correct.")):void o._find(s,e,n,i)}))},c.prototype.stop=function(){this.stopPlease=!0},t.exports.FindUp=c,t.exports.sync=function(t,e){if("string"==typeof e){var n=e;e=function(t){return l(r.join(t,n))}}for(var i=t;t!==r.join(t,"..");){if(-1!==t.indexOf("../../"))throw new Error(i+" is not correct.");if(e(t))return t;t=r.join(t,"..")}throw new Error("not found")}},function(t,e){t.exports=n(7)},function(t,e,n){var i=!1;if(void 0!==t&&(i=!0),i)e.mode="console";else{t={},e={};e.mode="browser"}var r=function(t,n){e[t]=function(t){return n.apply(t)},String.prototype.__defineGetter__(t,n)};function o(t,n){var i;if("console"===e.mode)i={bold:["",""],italic:["",""],underline:["",""],inverse:["",""],strikethrough:["",""],white:["",""],grey:["",""],black:["",""],blue:["",""],cyan:["",""],green:["",""],magenta:["",""],red:["",""],yellow:["",""],whiteBG:["",""],greyBG:["",""],blackBG:["",""],blueBG:["",""],cyanBG:["",""],greenBG:["",""],magentaBG:["",""],redBG:["",""],yellowBG:["",""]};else if("browser"===e.mode)i={bold:["",""],italic:["",""],underline:["",""],inverse:['',""],strikethrough:["",""],white:['',""],grey:['',""],black:['',""],blue:['',""],cyan:['',""],green:['',""],magenta:['',""],red:['',""],yellow:['',""],whiteBG:['',""],greyBG:['',""],blackBG:['',""],blueBG:['',""],cyanBG:['',""],greenBG:['',""],magentaBG:['',""],redBG:['',""],yellowBG:['',""]};else{if("none"===e.mode)return t+"";console.log('unsupported mode, try "browser", "console" or "none"')}return i[n][0]+t+i[n][1]}function a(t){var n=["__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","charAt","constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf","charCodeAt","indexOf","lastIndexof","length","localeCompare","match","replace","search","slice","split","substring","toLocaleLowerCase","toLocaleUpperCase","toLowerCase","toUpperCase","trim","trimLeft","trimRight"];Object.keys(t).forEach((function(i){-1!==n.indexOf(i)?console.log("warn: ".red+("String.prototype"+i).magenta+" is probably something you don't want to override. Ignoring style name"):"string"==typeof t[i]?r(i,(function(){return e[t[i]](this)})):r(i,(function(){for(var n=this,r=0;r<&~#]":"[@*!=><&~#]","\\":"\\bARGOPT\\b","\\":"\\bBANG\\b","\\":"\\bEDITCMD\\b","\\":"\\bNOTRLCOM\\b","\\":"\\bTRLBAR\\b","\\":"\\bUSECTRLV\\b","\\":"\\bUSERCMD\\b","\\<\\(XFILE\\|FILES\\|FILE1\\)\\>":"\\b(XFILE|FILES|FILE1)\\b","\\S":"\\S","\\a":"[A-Za-z]","\\d":"\\d","\\h":"[A-Za-z_]","\\s":"\\s","\\v^d%[elete][lp]$":"^d(elete|elet|ele|el|e)[lp]$","\\v^s%(c[^sr][^i][^p]|g|i[^mlg]|I|r[^e])":"^s(c[^sr][^i][^p]|g|i[^mlg]|I|r[^e])","\\w":"[0-9A-Za-z_]","\\w\\|[:#]":"[0-9A-Za-z_]|[:#]","\\x":"[0-9A-Fa-f]","^++":"^++","^++bad=\\(keep\\|drop\\|.\\)\\>":"^\\+\\+bad=(keep|drop|.)\\b","^++bad=drop":"^\\+\\+bad=drop","^++bad=keep":"^\\+\\+bad=keep","^++bin\\>":"^\\+\\+bin\\b","^++edit\\>":"^\\+\\+edit\\b","^++enc=\\S":"^\\+\\+enc=\\S","^++encoding=\\S":"^\\+\\+encoding=\\S","^++ff=\\(dos\\|unix\\|mac\\)\\>":"^\\+\\+ff=(dos|unix|mac)\\b","^++fileformat=\\(dos\\|unix\\|mac\\)\\>":"^\\+\\+fileformat=(dos|unix|mac)\\b","^++nobin\\>":"^\\+\\+nobin\\b","^[A-Z]":"^[A-Z]","^\\$\\w\\+":"^\\$[0-9A-Za-z_]+","^\\(!\\|global\\|vglobal\\)$":"^(!|global|vglobal)$","^\\(WHILE\\|FOR\\)$":"^(WHILE|FOR)$","^\\(vimgrep\\|vimgrepadd\\|lvimgrep\\|lvimgrepadd\\)$":"^(vimgrep|vimgrepadd|lvimgrep|lvimgrepadd)$","^\\d":"^\\d","^\\h":"^[A-Za-z_]","^\\s":"^\\s","^\\s*\\\\":"^\\s*\\\\","^[ \\t]$":"^[ \\t]$","^[A-Za-z]$":"^[A-Za-z]$","^[0-9A-Za-z]$":"^[0-9A-Za-z]$","^[0-9]$":"^[0-9]$","^[0-9A-Fa-f]$":"^[0-9A-Fa-f]$","^[0-9A-Za-z_]$":"^[0-9A-Za-z_]$","^[A-Za-z_]$":"^[A-Za-z_]$","^[0-9A-Za-z_:#]$":"^[0-9A-Za-z_:#]$","^[A-Za-z_][0-9A-Za-z_]*$":"^[A-Za-z_][0-9A-Za-z_]*$","^[A-Z]$":"^[A-Z]$","^[a-z]$":"^[a-z]$","^[vgslabwt]:$\\|^\\([vgslabwt]:\\)\\?[A-Za-z_][0-9A-Za-z_#]*$":"^[vgslabwt]:$|^([vgslabwt]:)?[A-Za-z_][0-9A-Za-z_#]*$","^[0-7]$":"^[0-7]$","^[0-9A-Fa-f][0-9A-Fa-f]$":"^[0-9A-Fa-f][0-9A-Fa-f]$","^\\.[0-9A-Fa-f]$":"^\\.[0-9A-Fa-f]$","^[0-9A-Fa-f][^0-9A-Fa-f]$":"^[0-9A-Fa-f][^0-9A-Fa-f]$"};function o(t,e){t.push(e)}function a(t){return t.charCodeAt(0)}function s(t){return 0==t.length}function l(t,e){return t.toLowerCase()==e.toLowerCase()}function c(t,e){return null!=new RegExp(r[e]).exec(t)}function u(t,e){for(var n="",i=0;i=3&&arguments[2];t.splice(0,0,e)}function m(t,e){return t.join(e)}function h(t){if("string"==typeof t){for(var e=0,n=0;n127&&i<2048?2:3}return e}return t.length}function p(){var t=Array.prototype.slice.call(arguments,0);return 1==t.length?t[0]:i.format.apply(null,t)}function f(t){var e=arguments.length>=2?arguments[1]:null;if(null==e){for(var n=[],i=0;i=2?arguments[1]:10;return parseInt(t,e)}function w(t){return t.toString()}function T(t,e){return void 0!==t[e]}function _(t,e){return t.indexOf(e)}var y=[],v=0;function k(t){return c(t,"^[0-9A-Za-z]$")}function R(t){return c(t,"^[0-9]$")}function F(t){return c(t,"^[0-9A-Fa-f]$")}function A(t){return c(t,"^[0-9A-Za-z_]$")}function E(t){return c(t,"^[ \\t]$")}function N(t){return c(t,"^[0-9A-Za-z_:#]$")}function S(t){return c(t,"^[A-Za-z_][0-9A-Za-z_]*$")}function C(t){return c(t,"^[vgslabwt]:$\\|^\\([vgslabwt]:\\)\\?[A-Za-z_][0-9A-Za-z_#]*$")}function O(t){return c(t,"^[0-9A-Za-z_]$")}function L(t){return{type:t}}function I(t,e){return p("vimlparser: %s: line %d col %d",t,e.lnum,e.col)}function $(){this.__init__.apply(this,arguments)}function D(){this.__init__.apply(this,arguments)}function W(){this.__init__.apply(this,arguments)}function G(){W.apply(this,arguments),this.__init__.apply(this,arguments)}function M(){this.__init__.apply(this,arguments)}function P(){this.__init__.apply(this,arguments)}function B(){this.__init__.apply(this,arguments)}$.prototype.__init__=function(){var t=Array.prototype.slice.call(arguments,0);h(t)>0?this.neovim=t[0]:this.neovim=0,this.find_command_cache={}},$.prototype.push_context=function(t){d(this.context,t)},$.prototype.pop_context=function(){g(this.context,0)},$.prototype.find_context=function(t){for(var e=0,n=this.context,i=0;i"!=this.reader.peek();)this.parse_one_cmd();return this.check_missing_endfunction("TOPLEVEL",this.reader.getpos()),this.check_missing_endif("TOPLEVEL",this.reader.getpos()),this.check_missing_endtry("TOPLEVEL",this.reader.getpos()),this.check_missing_endwhile("TOPLEVEL",this.reader.getpos()),this.check_missing_endfor("TOPLEVEL",this.reader.getpos()),this.pop_context(),e},$.prototype.parse_one_cmd=function(){var t;if(this.ea=((t={}).forceit=v,t.addr_count=0,t.line1=0,t.line2=0,t.flags=0,t.do_ecmd_cmd="",t.do_ecmd_lnum=0,t.append=0,t.usefilter=v,t.amount=0,t.regname=0,t.force_bin=0,t.read_edit=0,t.force_ff=0,t.force_enc=0,t.bad_char=0,t.linepos={},t.cmdpos=[],t.argpos=[],t.cmd={},t.modifiers=[],t.range=[],t.argopt={},t.argcmd={},t),"#!"==this.reader.peekn(2))return this.parse_hashbang(),void this.reader.get();if(this.reader.skip_white_and_colon(),""!=this.reader.peekn(1)){if('"'==this.reader.peekn(1))return this.parse_comment(),void this.reader.get();this.ea.linepos=this.reader.getpos(),this.parse_command_modifiers(),this.parse_range(),this.parse_command(),this.parse_trail()}else this.reader.get()},$.prototype.parse_command_modifiers=function(){for(var t=[];;){var e=this.reader.tell(),n="";if(R(this.reader.peekn(1))){n=this.reader.read_digit();this.reader.skip_white()}var i=this.reader.read_alpha(),r=this.reader.peekn(1);if(this.reader.skip_white(),0==_("aboveleft",i)&&h(i)>=3)o(t,{name:"aboveleft"});else if(0==_("belowright",i)&&h(i)>=3)o(t,{name:"belowright"});else if(0==_("browse",i)&&h(i)>=3)o(t,{name:"browse"});else if(0==_("botright",i)&&h(i)>=2)o(t,{name:"botright"});else if(0==_("confirm",i)&&h(i)>=4)o(t,{name:"confirm"});else if(0==_("keepmarks",i)&&h(i)>=3)o(t,{name:"keepmarks"});else if(0==_("keepalt",i)&&h(i)>=5)o(t,{name:"keepalt"});else if(0==_("keepjumps",i)&&h(i)>=5)o(t,{name:"keepjumps"});else if(0==_("keeppatterns",i)&&h(i)>=5)o(t,{name:"keeppatterns"});else if(0==_("hide",i)&&h(i)>=3){if(this.ends_excmds(r))break;o(t,{name:"hide"})}else if(0==_("lockmarks",i)&&h(i)>=3)o(t,{name:"lockmarks"});else if(0==_("leftabove",i)&&h(i)>=5)o(t,{name:"leftabove"});else if(0==_("noautocmd",i)&&h(i)>=3)o(t,{name:"noautocmd"});else if(0==_("noswapfile",i)&&h(i)>=3)o(t,{name:"noswapfile"});else if(0==_("rightbelow",i)&&h(i)>=6)o(t,{name:"rightbelow"});else if(0==_("sandbox",i)&&h(i)>=3)o(t,{name:"sandbox"});else if(0==_("silent",i)&&h(i)>=3)"!"==r?(this.reader.get(),o(t,{name:"silent",bang:1})):o(t,{name:"silent",bang:0});else if("tab"==i)o(t,""!=n?{name:"tab",count:x(n,10)}:{name:"tab"});else if(0==_("topleft",i)&&h(i)>=2)o(t,{name:"topleft"});else if(0==_("unsilent",i)&&h(i)>=3)o(t,{name:"unsilent"});else if(0==_("vertical",i)&&h(i)>=4)o(t,{name:"vertical"});else{if(!(0==_("verbose",i)&&h(i)>=4)){this.reader.seek_set(e);break}o(t,""!=n?{name:"verbose",count:x(n,10)}:{name:"verbose",count:1})}}this.ea.modifiers=t},$.prototype.parse_range=function(){for(var t=[];;){for(;;){this.reader.skip_white();var e=this.reader.peekn(1);if(""==e)break;if("."==e)o(t,this.reader.getn(1));else if("$"==e)o(t,this.reader.getn(1));else if("'"==e){if(this.reader.getn(1),""==(r=this.reader.getn(1)))break;o(t,"'"+r)}else if("/"==e){this.reader.getn(1);var n=(i=this.parse_pattern(e))[0];i[1];o(t,n)}else if("?"==e){this.reader.getn(1);var i;n=(i=this.parse_pattern(e))[0],i[1];o(t,n)}else if("\\"==e){var r;if("&"!=(r=this.reader.p(1))&&"?"!=r&&"/"!=r)throw I("E10: \\\\ should be followed by /, ? or &",this.reader.getpos());this.reader.seek_cur(2),o(t,"\\"+r)}else R(e)&&o(t,this.reader.read_digit());for(;this.reader.skip_white(),""!=this.reader.peekn(1);){var a=this.reader.read_integer();if(""==a)break;o(t,a)}if("/"!=this.reader.p(0)&&"?"!=this.reader.p(0))break}if("%"==this.reader.peekn(1)?o(t,this.reader.getn(1)):"*"==this.reader.peekn(1)&&o(t,this.reader.getn(1)),";"!=this.reader.peekn(1)){if(","!=this.reader.peekn(1))break;o(t,this.reader.getn(1))}else o(t,this.reader.getn(1))}this.ea.range=t},$.prototype.parse_pattern=function(t){for(var e="",n="",i=0;;){if(""==(r=this.reader.getn(1)))break;if(r==t&&0==i){n=r;break}if(e+=r,"\\"==r){var r;if(""==(r=this.reader.peekn(1)))throw I("E682: Invalid search pattern or delimiter",this.reader.getpos());this.reader.getn(1),e+=r}else"["==r?i+=1:"]"==r&&(i-=1)}return[e,n]},$.prototype.parse_command=function(){if(this.reader.skip_white_and_colon(),this.ea.cmdpos=this.reader.getpos(),""!=this.reader.peekn(1)&&'"'!=this.reader.peekn(1)){if(this.ea.cmd=this.find_command(),this.ea.cmd===y)throw this.reader.setpos(this.ea.cmdpos),I(p("E492: Not an editor command: %s",this.reader.peekline()),this.ea.cmdpos);if("!"==this.reader.peekn(1)&&"substitute"!=this.ea.cmd.name&&"smagic"!=this.ea.cmd.name&&"snomagic"!=this.ea.cmd.name?(this.reader.getn(1),this.ea.forceit=1):this.ea.forceit=v,!c(this.ea.cmd.flags,"\\")&&this.ea.forceit&&!c(this.ea.cmd.flags,"\\"))throw I("E477: No ! allowed",this.ea.cmdpos);if("!"!=this.ea.cmd.name&&this.reader.skip_white(),this.ea.argpos=this.reader.getpos(),c(this.ea.cmd.flags,"\\")&&this.parse_argopt(),"write"==this.ea.cmd.name||"update"==this.ea.cmd.name)if(">"==this.reader.p(0)){if(">"!=this.reader.p(1))throw I("E494: Use w or w>>",this.ea.cmdpos);this.reader.seek_cur(2),this.reader.skip_white(),this.ea.append=1}else"!"==this.reader.peekn(1)&&"write"==this.ea.cmd.name&&(this.reader.getn(1),this.ea.usefilter=1);if("read"==this.ea.cmd.name&&(this.ea.forceit?(this.ea.usefilter=1,this.ea.forceit=v):"!"==this.reader.peekn(1)&&(this.reader.getn(1),this.ea.usefilter=1)),"<"==this.ea.cmd.name||">"==this.ea.cmd.name){for(this.ea.amount=1;this.reader.peekn(1)==this.ea.cmd.name;)this.reader.getn(1),this.ea.amount+=1;this.reader.skip_white()}c(this.ea.cmd.flags,"\\")&&!this.ea.usefilter&&this.parse_argcmd(),this._parse_command(this.ea.cmd.parser)}else s(this.ea.modifiers)&&s(this.ea.range)||this.parse_cmd_modifier_range()},$.prototype._parse_command=function(t){if("parse_cmd_append"==t)this.parse_cmd_append();else if("parse_cmd_break"==t)this.parse_cmd_break();else if("parse_cmd_call"==t)this.parse_cmd_call();else if("parse_cmd_catch"==t)this.parse_cmd_catch();else if("parse_cmd_common"==t)this.parse_cmd_common();else if("parse_cmd_continue"==t)this.parse_cmd_continue();else if("parse_cmd_delfunction"==t)this.parse_cmd_delfunction();else if("parse_cmd_echo"==t)this.parse_cmd_echo();else if("parse_cmd_echoerr"==t)this.parse_cmd_echoerr();else if("parse_cmd_echohl"==t)this.parse_cmd_echohl();else if("parse_cmd_echomsg"==t)this.parse_cmd_echomsg();else if("parse_cmd_echon"==t)this.parse_cmd_echon();else if("parse_cmd_else"==t)this.parse_cmd_else();else if("parse_cmd_elseif"==t)this.parse_cmd_elseif();else if("parse_cmd_endfor"==t)this.parse_cmd_endfor();else if("parse_cmd_endfunction"==t)this.parse_cmd_endfunction();else if("parse_cmd_endif"==t)this.parse_cmd_endif();else if("parse_cmd_endtry"==t)this.parse_cmd_endtry();else if("parse_cmd_endwhile"==t)this.parse_cmd_endwhile();else if("parse_cmd_execute"==t)this.parse_cmd_execute();else if("parse_cmd_finally"==t)this.parse_cmd_finally();else if("parse_cmd_finish"==t)this.parse_cmd_finish();else if("parse_cmd_for"==t)this.parse_cmd_for();else if("parse_cmd_function"==t)this.parse_cmd_function();else if("parse_cmd_if"==t)this.parse_cmd_if();else if("parse_cmd_insert"==t)this.parse_cmd_insert();else if("parse_cmd_let"==t)this.parse_cmd_let();else if("parse_cmd_const"==t)this.parse_cmd_const();else if("parse_cmd_loadkeymap"==t)this.parse_cmd_loadkeymap();else if("parse_cmd_lockvar"==t)this.parse_cmd_lockvar();else if("parse_cmd_lua"==t)this.parse_cmd_lua();else if("parse_cmd_modifier_range"==t)this.parse_cmd_modifier_range();else if("parse_cmd_mzscheme"==t)this.parse_cmd_mzscheme();else if("parse_cmd_perl"==t)this.parse_cmd_perl();else if("parse_cmd_python"==t)this.parse_cmd_python();else if("parse_cmd_python3"==t)this.parse_cmd_python3();else if("parse_cmd_return"==t)this.parse_cmd_return();else if("parse_cmd_ruby"==t)this.parse_cmd_ruby();else if("parse_cmd_tcl"==t)this.parse_cmd_tcl();else if("parse_cmd_throw"==t)this.parse_cmd_throw();else if("parse_cmd_eval"==t)this.parse_cmd_eval();else if("parse_cmd_try"==t)this.parse_cmd_try();else if("parse_cmd_unlet"==t)this.parse_cmd_unlet();else if("parse_cmd_unlockvar"==t)this.parse_cmd_unlockvar();else if("parse_cmd_usercmd"==t)this.parse_cmd_usercmd();else if("parse_cmd_while"==t)this.parse_cmd_while();else if("parse_wincmd"==t)this.parse_wincmd();else{if("parse_cmd_syntax"!=t)throw p("unknown parser: %s",w(t));this.parse_cmd_syntax()}},$.prototype.find_command=function(){var t=this.reader.peekn(1),e="";if("k"==t){this.reader.getn(1);e="k"}else if("s"==t&&c(this.reader.peekn(5),"\\v^s%(c[^sr][^i][^p]|g|i[^mlg]|I|r[^e])")){this.reader.getn(1);e="substitute"}else if(c(t,"[@*!=><&~#]")){this.reader.getn(1);e=t}else if("py"==this.reader.peekn(2))e=this.reader.read_alnum();else{var n=this.reader.tell();if("del"!=(e=this.reader.read_alpha())&&c(e,"\\v^d%[elete][lp]$")){this.reader.seek_set(n);e=this.reader.getn(h(e)-1)}}if(""==e)return y;if(T(this.find_command_cache,e))return this.find_command_cache[e];for(var i=y,r=this.builtin_commands,o=0;o=d.minlen){delete i;i=d;break}}if(this.neovim){for(var a=this.neovim_additional_commands,s=0;s=d.minlen){delete i;i=d;break}}for(var l=this.neovim_removed_commands,u=0;u=d.minlen){delete i;i=y;break}}}if((i===y||"Print"==i.name)&&c(e,"^[A-Z]")){delete i;i={name:e+=this.reader.read_alnum(),flags:"USERCMD",parser:"parse_cmd_usercmd"}}return this.find_command_cache[e]=i,i},$.prototype.parse_hashbang=function(){this.reader.getn(-1)},$.prototype.parse_argopt=function(){for(;"+"==this.reader.p(0)&&"+"==this.reader.p(1);){var t=this.reader.peekn(20);if(c(t,"^++bin\\>"))this.reader.getn(5),this.ea.force_bin=1;else if(c(t,"^++nobin\\>"))this.reader.getn(7),this.ea.force_bin=2;else if(c(t,"^++edit\\>"))this.reader.getn(6),this.ea.read_edit=1;else if(c(t,"^++ff=\\(dos\\|unix\\|mac\\)\\>"))this.reader.getn(5),this.ea.force_ff=this.reader.read_alpha();else if(c(t,"^++fileformat=\\(dos\\|unix\\|mac\\)\\>"))this.reader.getn(13),this.ea.force_ff=this.reader.read_alpha();else if(c(t,"^++enc=\\S"))this.reader.getn(6),this.ea.force_enc=this.reader.read_nonwhite();else if(c(t,"^++encoding=\\S"))this.reader.getn(11),this.ea.force_enc=this.reader.read_nonwhite();else{if(!c(t,"^++bad=\\(keep\\|drop\\|.\\)\\>")){if(c(t,"^++"))throw I("E474: Invalid Argument",this.reader.getpos());break}this.reader.getn(6),c(t,"^++bad=keep")?this.ea.bad_char=this.reader.getn(4):c(t,"^++bad=drop")?this.ea.bad_char=this.reader.getn(4):this.ea.bad_char=this.reader.getn(1)}this.reader.skip_white()}},$.prototype.parse_argcmd=function(){"+"==this.reader.peekn(1)&&(this.reader.getn(1)," "==this.reader.peekn(1)?this.ea.do_ecmd_cmd="$":this.ea.do_ecmd_cmd=this.read_cmdarg())},$.prototype.read_cmdarg=function(){for(var t="";;){if(""==(e=this.reader.peekn(1))||E(e))break;if(this.reader.getn(1),"\\"==e)var e=this.reader.getn(1);t+=e}return t},$.prototype.parse_comment=function(){var t=this.reader.getpos(),e=this.reader.get();if('"'!=e)throw I(p("unexpected character: %s",e),t);var n=L(2);n.pos=t,n.str=this.reader.getn(-1),this.add_node(n)},$.prototype.parse_trail=function(){this.reader.skip_white();var t=this.reader.peek();if(""==t);else if(""==t)this.reader.get();else if("|"==t)this.reader.get();else{if('"'!=t)throw I(p("E488: Trailing characters: %s",t),this.reader.getpos());this.parse_comment(),this.reader.get()}},$.prototype.parse_cmd_modifier_range=function(){var t=L(3);t.pos=this.ea.cmdpos,t.ea=this.ea,t.str=this.reader.getstr(this.ea.linepos,this.reader.getpos()),this.add_node(t)},$.prototype.parse_cmd_common=function(){var t=this.reader.getpos();if(c(this.ea.cmd.flags,"\\")&&!this.ea.usefilter)t=this.separate_nextcmd();else if("!"==this.ea.cmd.name||"global"==this.ea.cmd.name||"vglobal"==this.ea.cmd.name||this.ea.usefilter)for(;;){t=this.reader.getpos();if(""==this.reader.getn(1))break}else for(;;){t=this.reader.getpos();if(""==this.reader.getn(1))break}var e=L(3);e.pos=this.ea.cmdpos,e.ea=this.ea,e.str=this.reader.getstr(this.ea.linepos,t),this.add_node(e)},$.prototype.separate_nextcmd=function(){"vimgrep"!=this.ea.cmd.name&&"vimgrepadd"!=this.ea.cmd.name&&"lvimgrep"!=this.ea.cmd.name&&"lvimgrepadd"!=this.ea.cmd.name||this.skip_vimgrep_pat();for(var t="",e=n=this.reader.getpos();;){var n=this.reader.getpos();if(!E(t))e=n;if(""==(i=this.reader.peek())||""==i)break;if(""==i){this.reader.get();n=this.reader.getpos(),e=this.reader.getpos();if(""==(i=this.reader.peek())||""==i)break;this.reader.get()}else if("`="==this.reader.peekn(2)&&c(this.ea.cmd.flags,"\\<\\(XFILE\\|FILES\\|FILE1\\)\\>")){var i;if(this.reader.getn(2),this.parse_expr(),"`"!=(i=this.reader.peekn(1)))throw I(p("unexpected character: %s",i),this.reader.getpos());this.reader.getn(1)}else if("|"!=i&&"\n"!=i&&('"'!=i||c(this.ea.cmd.flags,"\\")||("@"==this.ea.cmd.name||"*"==this.ea.cmd.name)&&this.reader.getpos()==this.ea.argpos||"redir"==this.ea.cmd.name&&this.reader.getpos().i==this.ea.argpos.i+1&&"@"==t))this.reader.get();else{if(v&&c(this.ea.cmd.flags,"\\")||"\\"!=t)break;this.reader.get()}t=i}if(!c(this.ea.cmd.flags,"\\"))n=e;return n},$.prototype.skip_vimgrep_pat=function(){if(""==this.reader.peekn(1));else if(O(this.reader.peekn(1)))this.reader.read_nonwhite();else{var t=this.reader.getn(1),e=this.parse_pattern(t);e[0];if(t!=e[1])return;for(;"g"==this.reader.p(0)||"j"==this.reader.p(0);)this.reader.getn(1)}},$.prototype.parse_cmd_append=function(){this.reader.setpos(this.ea.linepos);for(var t=[this.reader.readline()];""!=this.reader.peek();){var e=this.reader.getn(-1);if(o(t,e),"."==e)break;this.reader.get()}var n=L(3);n.pos=this.ea.cmdpos,n.ea=this.ea,n.str=m(t,"\n"),this.add_node(n)},$.prototype.parse_cmd_insert=function(){this.parse_cmd_append()},$.prototype.parse_cmd_loadkeymap=function(){this.reader.setpos(this.ea.linepos);for(var t=[this.reader.readline()];""!=this.reader.peek();){o(t,this.reader.readline())}var e=L(3);e.pos=this.ea.cmdpos,e.ea=this.ea,e.str=m(t,"\n"),this.add_node(e)},$.prototype.parse_cmd_lua=function(){var t=[];if(this.reader.skip_white(),"<<"==this.reader.peekn(2)){if(this.reader.getn(2),this.reader.skip_white(),""==(e=this.reader.readline()))var e=".";this.reader.setpos(this.ea.linepos);t=[this.reader.getn(-1)];for(this.reader.get();""!=this.reader.peek();){var n=this.reader.getn(-1);if(o(t,n),n==e)break;this.reader.get()}}else{this.reader.setpos(this.ea.linepos);t=[this.reader.getn(-1)]}var i=L(3);i.pos=this.ea.cmdpos,i.ea=this.ea,i.str=m(t,"\n"),this.add_node(i)},$.prototype.parse_cmd_mzscheme=function(){this.parse_cmd_lua()},$.prototype.parse_cmd_perl=function(){this.parse_cmd_lua()},$.prototype.parse_cmd_python=function(){this.parse_cmd_lua()},$.prototype.parse_cmd_python3=function(){this.parse_cmd_lua()},$.prototype.parse_cmd_ruby=function(){this.parse_cmd_lua()},$.prototype.parse_cmd_tcl=function(){this.parse_cmd_lua()},$.prototype.parse_cmd_finish=function(){this.parse_cmd_common(),1==this.context[0].type&&this.reader.seek_end(0)},$.prototype.parse_cmd_usercmd=function(){this.parse_cmd_common()},$.prototype.parse_cmd_function=function(){var t=this.reader.tell();if(this.reader.skip_white(),this.ends_excmds(this.reader.peek()))return this.reader.seek_set(t),void this.parse_cmd_common();if("/"==this.reader.peekn(1))return this.reader.seek_set(t),void this.parse_cmd_common();var e=this.parse_lvalue_func();if(this.reader.skip_white(),86==e.type){var n=e.value,i=b(n,"\\zs");if("<"!=i[0]&&"_"!=i[0]&&!c(i[0],"^[A-Z]$")&&-1==_(n,":")&&-1==_(n,"#"))throw I(p("E128: Function name must start with a capital or contain a colon: %s",n),e.pos)}if("("!=this.reader.peekn(1))return this.reader.seek_set(t),void this.parse_cmd_common();var r=L(4);r.pos=this.ea.cmdpos,r.body=[],r.ea=this.ea,r.left=e,r.rlist=[],r.default_args=[],r.attr={range:0,abort:0,dict:0,closure:0},r.endfunction=y,this.reader.getn(1);var a=new D(this.reader);if(46==a.peek().type)a.get();else for(var s={};;){var l=L(86);if(56!=(u=a.get()).type){if(63==u.type){var u;if(l.pos=u.pos,l.value=u.value,o(r.rlist,l),46==(u=a.get()).type)break;throw I(p("unexpected token: %s",u.value),u.pos)}throw I(p("unexpected token: %s",u.value),u.pos)}if(!S(u.value)||"firstline"==u.value||"lastline"==u.value)throw I(p("E125: Illegal argument: %s",u.value),u.pos);if(T(s,u.value))throw I(p("E853: Duplicate argument name: %s",u.value),u.pos);if(s[u.value]=1,l.pos=u.pos,l.value=u.value,o(r.rlist,l),59==a.peek().type)a.get(),o(r.default_args,this.parse_expr());else if(h(r.default_args)>0)throw I("E989: Non-default argument follows default argument",l.pos);if(E(this.reader.p(0))&&51==a.peek().type)throw I("E475: Invalid argument: White space is not allowed before comma",this.reader.getpos());if(51!=(u=a.get()).type){if(46==u.type)break;throw I(p("unexpected token: %s",u.value),u.pos)}if(46==a.peek().type){a.get();break}}for(;;){this.reader.skip_white();var d=this.reader.getpos(),m=this.reader.read_alpha();if(""==m)break;if("range"==m)r.attr.range=1;else if("abort"==m)r.attr.abort=1;else if("dict"==m)r.attr.dict=1;else{if("closure"!=m)throw I(p("unexpected token: %s",m),d);r.attr.closure=1}}this.add_node(r),this.push_context(r)},$.prototype.parse_cmd_endfunction=function(){if(this.check_missing_endif("ENDFUNCTION",this.ea.cmdpos),this.check_missing_endtry("ENDFUNCTION",this.ea.cmdpos),this.check_missing_endwhile("ENDFUNCTION",this.ea.cmdpos),this.check_missing_endfor("ENDFUNCTION",this.ea.cmdpos),4!=this.context[0].type)throw I("E193: :endfunction not inside a function",this.ea.cmdpos);this.reader.getn(-1);var t=L(5);t.pos=this.ea.cmdpos,t.ea=this.ea,this.context[0].endfunction=t,this.pop_context()},$.prototype.parse_cmd_delfunction=function(){var t=L(6);t.pos=this.ea.cmdpos,t.ea=this.ea,t.left=this.parse_lvalue_func(),this.add_node(t)},$.prototype.parse_cmd_return=function(){if(-1==this.find_context(4))throw I("E133: :return not inside a function",this.ea.cmdpos);var t=L(7);t.pos=this.ea.cmdpos,t.ea=this.ea,t.left=y,this.reader.skip_white();var e=this.reader.peek();'"'!=e&&this.ends_excmds(e)||(t.left=this.parse_expr()),this.add_node(t)},$.prototype.parse_cmd_call=function(){var t=L(8);t.pos=this.ea.cmdpos,t.ea=this.ea,this.reader.skip_white();var e=this.reader.peek();if(this.ends_excmds(e))throw I("E471: Argument required",this.reader.getpos());if(t.left=this.parse_expr(),78!=t.left.type)throw I("Not an function call",t.left.pos);this.add_node(t)},$.prototype.parse_heredoc=function(){var t=L(96);for(t.pos=this.ea.cmdpos,t.op="",t.rlist=[],t.body=[];;){this.reader.skip_white();var e=this.reader.read_word();if(""==e)break;if(!c(e[0],"^[a-z]$")){t.op=e;break}o(t.rlist,e)}if(""==t.op)throw I("E172: Missing marker",this.reader.getpos());for(this.parse_trail();""!=this.reader.peek();){var n=this.reader.getn(-1);if(n==t.op)return t;o(t.body,n),this.reader.get()}throw I(p("E990: Missing end marker '%s'",t.op),this.reader.getpos())},$.prototype.parse_cmd_let=function(){var t=this.reader.tell();if(this.reader.skip_white(),this.ends_excmds(this.reader.peek()))return this.reader.seek_set(t),void this.parse_cmd_common();var e=this.parse_letlhs();this.reader.skip_white();var n=this.reader.peekn(1);if(".."==(i=this.reader.peekn(2)))var i=this.reader.peekn(3);else if("=<"==i)i=this.reader.peekn(3);if(this.ends_excmds(n)||"+="!=i&&"-="!=i&&".="!=i&&"..="!=i&&"*="!=i&&"/="!=i&&"%="!=i&&"=<<"!=i&&"="!=n)return this.reader.seek_set(t),void this.parse_cmd_common();var r=L(9);if(r.pos=this.ea.cmdpos,r.ea=this.ea,r.op="",r.left=e.left,r.list=e.list,r.rest=e.rest,r.right=y,"+="==i||"-="==i||".="==i||"..="==i||"*="==i||"/="==i||"%="==i)this.reader.getn(h(i)),r.op=i;else{if("=<<"==i)return this.reader.getn(h(i)),this.reader.skip_white(),r.op=i,r.right=this.parse_heredoc(),void this.add_node(r);if("="!=n)throw"NOT REACHED";this.reader.getn(1),r.op=n}r.right=this.parse_expr(),this.add_node(r)},$.prototype.parse_cmd_const=function(){var t=this.reader.tell();if(this.reader.skip_white(),this.ends_excmds(this.reader.peek()))return this.reader.seek_set(t),void this.parse_cmd_common();var e=this.parse_constlhs();this.reader.skip_white();var n=this.reader.peekn(1);if(this.ends_excmds(n)||"="!=n)return this.reader.seek_set(t),void this.parse_cmd_common();var i=L(94);i.pos=this.ea.cmdpos,i.ea=this.ea,this.reader.getn(1),i.op=n,i.left=e.left,i.list=e.list,i.rest=e.rest,i.right=this.parse_expr(),this.add_node(i)},$.prototype.parse_cmd_unlet=function(){var t=L(10);t.pos=this.ea.cmdpos,t.ea=this.ea,t.list=this.parse_lvaluelist(),this.add_node(t)},$.prototype.parse_cmd_lockvar=function(){var t=L(11);t.pos=this.ea.cmdpos,t.ea=this.ea,t.depth=y,t.list=[],this.reader.skip_white(),R(this.reader.peekn(1))&&(t.depth=x(this.reader.read_digit(),10)),t.list=this.parse_lvaluelist(),this.add_node(t)},$.prototype.parse_cmd_unlockvar=function(){var t=L(12);t.pos=this.ea.cmdpos,t.ea=this.ea,t.depth=y,t.list=[],this.reader.skip_white(),R(this.reader.peekn(1))&&(t.depth=x(this.reader.read_digit(),10)),t.list=this.parse_lvaluelist(),this.add_node(t)},$.prototype.parse_cmd_if=function(){var t=L(13);t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,t.cond=this.parse_expr(),t.elseif=[],t._else=y,t.endif=y,this.add_node(t),this.push_context(t)},$.prototype.parse_cmd_elseif=function(){if(13!=this.context[0].type&&14!=this.context[0].type)throw I("E582: :elseif without :if",this.ea.cmdpos);13!=this.context[0].type&&this.pop_context();var t=L(14);t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,t.cond=this.parse_expr(),o(this.context[0].elseif,t),this.push_context(t)},$.prototype.parse_cmd_else=function(){if(13!=this.context[0].type&&14!=this.context[0].type)throw I("E581: :else without :if",this.ea.cmdpos);13!=this.context[0].type&&this.pop_context();var t=L(15);t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,this.context[0]._else=t,this.push_context(t)},$.prototype.parse_cmd_endif=function(){if(13!=this.context[0].type&&14!=this.context[0].type&&15!=this.context[0].type)throw I("E580: :endif without :if",this.ea.cmdpos);13!=this.context[0].type&&this.pop_context();var t=L(16);t.pos=this.ea.cmdpos,t.ea=this.ea,this.context[0].endif=t,this.pop_context()},$.prototype.parse_cmd_while=function(){var t=L(17);t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,t.cond=this.parse_expr(),t.endwhile=y,this.add_node(t),this.push_context(t)},$.prototype.parse_cmd_endwhile=function(){if(17!=this.context[0].type)throw I("E588: :endwhile without :while",this.ea.cmdpos);var t=L(18);t.pos=this.ea.cmdpos,t.ea=this.ea,this.context[0].endwhile=t,this.pop_context()},$.prototype.parse_cmd_for=function(){var t=L(19);t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,t.left=y,t.right=y,t.endfor=y;var e=this.parse_letlhs();t.left=e.left,t.list=e.list,t.rest=e.rest,this.reader.skip_white();var n=this.reader.getpos();if("in"!=this.reader.read_alpha())throw I('Missing "in" after :for',n);t.right=this.parse_expr(),this.add_node(t),this.push_context(t)},$.prototype.parse_cmd_endfor=function(){if(19!=this.context[0].type)throw I("E588: :endfor without :for",this.ea.cmdpos);var t=L(20);t.pos=this.ea.cmdpos,t.ea=this.ea,this.context[0].endfor=t,this.pop_context()},$.prototype.parse_cmd_continue=function(){if(-1==this.find_context(17)&&-1==this.find_context(19))throw I("E586: :continue without :while or :for",this.ea.cmdpos);var t=L(21);t.pos=this.ea.cmdpos,t.ea=this.ea,this.add_node(t)},$.prototype.parse_cmd_break=function(){if(-1==this.find_context(17)&&-1==this.find_context(19))throw I("E587: :break without :while or :for",this.ea.cmdpos);var t=L(22);t.pos=this.ea.cmdpos,t.ea=this.ea,this.add_node(t)},$.prototype.parse_cmd_try=function(){var t=L(23);t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,t.catch=[],t._finally=y,t.endtry=y,this.add_node(t),this.push_context(t)},$.prototype.parse_cmd_catch=function(){if(25==this.context[0].type)throw I("E604: :catch after :finally",this.ea.cmdpos);if(23!=this.context[0].type&&24!=this.context[0].type)throw I("E603: :catch without :try",this.ea.cmdpos);23!=this.context[0].type&&this.pop_context();var t=L(24);if(t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,t.pattern=y,this.reader.skip_white(),!this.ends_excmds(this.reader.peek())){var e=this.parse_pattern(this.reader.get());t.pattern=e[0];e[1]}o(this.context[0].catch,t),this.push_context(t)},$.prototype.parse_cmd_finally=function(){if(23!=this.context[0].type&&24!=this.context[0].type)throw I("E606: :finally without :try",this.ea.cmdpos);23!=this.context[0].type&&this.pop_context();var t=L(25);t.pos=this.ea.cmdpos,t.body=[],t.ea=this.ea,this.context[0]._finally=t,this.push_context(t)},$.prototype.parse_cmd_endtry=function(){if(23!=this.context[0].type&&24!=this.context[0].type&&25!=this.context[0].type)throw I("E602: :endtry without :try",this.ea.cmdpos);23!=this.context[0].type&&this.pop_context();var t=L(26);t.pos=this.ea.cmdpos,t.ea=this.ea,this.context[0].endtry=t,this.pop_context()},$.prototype.parse_cmd_throw=function(){var t=L(27);t.pos=this.ea.cmdpos,t.ea=this.ea,t.left=this.parse_expr(),this.add_node(t)},$.prototype.parse_cmd_eval=function(){var t=L(95);t.pos=this.ea.cmdpos,t.ea=this.ea,t.left=this.parse_expr(),this.add_node(t)},$.prototype.parse_cmd_echo=function(){var t=L(28);t.pos=this.ea.cmdpos,t.ea=this.ea,t.list=this.parse_exprlist(),this.add_node(t)},$.prototype.parse_cmd_echon=function(){var t=L(29);t.pos=this.ea.cmdpos,t.ea=this.ea,t.list=this.parse_exprlist(),this.add_node(t)},$.prototype.parse_cmd_echohl=function(){var t=L(30);for(t.pos=this.ea.cmdpos,t.ea=this.ea,t.str="";!this.ends_excmds(this.reader.peek());)t.str+=this.reader.get();this.add_node(t)},$.prototype.parse_cmd_echomsg=function(){var t=L(31);t.pos=this.ea.cmdpos,t.ea=this.ea,t.list=this.parse_exprlist(),this.add_node(t)},$.prototype.parse_cmd_echoerr=function(){var t=L(32);t.pos=this.ea.cmdpos,t.ea=this.ea,t.list=this.parse_exprlist(),this.add_node(t)},$.prototype.parse_cmd_execute=function(){var t=L(33);t.pos=this.ea.cmdpos,t.ea=this.ea,t.list=this.parse_exprlist(),this.add_node(t)},$.prototype.parse_expr=function(){return new W(this.reader).parse()},$.prototype.parse_exprlist=function(){for(var t=[];;){this.reader.skip_white();var e=this.reader.peek();if('"'!=e&&this.ends_excmds(e))break;o(t,this.parse_expr())}return t},$.prototype.parse_lvalue_func=function(){var t=new G(this.reader).parse();if(86==t.type||87==t.type||76==t.type||79==t.type||85==t.type||88==t.type||89==t.type)return t;throw I("Invalid Expression",t.pos)},$.prototype.parse_lvalue=function(){var t=new G(this.reader).parse();if(86==t.type&&!C(t.value))throw I(p("E461: Illegal variable name: %s",t.value),t.pos);if(86==t.type||87==t.type||76==t.type||77==t.type||79==t.type||85==t.type||88==t.type||89==t.type)return t;throw I("Invalid Expression",t.pos)},$.prototype.parse_constlvalue=function(){var t=new G(this.reader).parse();if(86==t.type&&!C(t.value))throw I(p("E461: Illegal variable name: %s",t.value),t.pos);if(86==t.type||87==t.type)return t;if(76==t.type||77==t.type||79==t.type)throw I("E996: Cannot lock a list or dict",t.pos);if(85==t.type)throw I("E996: Cannot lock an option",t.pos);if(88==t.type)throw I("E996: Cannot lock an environment variable",t.pos);if(89==t.type)throw I("E996: Cannot lock a register",t.pos);throw I("Invalid Expression",t.pos)},$.prototype.parse_lvaluelist=function(){var t=[];for(o(t,this.parse_expr());this.reader.skip_white(),!this.ends_excmds(this.reader.peek());){o(t,this.parse_lvalue())}return t},$.prototype.parse_letlhs=function(){var t={left:y,list:y,rest:y},e=new D(this.reader);if(47==e.peek().type)for(e.get(),t.list=[];;){var n=this.parse_lvalue();if(o(t.list,n),48==(i=e.get()).type)break;if(51!=i.type){if(61==i.type){var i;n=this.parse_lvalue();if(t.rest=n,48==(i=e.get()).type)break;throw I(p("E475 Invalid argument: %s",i.value),i.pos)}throw I(p("E475 Invalid argument: %s",i.value),i.pos)}}else t.left=this.parse_lvalue();return t},$.prototype.parse_constlhs=function(){var t={left:y,list:y,rest:y},e=new D(this.reader);if(47==e.peek().type)for(e.get(),t.list=[];;){var n=this.parse_lvalue();if(o(t.list,n),48==(i=e.get()).type)break;if(51!=i.type){if(61==i.type){var i;n=this.parse_lvalue();if(t.rest=n,48==(i=e.get()).type)break;throw I(p("E475 Invalid argument: %s",i.value),i.pos)}throw I(p("E475 Invalid argument: %s",i.value),i.pos)}}else t.left=this.parse_constlvalue();return t},$.prototype.ends_excmds=function(t){return""==t||"|"==t||'"'==t||""==t||""==t},$.prototype.parse_wincmd=function(){var t=this.reader.getn(1);if(""==t)throw I("E471: Argument required",this.reader.getpos());if("g"==t||""==t){var e=this.reader.getn(1);if(""==e||E(e))throw I("E474: Invalid Argument",this.reader.getpos())}var n=this.reader.getpos();if(this.reader.skip_white(),!this.ends_excmds(this.reader.peek()))throw I("E474: Invalid Argument",this.reader.getpos());var i=L(3);i.pos=this.ea.cmdpos,i.ea=this.ea,i.str=this.reader.getstr(this.ea.linepos,n),this.add_node(i)},$.prototype.parse_cmd_syntax=function(){for(var t=this.reader.getpos();;){t=this.reader.getpos();var e=this.reader.peek();if("/"==e||"'"==e||'"'==e)this.reader.getn(1),this.parse_pattern(e);else if("="==e)this.reader.getn(1),this.parse_pattern(" ");else if(this.ends_excmds(e))break;this.reader.getn(1)}var n=L(3);n.pos=this.ea.cmdpos,n.ea=this.ea,n.str=this.reader.getstr(this.ea.linepos,t),this.add_node(n)},$.prototype.neovim_additional_commands=[{name:"rshada",minlen:3,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"wshada",minlen:3,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"}],$.prototype.neovim_removed_commands=[{name:"Print",minlen:1,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"fixdel",minlen:3,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"helpfind",minlen:5,flags:"EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"open",minlen:1,flags:"RANGE|BANG|EXTRA",parser:"parse_cmd_common"},{name:"shell",minlen:2,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"tearoff",minlen:2,flags:"NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN",parser:"parse_cmd_common"},{name:"gvim",minlen:2,flags:"BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN",parser:"parse_cmd_common"}],$.prototype.builtin_commands=[{name:"append",minlen:1,flags:"BANG|RANGE|ZEROR|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_append"},{name:"abbreviate",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"abclear",minlen:3,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"aboveleft",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"all",minlen:2,flags:"BANG|RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"amenu",minlen:2,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"anoremenu",minlen:2,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"args",minlen:2,flags:"BANG|FILES|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"argadd",minlen:4,flags:"BANG|NEEDARG|RANGE|NOTADR|ZEROR|FILES|TRLBAR",parser:"parse_cmd_common"},{name:"argdelete",minlen:4,flags:"BANG|RANGE|NOTADR|FILES|TRLBAR",parser:"parse_cmd_common"},{name:"argedit",minlen:4,flags:"BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"argdo",minlen:5,flags:"BANG|NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"argglobal",minlen:4,flags:"BANG|FILES|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"arglocal",minlen:4,flags:"BANG|FILES|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"argument",minlen:4,flags:"BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"ascii",minlen:2,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"autocmd",minlen:2,flags:"BANG|EXTRA|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"augroup",minlen:3,flags:"BANG|WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"aunmenu",minlen:3,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"buffer",minlen:1,flags:"BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"bNext",minlen:2,flags:"BANG|RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"ball",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"badd",minlen:3,flags:"NEEDARG|FILE1|EDITCMD|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"bdelete",minlen:2,flags:"BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"behave",minlen:2,flags:"NEEDARG|WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"belowright",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"bfirst",minlen:2,flags:"BANG|RANGE|NOTADR|TRLBAR",parser:"parse_cmd_common"},{name:"blast",minlen:2,flags:"BANG|RANGE|NOTADR|TRLBAR",parser:"parse_cmd_common"},{name:"bmodified",minlen:2,flags:"BANG|RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"bnext",minlen:2,flags:"BANG|RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"botright",minlen:2,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"bprevious",minlen:2,flags:"BANG|RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"brewind",minlen:2,flags:"BANG|RANGE|NOTADR|TRLBAR",parser:"parse_cmd_common"},{name:"break",minlen:4,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_break"},{name:"breakadd",minlen:6,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"breakdel",minlen:6,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"breaklist",minlen:6,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"browse",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM|CMDWIN",parser:"parse_cmd_common"},{name:"bufdo",minlen:5,flags:"BANG|NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"buffers",minlen:7,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"bunload",minlen:3,flags:"BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"bwipeout",minlen:2,flags:"BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"change",minlen:1,flags:"BANG|WHOLEFOLD|RANGE|COUNT|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"cNext",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cNfile",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cabbrev",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cabclear",minlen:4,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"caddbuffer",minlen:3,flags:"RANGE|NOTADR|WORD1|TRLBAR",parser:"parse_cmd_common"},{name:"caddexpr",minlen:5,flags:"NEEDARG|WORD1|NOTRLCOM|TRLBAR",parser:"parse_cmd_common"},{name:"caddfile",minlen:5,flags:"TRLBAR|FILE1",parser:"parse_cmd_common"},{name:"call",minlen:3,flags:"RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_call"},{name:"catch",minlen:3,flags:"EXTRA|SBOXOK|CMDWIN",parser:"parse_cmd_catch"},{name:"cbuffer",minlen:2,flags:"BANG|RANGE|NOTADR|WORD1|TRLBAR",parser:"parse_cmd_common"},{name:"cc",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cclose",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"cd",minlen:2,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"center",minlen:2,flags:"TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"cexpr",minlen:3,flags:"NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cfile",minlen:2,flags:"TRLBAR|FILE1|BANG",parser:"parse_cmd_common"},{name:"cfirst",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cgetbuffer",minlen:5,flags:"RANGE|NOTADR|WORD1|TRLBAR",parser:"parse_cmd_common"},{name:"cgetexpr",minlen:5,flags:"NEEDARG|WORD1|NOTRLCOM|TRLBAR",parser:"parse_cmd_common"},{name:"cgetfile",minlen:2,flags:"TRLBAR|FILE1",parser:"parse_cmd_common"},{name:"changes",minlen:7,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"chdir",minlen:3,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"checkpath",minlen:3,flags:"TRLBAR|BANG|CMDWIN",parser:"parse_cmd_common"},{name:"checktime",minlen:6,flags:"RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"clist",minlen:2,flags:"BANG|EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"clast",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"close",minlen:3,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"cmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cmapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"cmenu",minlen:3,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cnext",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cnewer",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"cnfile",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cnoremap",minlen:3,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cnoreabbrev",minlen:6,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cnoremenu",minlen:7,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"copy",minlen:2,flags:"RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"colder",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"colorscheme",minlen:4,flags:"WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"command",minlen:3,flags:"EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"comclear",minlen:4,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"compiler",minlen:4,flags:"BANG|TRLBAR|WORD1|CMDWIN",parser:"parse_cmd_common"},{name:"continue",minlen:3,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_continue"},{name:"confirm",minlen:4,flags:"NEEDARG|EXTRA|NOTRLCOM|CMDWIN",parser:"parse_cmd_common"},{name:"copen",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"cprevious",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cpfile",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cquit",minlen:2,flags:"TRLBAR|BANG",parser:"parse_cmd_common"},{name:"crewind",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"cscope",minlen:2,flags:"EXTRA|NOTRLCOM|XFILE",parser:"parse_cmd_common"},{name:"cstag",minlen:3,flags:"BANG|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"cunmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cunabbrev",minlen:4,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cunmenu",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"cwindow",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"delete",minlen:1,flags:"RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"delmarks",minlen:4,flags:"BANG|EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"debug",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"debuggreedy",minlen:6,flags:"RANGE|NOTADR|ZEROR|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"delcommand",minlen:4,flags:"NEEDARG|WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"delfunction",minlen:4,flags:"BANG|NEEDARG|WORD1|CMDWIN",parser:"parse_cmd_delfunction"},{name:"diffupdate",minlen:3,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"diffget",minlen:5,flags:"RANGE|EXTRA|TRLBAR|MODIFY",parser:"parse_cmd_common"},{name:"diffoff",minlen:5,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"diffpatch",minlen:5,flags:"EXTRA|FILE1|TRLBAR|MODIFY",parser:"parse_cmd_common"},{name:"diffput",minlen:6,flags:"RANGE|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"diffsplit",minlen:5,flags:"EXTRA|FILE1|TRLBAR",parser:"parse_cmd_common"},{name:"diffthis",minlen:5,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"digraphs",minlen:3,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"display",minlen:2,flags:"EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"djump",minlen:2,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA",parser:"parse_cmd_common"},{name:"dlist",minlen:2,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"doautocmd",minlen:2,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"doautoall",minlen:7,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"drop",minlen:2,flags:"FILES|EDITCMD|NEEDARG|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"dsearch",minlen:2,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"dsplit",minlen:3,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA",parser:"parse_cmd_common"},{name:"edit",minlen:1,flags:"BANG|FILE1|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"earlier",minlen:2,flags:"TRLBAR|EXTRA|NOSPC|CMDWIN",parser:"parse_cmd_common"},{name:"echo",minlen:2,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_echo"},{name:"echoerr",minlen:5,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_echoerr"},{name:"echohl",minlen:5,flags:"EXTRA|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_echohl"},{name:"echomsg",minlen:5,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_echomsg"},{name:"echon",minlen:5,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_echon"},{name:"else",minlen:2,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_else"},{name:"elseif",minlen:5,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_elseif"},{name:"emenu",minlen:2,flags:"NEEDARG|EXTRA|TRLBAR|NOTRLCOM|RANGE|NOTADR|CMDWIN",parser:"parse_cmd_common"},{name:"endif",minlen:2,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_endif"},{name:"endfor",minlen:5,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_endfor"},{name:"endfunction",minlen:4,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_endfunction"},{name:"endtry",minlen:4,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_endtry"},{name:"endwhile",minlen:4,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_endwhile"},{name:"enew",minlen:3,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"eval",minlen:2,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_eval"},{name:"ex",minlen:2,flags:"BANG|FILE1|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"execute",minlen:3,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_execute"},{name:"exit",minlen:3,flags:"RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"exusage",minlen:3,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"file",minlen:1,flags:"RANGE|NOTADR|ZEROR|BANG|FILE1|TRLBAR",parser:"parse_cmd_common"},{name:"files",minlen:5,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"filetype",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"find",minlen:3,flags:"RANGE|NOTADR|BANG|FILE1|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"finally",minlen:4,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_finally"},{name:"finish",minlen:4,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_finish"},{name:"first",minlen:3,flags:"EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"fixdel",minlen:3,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"fold",minlen:2,flags:"RANGE|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"foldclose",minlen:5,flags:"RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"folddoopen",minlen:5,flags:"RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"folddoclosed",minlen:7,flags:"RANGE|DFLALL|NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"foldopen",minlen:5,flags:"RANGE|BANG|WHOLEFOLD|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"for",minlen:3,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_for"},{name:"function",minlen:2,flags:"EXTRA|BANG|CMDWIN",parser:"parse_cmd_function"},{name:"global",minlen:1,flags:"RANGE|WHOLEFOLD|BANG|EXTRA|DFLALL|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"goto",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"grep",minlen:2,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"grepadd",minlen:5,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"gui",minlen:2,flags:"BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"gvim",minlen:2,flags:"BANG|FILES|EDITCMD|ARGOPT|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"hardcopy",minlen:2,flags:"RANGE|COUNT|EXTRA|TRLBAR|DFLALL|BANG",parser:"parse_cmd_common"},{name:"help",minlen:1,flags:"BANG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"helpfind",minlen:5,flags:"EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"helpgrep",minlen:5,flags:"EXTRA|NOTRLCOM|NEEDARG",parser:"parse_cmd_common"},{name:"helptags",minlen:5,flags:"NEEDARG|FILES|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"highlight",minlen:2,flags:"BANG|EXTRA|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"hide",minlen:3,flags:"BANG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"history",minlen:3,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"insert",minlen:1,flags:"BANG|RANGE|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_insert"},{name:"iabbrev",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"iabclear",minlen:4,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"if",minlen:2,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_if"},{name:"ijump",minlen:2,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA",parser:"parse_cmd_common"},{name:"ilist",minlen:2,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"imap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"imapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"imenu",minlen:3,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"inoremap",minlen:3,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"inoreabbrev",minlen:6,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"inoremenu",minlen:7,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"intro",minlen:3,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"isearch",minlen:2,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"isplit",minlen:3,flags:"BANG|RANGE|DFLALL|WHOLEFOLD|EXTRA",parser:"parse_cmd_common"},{name:"iunmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"iunabbrev",minlen:4,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"iunmenu",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"join",minlen:1,flags:"BANG|RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"jumps",minlen:2,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"k",minlen:1,flags:"RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"keepalt",minlen:5,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"keepmarks",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"keepjumps",minlen:5,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"keeppatterns",minlen:5,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"lNext",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"lNfile",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"list",minlen:1,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"laddexpr",minlen:3,flags:"NEEDARG|WORD1|NOTRLCOM|TRLBAR",parser:"parse_cmd_common"},{name:"laddbuffer",minlen:5,flags:"RANGE|NOTADR|WORD1|TRLBAR",parser:"parse_cmd_common"},{name:"laddfile",minlen:5,flags:"TRLBAR|FILE1",parser:"parse_cmd_common"},{name:"last",minlen:2,flags:"EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"language",minlen:3,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"later",minlen:3,flags:"TRLBAR|EXTRA|NOSPC|CMDWIN",parser:"parse_cmd_common"},{name:"lbuffer",minlen:2,flags:"BANG|RANGE|NOTADR|WORD1|TRLBAR",parser:"parse_cmd_common"},{name:"lcd",minlen:2,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"lchdir",minlen:3,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"lclose",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"lcscope",minlen:3,flags:"EXTRA|NOTRLCOM|XFILE",parser:"parse_cmd_common"},{name:"left",minlen:2,flags:"TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"leftabove",minlen:5,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"let",minlen:3,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_let"},{name:"const",minlen:4,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_const"},{name:"lexpr",minlen:3,flags:"NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"lfile",minlen:2,flags:"TRLBAR|FILE1|BANG",parser:"parse_cmd_common"},{name:"lfirst",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"lgetbuffer",minlen:5,flags:"RANGE|NOTADR|WORD1|TRLBAR",parser:"parse_cmd_common"},{name:"lgetexpr",minlen:5,flags:"NEEDARG|WORD1|NOTRLCOM|TRLBAR",parser:"parse_cmd_common"},{name:"lgetfile",minlen:2,flags:"TRLBAR|FILE1",parser:"parse_cmd_common"},{name:"lgrep",minlen:3,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"lgrepadd",minlen:6,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"lhelpgrep",minlen:2,flags:"EXTRA|NOTRLCOM|NEEDARG",parser:"parse_cmd_common"},{name:"ll",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"llast",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"list",minlen:3,flags:"BANG|EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"lmake",minlen:4,flags:"BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"lmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"lmapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"lnext",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"lnewer",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"lnfile",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"lnoremap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"loadkeymap",minlen:5,flags:"CMDWIN",parser:"parse_cmd_loadkeymap"},{name:"loadview",minlen:2,flags:"FILE1|TRLBAR",parser:"parse_cmd_common"},{name:"lockmarks",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"lockvar",minlen:5,flags:"BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN",parser:"parse_cmd_lockvar"},{name:"lolder",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"lopen",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"lprevious",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"lpfile",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"lrewind",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR|BANG",parser:"parse_cmd_common"},{name:"ls",minlen:2,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"ltag",minlen:2,flags:"NOTADR|TRLBAR|BANG|WORD1",parser:"parse_cmd_common"},{name:"lunmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"lua",minlen:3,flags:"RANGE|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_lua"},{name:"luado",minlen:4,flags:"RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"luafile",minlen:4,flags:"RANGE|FILE1|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"lvimgrep",minlen:2,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"lvimgrepadd",minlen:9,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"lwindow",minlen:2,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"move",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"mark",minlen:2,flags:"RANGE|WORD1|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"make",minlen:3,flags:"BANG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"map",minlen:3,flags:"BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"mapclear",minlen:4,flags:"EXTRA|BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"marks",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"match",minlen:3,flags:"RANGE|NOTADR|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"menu",minlen:2,flags:"RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"menutranslate",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"messages",minlen:3,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"mkexrc",minlen:2,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"mksession",minlen:3,flags:"BANG|FILE1|TRLBAR",parser:"parse_cmd_common"},{name:"mkspell",minlen:4,flags:"BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"mkvimrc",minlen:3,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"mkview",minlen:5,flags:"BANG|FILE1|TRLBAR",parser:"parse_cmd_common"},{name:"mode",minlen:3,flags:"WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"mzscheme",minlen:2,flags:"RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK",parser:"parse_cmd_mzscheme"},{name:"mzfile",minlen:3,flags:"RANGE|FILE1|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"nbclose",minlen:3,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"nbkey",minlen:2,flags:"EXTRA|NOTADR|NEEDARG",parser:"parse_cmd_common"},{name:"nbstart",minlen:3,flags:"WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"next",minlen:1,flags:"RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"new",minlen:3,flags:"BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"nmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"nmapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"nmenu",minlen:3,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"nnoremap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"nnoremenu",minlen:7,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"noautocmd",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"noremap",minlen:2,flags:"BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"nohlsearch",minlen:3,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"noreabbrev",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"noremenu",minlen:6,flags:"RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"normal",minlen:4,flags:"RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"number",minlen:2,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"nunmap",minlen:3,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"nunmenu",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"oldfiles",minlen:2,flags:"BANG|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"open",minlen:1,flags:"RANGE|BANG|EXTRA",parser:"parse_cmd_common"},{name:"omap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"omapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"omenu",minlen:3,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"only",minlen:2,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"onoremap",minlen:3,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"onoremenu",minlen:7,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"options",minlen:3,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"ounmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"ounmenu",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"ownsyntax",minlen:2,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"pclose",minlen:2,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"pedit",minlen:3,flags:"BANG|FILE1|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"perl",minlen:2,flags:"RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK|CMDWIN",parser:"parse_cmd_perl"},{name:"print",minlen:1,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|SBOXOK",parser:"parse_cmd_common"},{name:"profdel",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"profile",minlen:4,flags:"BANG|EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"promptfind",minlen:3,flags:"EXTRA|NOTRLCOM|CMDWIN",parser:"parse_cmd_common"},{name:"promptrepl",minlen:7,flags:"EXTRA|NOTRLCOM|CMDWIN",parser:"parse_cmd_common"},{name:"perldo",minlen:5,flags:"RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"pop",minlen:2,flags:"RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"popup",minlen:4,flags:"NEEDARG|EXTRA|BANG|TRLBAR|NOTRLCOM|CMDWIN",parser:"parse_cmd_common"},{name:"ppop",minlen:2,flags:"RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"preserve",minlen:3,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"previous",minlen:4,flags:"EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"psearch",minlen:2,flags:"BANG|RANGE|WHOLEFOLD|DFLALL|EXTRA",parser:"parse_cmd_common"},{name:"ptag",minlen:2,flags:"RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"ptNext",minlen:3,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"ptfirst",minlen:3,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"ptjump",minlen:3,flags:"BANG|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"ptlast",minlen:3,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"ptnext",minlen:3,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"ptprevious",minlen:3,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"ptrewind",minlen:3,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"ptselect",minlen:3,flags:"BANG|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"put",minlen:2,flags:"RANGE|WHOLEFOLD|BANG|REGSTR|TRLBAR|ZEROR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"pwd",minlen:2,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"py3",minlen:3,flags:"RANGE|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_python3"},{name:"python3",minlen:7,flags:"RANGE|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_python3"},{name:"py3file",minlen:4,flags:"RANGE|FILE1|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"python",minlen:2,flags:"RANGE|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_python"},{name:"pyfile",minlen:3,flags:"RANGE|FILE1|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"pydo",minlen:3,flags:"RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"py3do",minlen:4,flags:"RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"quit",minlen:1,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"quitall",minlen:5,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"qall",minlen:2,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"read",minlen:1,flags:"BANG|RANGE|WHOLEFOLD|FILE1|ARGOPT|TRLBAR|ZEROR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"recover",minlen:3,flags:"BANG|FILE1|TRLBAR",parser:"parse_cmd_common"},{name:"redo",minlen:3,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"redir",minlen:4,flags:"BANG|FILES|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"redraw",minlen:4,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"redrawstatus",minlen:7,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"registers",minlen:3,flags:"EXTRA|NOTRLCOM|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"resize",minlen:3,flags:"RANGE|NOTADR|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"retab",minlen:3,flags:"TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"return",minlen:4,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_return"},{name:"rewind",minlen:3,flags:"EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"right",minlen:2,flags:"TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"rightbelow",minlen:6,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"ruby",minlen:3,flags:"RANGE|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_ruby"},{name:"rubydo",minlen:5,flags:"RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"rubyfile",minlen:5,flags:"RANGE|FILE1|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"rundo",minlen:4,flags:"NEEDARG|FILE1",parser:"parse_cmd_common"},{name:"runtime",minlen:2,flags:"BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"rviminfo",minlen:2,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"substitute",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"sNext",minlen:2,flags:"EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"sandbox",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"sargument",minlen:2,flags:"BANG|RANGE|NOTADR|COUNT|EXTRA|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"sall",minlen:3,flags:"BANG|RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"saveas",minlen:3,flags:"BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR",parser:"parse_cmd_common"},{name:"sbuffer",minlen:2,flags:"BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"sbNext",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"sball",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"sbfirst",minlen:3,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"sblast",minlen:3,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"sbmodified",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"sbnext",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"sbprevious",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"sbrewind",minlen:3,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"scriptnames",minlen:3,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"scriptencoding",minlen:7,flags:"WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"scscope",minlen:3,flags:"EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"set",minlen:2,flags:"TRLBAR|EXTRA|CMDWIN|SBOXOK",parser:"parse_cmd_common"},{name:"setfiletype",minlen:4,flags:"TRLBAR|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"setglobal",minlen:4,flags:"TRLBAR|EXTRA|CMDWIN|SBOXOK",parser:"parse_cmd_common"},{name:"setlocal",minlen:4,flags:"TRLBAR|EXTRA|CMDWIN|SBOXOK",parser:"parse_cmd_common"},{name:"sfind",minlen:2,flags:"BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"sfirst",minlen:4,flags:"EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"shell",minlen:2,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"simalt",minlen:3,flags:"NEEDARG|WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"sign",minlen:3,flags:"NEEDARG|RANGE|NOTADR|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"silent",minlen:3,flags:"NEEDARG|EXTRA|BANG|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"sleep",minlen:2,flags:"RANGE|NOTADR|COUNT|EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"slast",minlen:3,flags:"EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"smagic",minlen:2,flags:"RANGE|WHOLEFOLD|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"smap",minlen:4,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"smapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"smenu",minlen:3,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"snext",minlen:2,flags:"RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"sniff",minlen:3,flags:"EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"snomagic",minlen:3,flags:"RANGE|WHOLEFOLD|EXTRA|CMDWIN",parser:"parse_cmd_common"},{name:"snoremap",minlen:4,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"snoremenu",minlen:7,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"sort",minlen:3,flags:"RANGE|DFLALL|WHOLEFOLD|BANG|EXTRA|NOTRLCOM|MODIFY",parser:"parse_cmd_common"},{name:"source",minlen:2,flags:"BANG|FILE1|TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"spelldump",minlen:6,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"spellgood",minlen:3,flags:"BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"spellinfo",minlen:6,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"spellrepall",minlen:6,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"spellundo",minlen:6,flags:"BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"spellwrong",minlen:6,flags:"BANG|RANGE|NOTADR|NEEDARG|EXTRA|TRLBAR",parser:"parse_cmd_common"},{name:"split",minlen:2,flags:"BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"sprevious",minlen:3,flags:"EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"srewind",minlen:3,flags:"EXTRA|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"stop",minlen:2,flags:"TRLBAR|BANG|CMDWIN",parser:"parse_cmd_common"},{name:"stag",minlen:3,flags:"RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"startinsert",minlen:4,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"startgreplace",minlen:6,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"startreplace",minlen:6,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"stopinsert",minlen:5,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"stjump",minlen:3,flags:"BANG|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"stselect",minlen:3,flags:"BANG|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"sunhide",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"sunmap",minlen:4,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"sunmenu",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"suspend",minlen:3,flags:"TRLBAR|BANG|CMDWIN",parser:"parse_cmd_common"},{name:"sview",minlen:2,flags:"BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"swapname",minlen:2,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"syntax",minlen:2,flags:"EXTRA|NOTRLCOM|CMDWIN",parser:"parse_cmd_syntax"},{name:"syntime",minlen:5,flags:"NEEDARG|WORD1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"syncbind",minlen:4,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"t",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"tNext",minlen:2,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"tabNext",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"tabclose",minlen:4,flags:"RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"tabdo",minlen:4,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"tabedit",minlen:4,flags:"BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"tabfind",minlen:4,flags:"BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|NEEDARG|TRLBAR",parser:"parse_cmd_common"},{name:"tabfirst",minlen:6,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"tablast",minlen:4,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"tabmove",minlen:4,flags:"RANGE|NOTADR|ZEROR|EXTRA|NOSPC|TRLBAR",parser:"parse_cmd_common"},{name:"tabnew",minlen:6,flags:"BANG|FILE1|RANGE|NOTADR|ZEROR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"tabnext",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"tabonly",minlen:4,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"tabprevious",minlen:4,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"tabrewind",minlen:4,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"tabs",minlen:4,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"tab",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"tag",minlen:2,flags:"RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"tags",minlen:4,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"tcl",minlen:2,flags:"RANGE|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_tcl"},{name:"tcldo",minlen:4,flags:"RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"tclfile",minlen:4,flags:"RANGE|FILE1|NEEDARG|CMDWIN",parser:"parse_cmd_common"},{name:"tearoff",minlen:2,flags:"NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN",parser:"parse_cmd_common"},{name:"tfirst",minlen:2,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"throw",minlen:2,flags:"EXTRA|NEEDARG|SBOXOK|CMDWIN",parser:"parse_cmd_throw"},{name:"tjump",minlen:2,flags:"BANG|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"tlast",minlen:2,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"tmenu",minlen:2,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"tnext",minlen:2,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"topleft",minlen:2,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"tprevious",minlen:2,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"trewind",minlen:2,flags:"RANGE|NOTADR|BANG|TRLBAR|ZEROR",parser:"parse_cmd_common"},{name:"try",minlen:3,flags:"TRLBAR|SBOXOK|CMDWIN",parser:"parse_cmd_try"},{name:"tselect",minlen:2,flags:"BANG|TRLBAR|WORD1",parser:"parse_cmd_common"},{name:"tunmenu",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"undo",minlen:1,flags:"RANGE|NOTADR|COUNT|ZEROR|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"undojoin",minlen:5,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"undolist",minlen:5,flags:"TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"unabbreviate",minlen:3,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"unhide",minlen:3,flags:"RANGE|NOTADR|COUNT|TRLBAR",parser:"parse_cmd_common"},{name:"unlet",minlen:3,flags:"BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN",parser:"parse_cmd_unlet"},{name:"unlockvar",minlen:4,flags:"BANG|EXTRA|NEEDARG|SBOXOK|CMDWIN",parser:"parse_cmd_unlockvar"},{name:"unmap",minlen:3,flags:"BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"unmenu",minlen:4,flags:"BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"unsilent",minlen:3,flags:"NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"update",minlen:2,flags:"RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR",parser:"parse_cmd_common"},{name:"vglobal",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|DFLALL|CMDWIN",parser:"parse_cmd_common"},{name:"version",minlen:2,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"verbose",minlen:4,flags:"NEEDARG|RANGE|NOTADR|EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_common"},{name:"vertical",minlen:4,flags:"NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"vimgrep",minlen:3,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"vimgrepadd",minlen:8,flags:"RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE",parser:"parse_cmd_common"},{name:"visual",minlen:2,flags:"BANG|FILE1|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"viusage",minlen:3,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"view",minlen:3,flags:"BANG|FILE1|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"vmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"vmapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"vmenu",minlen:3,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"vnew",minlen:3,flags:"BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"vnoremap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"vnoremenu",minlen:7,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"vsplit",minlen:2,flags:"BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"vunmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"vunmenu",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"windo",minlen:5,flags:"BANG|NEEDARG|EXTRA|NOTRLCOM",parser:"parse_cmd_common"},{name:"write",minlen:1,flags:"RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"wNext",minlen:2,flags:"RANGE|WHOLEFOLD|NOTADR|BANG|FILE1|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"wall",minlen:2,flags:"BANG|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"while",minlen:2,flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",parser:"parse_cmd_while"},{name:"winsize",minlen:2,flags:"EXTRA|NEEDARG|TRLBAR",parser:"parse_cmd_common"},{name:"wincmd",minlen:4,flags:"NEEDARG|WORD1|RANGE|NOTADR",parser:"parse_wincmd"},{name:"winpos",minlen:4,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"wnext",minlen:2,flags:"RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"wprevious",minlen:2,flags:"RANGE|NOTADR|BANG|FILE1|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"wq",minlen:2,flags:"RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR",parser:"parse_cmd_common"},{name:"wqall",minlen:3,flags:"BANG|FILE1|ARGOPT|DFLALL|TRLBAR",parser:"parse_cmd_common"},{name:"wsverb",minlen:2,flags:"EXTRA|NOTADR|NEEDARG",parser:"parse_cmd_common"},{name:"wundo",minlen:2,flags:"BANG|NEEDARG|FILE1",parser:"parse_cmd_common"},{name:"wviminfo",minlen:2,flags:"BANG|FILE1|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"xit",minlen:1,flags:"RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"xall",minlen:2,flags:"BANG|TRLBAR",parser:"parse_cmd_common"},{name:"xmapclear",minlen:5,flags:"EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"xmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"xmenu",minlen:3,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"xnoremap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"xnoremenu",minlen:7,flags:"RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"xunmap",minlen:2,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"xunmenu",minlen:5,flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",parser:"parse_cmd_common"},{name:"yank",minlen:1,flags:"RANGE|WHOLEFOLD|REGSTR|COUNT|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"z",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|EXFLAGS|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"!",minlen:1,flags:"RANGE|WHOLEFOLD|BANG|FILES|CMDWIN",parser:"parse_cmd_common"},{name:"#",minlen:1,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"&",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"*",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"<",minlen:1,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"=",minlen:1,flags:"RANGE|TRLBAR|DFLALL|EXFLAGS|CMDWIN",parser:"parse_cmd_common"},{name:">",minlen:1,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN|MODIFY",parser:"parse_cmd_common"},{name:"@",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"Next",minlen:1,flags:"EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|ARGOPT|TRLBAR",parser:"parse_cmd_common"},{name:"Print",minlen:1,flags:"RANGE|WHOLEFOLD|COUNT|EXFLAGS|TRLBAR|CMDWIN",parser:"parse_cmd_common"},{name:"X",minlen:1,flags:"TRLBAR",parser:"parse_cmd_common"},{name:"~",minlen:1,flags:"RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY",parser:"parse_cmd_common"},{flags:"TRLBAR",minlen:3,name:"cbottom",parser:"parse_cmd_common"},{flags:"BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL",minlen:3,name:"cdo",parser:"parse_cmd_common"},{flags:"BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL",minlen:3,name:"cfdo",parser:"parse_cmd_common"},{flags:"TRLBAR",minlen:3,name:"chistory",parser:"parse_cmd_common"},{flags:"TRLBAR|CMDWIN",minlen:3,name:"clearjumps",parser:"parse_cmd_common"},{flags:"BANG|NEEDARG|EXTRA|NOTRLCOM",minlen:4,name:"filter",parser:"parse_cmd_common"},{flags:"RANGE|NOTADR|COUNT|TRLBAR",minlen:5,name:"helpclose",parser:"parse_cmd_common"},{flags:"TRLBAR",minlen:3,name:"lbottom",parser:"parse_cmd_common"},{flags:"BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL",minlen:2,name:"ldo",parser:"parse_cmd_common"},{flags:"BANG|NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL",minlen:3,name:"lfdo",parser:"parse_cmd_common"},{flags:"TRLBAR",minlen:3,name:"lhistory",parser:"parse_cmd_common"},{flags:"BANG|EXTRA|TRLBAR|CMDWIN",minlen:3,name:"llist",parser:"parse_cmd_common"},{flags:"NEEDARG|EXTRA|NOTRLCOM",minlen:3,name:"noswapfile",parser:"parse_cmd_common"},{flags:"BANG|FILE1|NEEDARG|TRLBAR|SBOXOK|CMDWIN",minlen:2,name:"packadd",parser:"parse_cmd_common"},{flags:"BANG|TRLBAR|SBOXOK|CMDWIN",minlen:5,name:"packloadall",parser:"parse_cmd_common"},{flags:"TRLBAR|CMDWIN|SBOXOK",minlen:3,name:"smile",parser:"parse_cmd_common"},{flags:"RANGE|EXTRA|NEEDARG|CMDWIN",minlen:3,name:"pyx",parser:"parse_cmd_common"},{flags:"RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN",minlen:4,name:"pyxdo",parser:"parse_cmd_common"},{flags:"RANGE|EXTRA|NEEDARG|CMDWIN",minlen:7,name:"pythonx",parser:"parse_cmd_common"},{flags:"RANGE|FILE1|NEEDARG|CMDWIN",minlen:4,name:"pyxfile",parser:"parse_cmd_common"},{flags:"RANGE|BANG|FILES|CMDWIN",minlen:3,name:"terminal",parser:"parse_cmd_common"},{flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",minlen:3,name:"tmap",parser:"parse_cmd_common"},{flags:"EXTRA|TRLBAR|CMDWIN",minlen:5,name:"tmapclear",parser:"parse_cmd_common"},{flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",minlen:3,name:"tnoremap",parser:"parse_cmd_common"},{flags:"EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN",minlen:5,name:"tunmap",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:4,name:"cabove",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:3,name:"cafter",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:3,name:"cbefore",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:4,name:"cbelow",parser:"parse_cmd_common"},{flags:"EXTRA|NOTRLCOM|SBOXOK|CMDWIN",minlen:4,name:"const",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:3,name:"labove",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:3,name:"lafter",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:3,name:"lbefore",parser:"parse_cmd_common"},{flags:"RANGE|COUNT|TRLBAR",minlen:4,name:"lbelow",parser:"parse_cmd_common"},{flags:"TRLBAR|CMDWIN",minlen:7,name:"redrawtabline",parser:"parse_cmd_common"},{flags:"WORD1|TRLBAR|CMDWIN",minlen:7,name:"scriptversion",parser:"parse_cmd_common"},{flags:"BANG|FILE1|TRLBAR|CMDWIN",minlen:2,name:"tcd",parser:"parse_cmd_common"},{flags:"BANG|FILE1|TRLBAR|CMDWIN",minlen:3,name:"tchdir",parser:"parse_cmd_common"},{flags:"RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|CTRLV|CMDWIN",minlen:3,name:"tlmenu",parser:"parse_cmd_common"},{flags:"RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|CTRLV|CMDWIN",minlen:3,name:"tlnoremenu",parser:"parse_cmd_common"},{flags:"RANGE|ZEROR|EXTRA|TRLBAR|NOTRLCOM|CTRLV|CMDWIN",minlen:3,name:"tlunmenu",parser:"parse_cmd_common"},{flags:"EXTRA|TRLBAR|CMDWIN",minlen:2,name:"xrestore",parser:"parse_cmd_common"},{flags:"EXTRA|BANG|SBOXOK|CMDWIN",minlen:3,name:"def",parser:"parse_cmd_common"},{flags:"EXTRA|NEEDARG|TRLBAR|CMDWIN",minlen:4,name:"disassemble",parser:"parse_cmd_common"},{flags:"TRLBAR|CMDWIN",minlen:4,name:"enddef",parser:"parse_cmd_common"},{flags:"EXTRA|NOTRLCOM",minlen:3,name:"export",parser:"parse_cmd_common"},{flags:"EXTRA|NOTRLCOM",minlen:3,name:"import",parser:"parse_cmd_common"},{flags:"BANG|RANGE|NEEDARG|EXTRA|TRLBAR",minlen:7,name:"spellrare",parser:"parse_cmd_common"},{flags:"",minlen:4,name:"vim9script",parser:"parse_cmd_common"}],$.prototype.builtin_functions=[{name:"abs",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"acos",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"add",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"and",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"append",min_argc:2,max_argc:2,argtype:"FEARG_LAST"},{name:"appendbufline",min_argc:3,max_argc:3,argtype:"FEARG_LAST"},{name:"argc",min_argc:0,max_argc:1,argtype:"0"},{name:"argidx",min_argc:0,max_argc:0,argtype:"0"},{name:"arglistid",min_argc:0,max_argc:2,argtype:"0"},{name:"argv",min_argc:0,max_argc:2,argtype:"0"},{name:"asin",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"assert_beeps",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"assert_equal",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"assert_equalfile",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"assert_exception",min_argc:1,max_argc:2,argtype:"0"},{name:"assert_fails",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"assert_false",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"assert_inrange",min_argc:3,max_argc:4,argtype:"FEARG_3"},{name:"assert_match",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"assert_notequal",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"assert_notmatch",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"assert_report",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"assert_true",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"atan",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"atan2",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"balloon_gettext",min_argc:0,max_argc:0,argtype:"0"},{name:"balloon_show",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"balloon_split",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"browse",min_argc:4,max_argc:4,argtype:"0"},{name:"browsedir",min_argc:2,max_argc:2,argtype:"0"},{name:"bufadd",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"bufexists",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"buffer_exists",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"buffer_name",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"buffer_number",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"buflisted",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"bufload",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"bufloaded",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"bufname",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"bufnr",min_argc:0,max_argc:2,argtype:"FEARG_1"},{name:"bufwinid",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"bufwinnr",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"byte2line",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"byteidx",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"byteidxcomp",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"call",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"ceil",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"ch_canread",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"ch_close",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"ch_close_in",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"ch_evalexpr",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"ch_evalraw",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"ch_getbufnr",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"ch_getjob",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"ch_info",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"ch_log",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"ch_logfile",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"ch_open",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"ch_read",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"ch_readblob",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"ch_readraw",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"ch_sendexpr",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"ch_sendraw",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"ch_setoptions",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"ch_status",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"changenr",min_argc:0,max_argc:0,argtype:"0"},{name:"char2nr",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"chdir",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"cindent",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"clearmatches",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"col",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"complete",min_argc:2,max_argc:2,argtype:"FEARG_2"},{name:"complete_add",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"complete_check",min_argc:0,max_argc:0,argtype:"0"},{name:"complete_info",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"confirm",min_argc:1,max_argc:4,argtype:"FEARG_1"},{name:"copy",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"cos",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"cosh",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"count",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"cscope_connection",min_argc:0,max_argc:3,argtype:"0"},{name:"cursor",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"debugbreak",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"deepcopy",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"delete",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"deletebufline",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"did_filetype",min_argc:0,max_argc:0,argtype:"0"},{name:"diff_filler",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"diff_hlID",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"echoraw",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"empty",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"environ",min_argc:0,max_argc:0,argtype:"0"},{name:"escape",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"eval",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"eventhandler",min_argc:0,max_argc:0,argtype:"0"},{name:"executable",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"execute",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"exepath",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"exists",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"exp",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"expand",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"expandcmd",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"extend",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"feedkeys",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"file_readable",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"filereadable",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"filewritable",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"filter",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"finddir",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"findfile",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"float2nr",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"floor",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"fmod",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"fnameescape",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"fnamemodify",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"foldclosed",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"foldclosedend",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"foldlevel",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"foldtext",min_argc:0,max_argc:0,argtype:"0"},{name:"foldtextresult",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"foreground",min_argc:0,max_argc:0,argtype:"0"},{name:"funcref",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"function",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"garbagecollect",min_argc:0,max_argc:1,argtype:"0"},{name:"get",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"getbufinfo",min_argc:0,max_argc:1,argtype:"0"},{name:"getbufline",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"getbufvar",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"getchangelist",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"getchar",min_argc:0,max_argc:1,argtype:"0"},{name:"getcharmod",min_argc:0,max_argc:0,argtype:"0"},{name:"getcharsearch",min_argc:0,max_argc:0,argtype:"0"},{name:"getcmdline",min_argc:0,max_argc:0,argtype:"0"},{name:"getcmdpos",min_argc:0,max_argc:0,argtype:"0"},{name:"getcmdtype",min_argc:0,max_argc:0,argtype:"0"},{name:"getcmdwintype",min_argc:0,max_argc:0,argtype:"0"},{name:"getcompletion",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"getcurpos",min_argc:0,max_argc:0,argtype:"0"},{name:"getcwd",min_argc:0,max_argc:2,argtype:"FEARG_1"},{name:"getenv",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"getfontname",min_argc:0,max_argc:1,argtype:"0"},{name:"getfperm",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"getfsize",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"getftime",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"getftype",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"getimstatus",min_argc:0,max_argc:0,argtype:"0"},{name:"getjumplist",min_argc:0,max_argc:2,argtype:"FEARG_1"},{name:"getline",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"getloclist",min_argc:1,max_argc:2,argtype:"0"},{name:"getmatches",min_argc:0,max_argc:1,argtype:"0"},{name:"getmousepos",min_argc:0,max_argc:0,argtype:"0"},{name:"getpid",min_argc:0,max_argc:0,argtype:"0"},{name:"getpos",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"getqflist",min_argc:0,max_argc:1,argtype:"0"},{name:"getreg",min_argc:0,max_argc:3,argtype:"FEARG_1"},{name:"getregtype",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"gettabinfo",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"gettabvar",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"gettabwinvar",min_argc:3,max_argc:4,argtype:"FEARG_1"},{name:"gettagstack",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"getwininfo",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"getwinpos",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"getwinposx",min_argc:0,max_argc:0,argtype:"0"},{name:"getwinposy",min_argc:0,max_argc:0,argtype:"0"},{name:"getwinvar",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"glob",min_argc:1,max_argc:4,argtype:"FEARG_1"},{name:"glob2regpat",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"globpath",min_argc:2,max_argc:5,argtype:"FEARG_2"},{name:"has",min_argc:1,max_argc:1,argtype:"0"},{name:"has_key",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"haslocaldir",min_argc:0,max_argc:2,argtype:"FEARG_1"},{name:"hasmapto",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"highlightID",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"highlight_exists",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"histadd",min_argc:2,max_argc:2,argtype:"FEARG_2"},{name:"histdel",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"histget",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"histnr",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"hlID",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"hlexists",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"hostname",min_argc:0,max_argc:0,argtype:"0"},{name:"iconv",min_argc:3,max_argc:3,argtype:"FEARG_1"},{name:"indent",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"index",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"input",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"inputdialog",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"inputlist",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"inputrestore",min_argc:0,max_argc:0,argtype:"0"},{name:"inputsave",min_argc:0,max_argc:0,argtype:"0"},{name:"inputsecret",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"insert",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"interrupt",min_argc:0,max_argc:0,argtype:"0"},{name:"invert",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"isdirectory",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"isinf",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"islocked",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"isnan",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"items",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"job_getchannel",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"job_info",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"job_setoptions",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"job_start",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"job_status",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"job_stop",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"join",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"js_decode",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"js_encode",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"json_decode",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"json_encode",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"keys",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"last_buffer_nr",min_argc:0,max_argc:0,argtype:"0"},{name:"len",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"libcall",min_argc:3,max_argc:3,argtype:"FEARG_3"},{name:"libcallnr",min_argc:3,max_argc:3,argtype:"FEARG_3"},{name:"line",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"line2byte",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"lispindent",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"list2str",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"listener_add",min_argc:1,max_argc:2,argtype:"FEARG_2"},{name:"listener_flush",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"listener_remove",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"localtime",min_argc:0,max_argc:0,argtype:"0"},{name:"log",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"log10",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"luaeval",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"map",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"maparg",min_argc:1,max_argc:4,argtype:"FEARG_1"},{name:"mapcheck",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"match",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"matchadd",min_argc:2,max_argc:5,argtype:"FEARG_1"},{name:"matchaddpos",min_argc:2,max_argc:5,argtype:"FEARG_1"},{name:"matcharg",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"matchdelete",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"matchend",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"matchlist",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"matchstr",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"matchstrpos",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"max",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"min",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"mkdir",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"mode",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"mzeval",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"nextnonblank",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"nr2char",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"or",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"pathshorten",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"perleval",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"popup_atcursor",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_beval",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_clear",min_argc:0,max_argc:0,argtype:"0"},{name:"popup_close",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"popup_create",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_dialog",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_filter_menu",min_argc:2,max_argc:2,argtype:"0"},{name:"popup_filter_yesno",min_argc:2,max_argc:2,argtype:"0"},{name:"popup_findinfo",min_argc:0,max_argc:0,argtype:"0"},{name:"popup_findpreview",min_argc:0,max_argc:0,argtype:"0"},{name:"popup_getoptions",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"popup_getpos",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"popup_hide",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"popup_locate",min_argc:2,max_argc:2,argtype:"0"},{name:"popup_menu",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_move",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_notification",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_setoptions",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_settext",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"popup_show",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"pow",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"prevnonblank",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"printf",min_argc:1,max_argc:19,argtype:"FEARG_2"},{name:"prompt_setcallback",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"prompt_setinterrupt",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"prompt_setprompt",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"prop_add",min_argc:3,max_argc:3,argtype:"FEARG_1"},{name:"prop_clear",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"prop_find",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"prop_list",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"prop_remove",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"prop_type_add",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"prop_type_change",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"prop_type_delete",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"prop_type_get",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"prop_type_list",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"pum_getpos",min_argc:0,max_argc:0,argtype:"0"},{name:"pumvisible",min_argc:0,max_argc:0,argtype:"0"},{name:"py3eval",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"pyeval",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"pyxeval",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"rand",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"range",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"readdir",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"readfile",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"reg_executing",min_argc:0,max_argc:0,argtype:"0"},{name:"reg_recording",min_argc:0,max_argc:0,argtype:"0"},{name:"reltime",min_argc:0,max_argc:2,argtype:"FEARG_1"},{name:"reltimefloat",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"reltimestr",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"remote_expr",min_argc:2,max_argc:4,argtype:"FEARG_1"},{name:"remote_foreground",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"remote_peek",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"remote_read",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"remote_send",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"remote_startserver",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"remove",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"rename",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"repeat",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"resolve",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"reverse",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"round",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"rubyeval",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"screenattr",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"screenchar",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"screenchars",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"screencol",min_argc:0,max_argc:0,argtype:"0"},{name:"screenpos",min_argc:3,max_argc:3,argtype:"FEARG_1"},{name:"screenrow",min_argc:0,max_argc:0,argtype:"0"},{name:"screenstring",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"search",min_argc:1,max_argc:4,argtype:"FEARG_1"},{name:"searchdecl",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"searchpair",min_argc:3,max_argc:7,argtype:"0"},{name:"searchpairpos",min_argc:3,max_argc:7,argtype:"0"},{name:"searchpos",min_argc:1,max_argc:4,argtype:"FEARG_1"},{name:"server2client",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"serverlist",min_argc:0,max_argc:0,argtype:"0"},{name:"setbufline",min_argc:3,max_argc:3,argtype:"FEARG_3"},{name:"setbufvar",min_argc:3,max_argc:3,argtype:"FEARG_3"},{name:"setcharsearch",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"setcmdpos",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"setenv",min_argc:2,max_argc:2,argtype:"FEARG_2"},{name:"setfperm",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"setline",min_argc:2,max_argc:2,argtype:"FEARG_2"},{name:"setloclist",min_argc:2,max_argc:4,argtype:"FEARG_2"},{name:"setmatches",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"setpos",min_argc:2,max_argc:2,argtype:"FEARG_2"},{name:"setqflist",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"setreg",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"settabvar",min_argc:3,max_argc:3,argtype:"FEARG_3"},{name:"settabwinvar",min_argc:4,max_argc:4,argtype:"FEARG_4"},{name:"settagstack",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"setwinvar",min_argc:3,max_argc:3,argtype:"FEARG_3"},{name:"sha256",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"shellescape",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"shiftwidth",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"sign_define",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"sign_getdefined",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"sign_getplaced",min_argc:0,max_argc:2,argtype:"FEARG_1"},{name:"sign_jump",min_argc:3,max_argc:3,argtype:"FEARG_1"},{name:"sign_place",min_argc:4,max_argc:5,argtype:"FEARG_1"},{name:"sign_placelist",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"sign_undefine",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"sign_unplace",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"sign_unplacelist",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"simplify",min_argc:1,max_argc:1,argtype:"0"},{name:"sin",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"sinh",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"sort",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"sound_clear",min_argc:0,max_argc:0,argtype:"0"},{name:"sound_playevent",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"sound_playfile",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"sound_stop",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"soundfold",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"spellbadword",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"spellsuggest",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"split",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"sqrt",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"srand",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"state",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"str2float",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"str2list",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"str2nr",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"strcharpart",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"strchars",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"strdisplaywidth",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"strftime",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"strgetchar",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"stridx",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"string",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"strlen",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"strpart",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"strptime",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"strridx",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"strtrans",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"strwidth",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"submatch",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"substitute",min_argc:4,max_argc:4,argtype:"FEARG_1"},{name:"swapinfo",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"swapname",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"synID",min_argc:3,max_argc:3,argtype:"0"},{name:"synIDattr",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"synIDtrans",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"synconcealed",min_argc:2,max_argc:2,argtype:"0"},{name:"synstack",min_argc:2,max_argc:2,argtype:"0"},{name:"system",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"systemlist",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"tabpagebuflist",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"tabpagenr",min_argc:0,max_argc:1,argtype:"0"},{name:"tabpagewinnr",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"tagfiles",min_argc:0,max_argc:0,argtype:"0"},{name:"taglist",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"tan",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"tanh",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"tempname",min_argc:0,max_argc:0,argtype:"0"},{name:"term_dumpdiff",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"term_dumpload",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"term_dumpwrite",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"term_getaltscreen",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_getansicolors",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_getattr",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_getcursor",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_getjob",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_getline",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_getscrolled",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_getsize",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_getstatus",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_gettitle",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"term_gettty",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"term_list",min_argc:0,max_argc:0,argtype:"0"},{name:"term_scrape",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_sendkeys",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_setansicolors",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_setapi",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_setkill",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_setrestore",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"term_setsize",min_argc:3,max_argc:3,argtype:"FEARG_1"},{name:"term_start",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"term_wait",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"test_alloc_fail",min_argc:3,max_argc:3,argtype:"FEARG_1"},{name:"test_autochdir",min_argc:0,max_argc:0,argtype:"0"},{name:"test_feedinput",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"test_garbagecollect_now",min_argc:0,max_argc:0,argtype:"0"},{name:"test_garbagecollect_soon",min_argc:0,max_argc:0,argtype:"0"},{name:"test_getvalue",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"test_ignore_error",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"test_null_blob",min_argc:0,max_argc:0,argtype:"0"},{name:"test_null_channel",min_argc:0,max_argc:0,argtype:"0"},{name:"test_null_dict",min_argc:0,max_argc:0,argtype:"0"},{name:"test_null_job",min_argc:0,max_argc:0,argtype:"0"},{name:"test_null_list",min_argc:0,max_argc:0,argtype:"0"},{name:"test_null_partial",min_argc:0,max_argc:0,argtype:"0"},{name:"test_null_string",min_argc:0,max_argc:0,argtype:"0"},{name:"test_option_not_set",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"test_override",min_argc:2,max_argc:2,argtype:"FEARG_2"},{name:"test_refcount",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"test_scrollbar",min_argc:3,max_argc:3,argtype:"FEARG_2"},{name:"test_setmouse",min_argc:2,max_argc:2,argtype:"0"},{name:"test_settime",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"test_srand_seed",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"test_unknown",min_argc:0,max_argc:0,argtype:"0"},{name:"test_void",min_argc:0,max_argc:0,argtype:"0"},{name:"timer_info",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"timer_pause",min_argc:2,max_argc:2,argtype:"FEARG_1"},{name:"timer_start",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"timer_stop",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"timer_stopall",min_argc:0,max_argc:0,argtype:"0"},{name:"tolower",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"toupper",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"tr",min_argc:3,max_argc:3,argtype:"FEARG_1"},{name:"trim",min_argc:1,max_argc:2,argtype:"FEARG_1"},{name:"trunc",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"type",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"undofile",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"undotree",min_argc:0,max_argc:0,argtype:"0"},{name:"uniq",min_argc:1,max_argc:3,argtype:"FEARG_1"},{name:"values",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"virtcol",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"visualmode",min_argc:0,max_argc:1,argtype:"0"},{name:"wildmenumode",min_argc:0,max_argc:0,argtype:"0"},{name:"win_execute",min_argc:2,max_argc:3,argtype:"FEARG_2"},{name:"win_findbuf",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"win_getid",min_argc:0,max_argc:2,argtype:"FEARG_1"},{name:"win_gettype",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"win_gotoid",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"win_id2tabwin",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"win_id2win",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"win_screenpos",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"win_splitmove",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"winbufnr",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"wincol",min_argc:0,max_argc:0,argtype:"0"},{name:"windowsversion",min_argc:0,max_argc:0,argtype:"0"},{name:"winheight",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"winlayout",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"winline",min_argc:0,max_argc:0,argtype:"0"},{name:"winnr",min_argc:0,max_argc:1,argtype:"FEARG_1"},{name:"winrestcmd",min_argc:0,max_argc:0,argtype:"0"},{name:"winrestview",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"winsaveview",min_argc:0,max_argc:0,argtype:"0"},{name:"winwidth",min_argc:1,max_argc:1,argtype:"FEARG_1"},{name:"wordcount",min_argc:0,max_argc:0,argtype:"0"},{name:"writefile",min_argc:2,max_argc:3,argtype:"FEARG_1"},{name:"xor",min_argc:2,max_argc:2,argtype:"FEARG_1"}],D.prototype.__init__=function(t){this.reader=t,this.cache={}},D.prototype.token=function(t,e,n){return{type:t,value:e,pos:n}},D.prototype.peek=function(){var t=this.reader.tell(),e=this.get();return this.reader.seek_set(t),e},D.prototype.get=function(){if(T(this.cache,this.reader.tell())){var t=this.cache[this.reader.tell()];return this.reader.seek_set(t[0]),t[1]}var e=this.reader.tell();this.reader.skip_white();var n=this.get2();return this.cache[e]=[this.reader.tell(),n],n},D.prototype.get2=function(){var t=this.reader,e=t.getpos(),n=t.peek();if(""==n)return this.token(1,n,e);if(""==n)return t.seek_cur(1),this.token(2,n,e);if(E(n)){var i=t.read_white();return this.token(3,i,e)}if("0"!=n||"X"!=t.p(1)&&"x"!=t.p(1)||!F(t.p(2))){if("0"!=n||"B"!=t.p(1)&&"b"!=t.p(1)||"0"!=t.p(2)&&"1"!=t.p(2)){if("0"!=n||"Z"!=t.p(1)&&"z"!=t.p(1)||"."==t.p(2)){if(R(n)){i=t.read_digit();return"."==t.p(0)&&R(t.p(1))&&(i+=t.getn(1),i+=t.read_digit(),"E"!=t.p(0)&&"e"!=t.p(0)||!R(t.p(1))&&("-"!=t.p(1)&&"+"!=t.p(1)||!R(t.p(2)))||(i+=t.getn(2),i+=t.read_digit())),this.token(52,i,e)}if("i"!=n||"s"!=t.p(1)||O(t.p(2))){if("i"!=n||"s"!=t.p(1)||"n"!=t.p(2)||"o"!=t.p(3)||"t"!=t.p(4)||O(t.p(5))){if(function(t){return c(t,"^[A-Za-z_]$")}(n)){i=t.read_name();return this.token(56,i,e)}if("|"==n&&"|"==t.p(1))return t.seek_cur(2),this.token(4,"||",e);if("&"==n&&"&"==t.p(1))return t.seek_cur(2),this.token(5,"&&",e);if("="==n&&"="==t.p(1))return"?"==t.p(2)?(t.seek_cur(3),this.token(7,"==?",e)):"#"==t.p(2)?(t.seek_cur(3),this.token(8,"==#",e)):(t.seek_cur(2),this.token(6,"==",e));if("!"==n&&"="==t.p(1))return"?"==t.p(2)?(t.seek_cur(3),this.token(10,"!=?",e)):"#"==t.p(2)?(t.seek_cur(3),this.token(11,"!=#",e)):(t.seek_cur(2),this.token(9,"!=",e));if(">"==n&&"="==t.p(1))return"?"==t.p(2)?(t.seek_cur(3),this.token(16,">=?",e)):"#"==t.p(2)?(t.seek_cur(3),this.token(17,">=#",e)):(t.seek_cur(2),this.token(15,">=",e));if("<"==n&&"="==t.p(1))return"?"==t.p(2)?(t.seek_cur(3),this.token(22,"<=?",e)):"#"==t.p(2)?(t.seek_cur(3),this.token(23,"<=#",e)):(t.seek_cur(2),this.token(21,"<=",e));if("="==n&&"~"==t.p(1))return"?"==t.p(2)?(t.seek_cur(3),this.token(25,"=~?",e)):"#"==t.p(2)?(t.seek_cur(3),this.token(26,"=~#",e)):(t.seek_cur(2),this.token(24,"=~",e));if("!"==n&&"~"==t.p(1))return"?"==t.p(2)?(t.seek_cur(3),this.token(28,"!~?",e)):"#"==t.p(2)?(t.seek_cur(3),this.token(29,"!~#",e)):(t.seek_cur(2),this.token(27,"!~",e));if(">"==n)return"?"==t.p(1)?(t.seek_cur(2),this.token(13,">?",e)):"#"==t.p(1)?(t.seek_cur(2),this.token(14,">#",e)):(t.seek_cur(1),this.token(12,">",e));if("<"==n)return"?"==t.p(1)?(t.seek_cur(2),this.token(19,""==t.p(1)?(t.seek_cur(2),this.token(65,"->",e)):(t.seek_cur(1),this.token(37,"-",e));if("."==n)return"."==t.p(1)&&"."==t.p(2)?(t.seek_cur(3),this.token(63,"...",e)):"."==t.p(1)?(t.seek_cur(2),this.token(68,"..",e)):(t.seek_cur(1),this.token(38,".",e));if("*"==n)return t.seek_cur(1),this.token(39,"*",e);if("/"==n)return t.seek_cur(1),this.token(40,"/",e);if("%"==n)return t.seek_cur(1),this.token(41,"%",e);if("!"==n)return t.seek_cur(1),this.token(42,"!",e);if("?"==n)return t.seek_cur(1),this.token(43,"?",e);if(":"==n)return t.seek_cur(1),this.token(44,":",e);if("#"==n)return"{"==t.p(1)?(t.seek_cur(2),this.token(67,"#{",e)):(t.seek_cur(1),this.token(64,"#",e));if("("==n)return t.seek_cur(1),this.token(45,"(",e);if(")"==n)return t.seek_cur(1),this.token(46,")",e);if("["==n)return t.seek_cur(1),this.token(47,"[",e);if("]"==n)return t.seek_cur(1),this.token(48,"]",e);if("{"==n)return t.seek_cur(1),this.token(49,"{",e);if("}"==n)return t.seek_cur(1),this.token(50,"}",e);if(","==n)return t.seek_cur(1),this.token(51,",",e);if("'"==n)return t.seek_cur(1),this.token(53,"'",e);if('"'==n)return t.seek_cur(1),this.token(54,'"',e);if("$"==n){i=t.getn(1);return i+=t.read_word(),this.token(57,i,e)}if("@"==n)return this.token(58,t.getn(2),e);if("&"==n){i="";if("g"!=t.p(1)&&"l"!=t.p(1)||":"!=t.p(2))i=t.getn(1)+t.read_word();else i=t.getn(3)+t.read_word();return this.token(55,i,e)}if("="==n)return t.seek_cur(1),this.token(59,"=",e);if("|"==n)return t.seek_cur(1),this.token(60,"|",e);if(";"==n)return t.seek_cur(1),this.token(61,";",e);if("`"==n)return t.seek_cur(1),this.token(62,"`",e);throw I(p("unexpected character: %s",n),this.reader.getpos())}return"?"==t.p(5)?(t.seek_cur(6),this.token(34,"isnot?",e)):"#"==t.p(5)?(t.seek_cur(6),this.token(35,"isnot#",e)):(t.seek_cur(5),this.token(33,"isnot",e))}return"?"==t.p(2)?(t.seek_cur(3),this.token(31,"is?",e)):"#"==t.p(2)?(t.seek_cur(3),this.token(32,"is#",e)):(t.seek_cur(2),this.token(30,"is",e))}var i=t.getn(2);return i+=t.read_blob(),this.token(66,i,e)}var i=t.getn(3);return i+=t.read_bdigit(),this.token(52,i,e)}var i=t.getn(3);return i+=t.read_xdigit(),this.token(52,i,e)},D.prototype.get_sstring=function(){if(this.reader.skip_white(),"'"!=(e=this.reader.p(0)))throw I(p("unexpected character: %s",e),this.reader.getpos());this.reader.seek_cur(1);for(var t="";;){var e;if(""==(e=this.reader.p(0))||""==e)throw I("unexpected EOL",this.reader.getpos());if("'"==e){if(this.reader.seek_cur(1),"'"!=this.reader.p(0))break;this.reader.seek_cur(1),t+="''"}else this.reader.seek_cur(1),t+=e}return t},D.prototype.get_dstring=function(){if(this.reader.skip_white(),'"'!=(e=this.reader.p(0)))throw I(p("unexpected character: %s",e),this.reader.getpos());this.reader.seek_cur(1);for(var t="";;){if(""==(e=this.reader.p(0))||""==e)throw I("unexpectd EOL",this.reader.getpos());if('"'==e){this.reader.seek_cur(1);break}if("\\"==e){var e;if(this.reader.seek_cur(1),t+=e,""==(e=this.reader.p(0))||""==e)throw I("ExprTokenizer: unexpected EOL",this.reader.getpos());this.reader.seek_cur(1),t+=e}else this.reader.seek_cur(1),t+=e}return t},D.prototype.parse_dict_literal_key=function(){if(this.reader.skip_white(),!k(n=this.reader.peek())&&"_"!=n&&"-"!=n)throw I(p("unexpected character: %s",n),this.reader.getpos());var t=L(81),e=n;for(this.reader.seek_cur(1),t.pos=this.reader.getpos();;){var n;if(""==(n=this.reader.p(0))||""==n)throw I("unexpectd EOL",this.reader.getpos());if(!k(n)&&"_"!=n&&"-"!=n)break;this.reader.seek_cur(1),e+=n}return t.value="'"+e+"'",t},W.prototype.__init__=function(t){this.reader=t,this.tokenizer=new D(t)},W.prototype.parse=function(){return this.parse_expr1()},W.prototype.parse_expr1=function(){var t=this.parse_expr2(),e=this.reader.tell();if(43==(n=this.tokenizer.get()).type){var n,i=L(34);if(i.pos=n.pos,i.cond=t,i.left=this.parse_expr1(),44!=(n=this.tokenizer.get()).type)throw I(p("unexpected token: %s",n.value),n.pos);i.right=this.parse_expr1();t=i}else this.reader.seek_set(e);return t},W.prototype.parse_expr2=function(){for(var t=this.parse_expr3();;){var e=this.reader.tell(),n=this.tokenizer.get();if(4!=n.type){this.reader.seek_set(e);break}var i=L(35);i.pos=n.pos,i.left=t,i.right=this.parse_expr3();t=i}return t},W.prototype.parse_expr3=function(){for(var t=this.parse_expr4();;){var e=this.reader.tell(),n=this.tokenizer.get();if(5!=n.type){this.reader.seek_set(e);break}var i=L(36);i.pos=n.pos,i.left=t,i.right=this.parse_expr4();t=i}return t},W.prototype.parse_expr4=function(){var t=this.parse_expr5(),e=this.reader.tell(),n=this.tokenizer.get();if(6==n.type){(i=L(37)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(7==n.type){(i=L(38)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(8==n.type){(i=L(39)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(9==n.type){(i=L(40)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(10==n.type){(i=L(41)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(11==n.type){(i=L(42)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(12==n.type){(i=L(43)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(13==n.type){(i=L(44)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(14==n.type){(i=L(45)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(15==n.type){(i=L(46)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(16==n.type){(i=L(47)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(17==n.type){(i=L(48)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(18==n.type){(i=L(49)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(19==n.type){(i=L(50)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(20==n.type){(i=L(51)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(21==n.type){(i=L(52)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(22==n.type){(i=L(53)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(23==n.type){(i=L(54)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(24==n.type){(i=L(55)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(25==n.type){(i=L(56)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(26==n.type){(i=L(57)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(27==n.type){(i=L(58)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(28==n.type){(i=L(59)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(29==n.type){(i=L(60)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(30==n.type){(i=L(61)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(31==n.type){(i=L(62)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(32==n.type){(i=L(63)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(33==n.type){(i=L(64)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(34==n.type){(i=L(65)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else if(35==n.type){var i;(i=L(66)).pos=n.pos,i.left=t,i.right=this.parse_expr5();t=i}else this.reader.seek_set(e);return t},W.prototype.parse_expr5=function(){for(var t=this.parse_expr6();;){var e=this.reader.tell(),n=this.tokenizer.get();if(36==n.type){(i=L(67)).pos=n.pos,i.left=t,i.right=this.parse_expr6();t=i}else if(37==n.type){(i=L(68)).pos=n.pos,i.left=t,i.right=this.parse_expr6();t=i}else if(68==n.type){(i=L(69)).pos=n.pos,i.left=t,i.right=this.parse_expr6();t=i}else{if(38!=n.type){this.reader.seek_set(e);break}var i;(i=L(69)).pos=n.pos,i.left=t,i.right=this.parse_expr6();t=i}}return t},W.prototype.parse_expr6=function(){for(var t=this.parse_expr7();;){var e=this.reader.tell(),n=this.tokenizer.get();if(39==n.type){(i=L(70)).pos=n.pos,i.left=t,i.right=this.parse_expr7();t=i}else if(40==n.type){(i=L(71)).pos=n.pos,i.left=t,i.right=this.parse_expr7();t=i}else{if(41!=n.type){this.reader.seek_set(e);break}var i;(i=L(72)).pos=n.pos,i.left=t,i.right=this.parse_expr7();t=i}}return t},W.prototype.parse_expr7=function(){var t,e=this.reader.tell(),n=this.tokenizer.get();return 42==n.type?((t=L(73)).pos=n.pos,t.left=this.parse_expr7(),t):37==n.type?((t=L(74)).pos=n.pos,t.left=this.parse_expr7(),t):36==n.type?((t=L(75)).pos=n.pos,t.left=this.parse_expr7(),t):(this.reader.seek_set(e),t=this.parse_expr8())},W.prototype.parse_expr8=function(){for(var t=this.parse_expr9();;){var e=this.reader.tell(),n=this.reader.peek(),i=this.tokenizer.get();if(E(n)||47!=i.type)if(65==i.type){var r=this.parse_expr9();if(45!=(i=this.tokenizer.get()).type)throw I("E107: Missing parentheses: lambda",i.pos);(a=L(78)).pos=i.pos,a.left=r,a.rlist=this.parse_rlist(),(s=L(97)).pos=i.pos,s.left=t,s.right=a;t=s;delete s}else if(45==i.type){(s=L(78)).pos=i.pos,s.left=t,s.rlist=this.parse_rlist();t=s;delete s}else{if(E(n)||38!=i.type){this.reader.seek_set(e);break}if((s=this.parse_dot(i,t))===y){this.reader.seek_set(e);break}t=s;delete s}else{var o=i.pos;if(44==this.tokenizer.peek().type){if(this.tokenizer.get(),(s=L(77)).pos=o,s.left=t,s.rlist=[y,y],48!=(i=this.tokenizer.peek()).type&&(s.rlist[1]=this.parse_expr1()),48!=(i=this.tokenizer.get()).type)throw I(p("unexpected token: %s",i.value),i.pos);var t=s}else{var a=this.parse_expr1();if(44==this.tokenizer.peek().type){if(this.tokenizer.get(),(s=L(77)).pos=o,s.left=t,s.rlist=[a,y],48!=(i=this.tokenizer.peek()).type&&(s.rlist[1]=this.parse_expr1()),48!=(i=this.tokenizer.get()).type)throw I(p("unexpected token: %s",i.value),i.pos);var t=s}else{var s;if((s=L(76)).pos=o,s.left=t,s.right=a,48!=(i=this.tokenizer.get()).type)throw I(p("unexpected token: %s",i.value),i.pos);var t=s}}delete s}}return t},W.prototype.parse_rlist=function(){var t=[],e=this.tokenizer.peek();if(46==this.tokenizer.peek().type)this.tokenizer.get();else for(;;){if(o(t,this.parse_expr1()),51!=(e=this.tokenizer.get()).type){if(46==e.type)break;throw I(p("unexpected token: %s",e.value),e.pos)}if(46==this.tokenizer.peek().type){this.tokenizer.get();break}}if(h(t)>20)throw I("E740: Too many arguments for function",e.pos);return t},W.prototype.parse_expr9=function(){var t=this.reader.tell(),e=this.tokenizer.get(),n=L(-1);if(52==e.type)(n=L(80)).pos=e.pos,n.value=e.value;else if(66==e.type){(n=L(93)).pos=e.pos,n.value=e.value}else if(54==e.type){this.reader.seek_set(t),(n=L(81)).pos=e.pos,n.value='"'+this.tokenizer.get_dstring()+'"'}else if(53==e.type){this.reader.seek_set(t),(n=L(81)).pos=e.pos,n.value="'"+this.tokenizer.get_sstring()+"'"}else if(47==e.type){if((n=L(82)).pos=e.pos,n.value=[],48==(e=this.tokenizer.peek()).type)this.tokenizer.get();else for(;;){if(o(n.value,this.parse_expr1()),51!=(e=this.tokenizer.peek()).type){if(48==e.type){this.tokenizer.get();break}throw I(p("unexpected token: %s",e.value),e.pos)}if(this.tokenizer.get(),48==this.tokenizer.peek().type){this.tokenizer.get();break}}}else{if(49==e.type||67==e.type){var i=67==e.type,r=this.reader.tell(),a=e.pos;if(!(u=65==(e=this.tokenizer.get()).type)&&53!=e.type&&54!=e.type)var c=this.tokenizer.peek(),u=65==c.type||51==c.type;var d=v;if(u){(n=L(92)).pos=a,n.rlist=[];for(var m={};65!=e.type;){if(56!=e.type){if(63==e.type){if((h=L(86)).pos=e.pos,h.value=e.value,o(n.rlist,h),65==(e=this.tokenizer.peek()).type){this.tokenizer.get();break}throw I(p("unexpected token: %s",e.value),e.pos)}d=1;break}if(!S(e.value))throw I(p("E125: Illegal argument: %s",e.value),e.pos);if(T(m,e.value))throw I(p("E853: Duplicate argument name: %s",e.value),e.pos);var h;if(m[e.value]=1,(h=L(86)).pos=e.pos,h.value=e.value,E(this.reader.p(0))&&51==this.tokenizer.peek().type)throw I("E475: Invalid argument: White space is not allowed before comma",this.reader.getpos());var e=this.tokenizer.get();if(o(n.rlist,h),51!=e.type){if(65==e.type)break;throw I(p("unexpected token: %s, type: %d",e.value,e.type),e.pos)}if(65==(e=this.tokenizer.peek()).type){this.tokenizer.get();break}e=this.tokenizer.get()}if(!d){if(n.left=this.parse_expr1(),50!=(e=this.tokenizer.get()).type)throw I(p("unexpected token: %s",e.value),e.pos);return n}}if((n=L(83)).pos=a,n.value=[],this.reader.seek_set(r),50==(e=this.tokenizer.peek()).type)return this.tokenizer.get(),n;for(;;){var f=i?this.tokenizer.parse_dict_literal_key():this.parse_expr1();if(50==(e=this.tokenizer.get()).type){if(!s(n.value))throw I(p("unexpected token: %s",e.value),e.pos);this.reader.seek_set(t);n=this.parse_identifier();break}if(44!=e.type)throw I(p("unexpected token: %s",e.value),e.pos);var g=this.parse_expr1();if(o(n.value,[f,g]),51!=(e=this.tokenizer.get()).type){if(50==e.type)break;throw I(p("unexpected token: %s",e.value),e.pos)}if(50==this.tokenizer.peek().type){this.tokenizer.get();break}}return n}if(45==e.type){n=this.parse_expr1();if(46!=(e=this.tokenizer.get()).type)throw I(p("unexpected token: %s",e.value),e.pos)}else if(55==e.type){(n=L(85)).pos=e.pos,n.value=e.value}else if(56==e.type){this.reader.seek_set(t);n=this.parse_identifier()}else if(!v||44!=e.type&&64!=e.type)if(18==e.type&&l(this.reader.peekn(4),"SID>")){this.reader.seek_set(t);n=this.parse_identifier()}else if(30==e.type||32==e.type||33==e.type||35==e.type){this.reader.seek_set(t);n=this.parse_identifier()}else if(57==e.type){(n=L(88)).pos=e.pos,n.value=e.value}else{if(58!=e.type)throw I(p("unexpected token: %s",e.value),e.pos);(n=L(89)).pos=e.pos,n.value=e.value}else{this.reader.seek_set(t);var n=this.parse_identifier()}}return n},W.prototype.parse_dot=function(t,e){if(86!=e.type&&87!=e.type&&83!=e.type&&76!=e.type&&78!=e.type&&79!=e.type)return y;if(!A(this.reader.p(0)))return y;var n=this.reader.getpos(),i=this.reader.read_word();if(N(this.reader.p(0)))return y;var r=L(79);return r.pos=t.pos,r.left=e,r.right=L(86),r.right.pos=n,r.right.value=i,r},W.prototype.parse_concat=function(t,e){if(86!=e.type&&87!=e.type&&83!=e.type&&76!=e.type&&78!=e.type&&79!=e.type)return y;if(!A(this.reader.p(0)))return y;var n=this.reader.getpos(),i=this.reader.read_word();if(N(this.reader.p(0)))return y;var r=L(69);return r.pos=t.pos,r.left=e,r.right=L(86),r.right.pos=n,r.right.value=i,r},W.prototype.parse_identifier=function(){this.reader.skip_white();var t,e=this.reader.getpos(),n=this.parse_curly_parts();return 1==h(n)&&90==n[0].type?((t=L(86)).pos=e,t.value=n[0].value,t):((t=L(87)).pos=e,t.value=n,t)},W.prototype.parse_curly_parts=function(){var t=[],e=this.reader.peek(),n=this.reader.getpos();if("<"==e&&l(this.reader.peekn(5),"")){var i=this.reader.getn(5);(r=L(90)).curly=v,r.pos=n,r.value=i,o(t,r)}for(;;){if(N(e=this.reader.peek())){n=this.reader.getpos(),i=this.reader.read_name();(r=L(90)).curly=v,r.pos=n,r.value=i,o(t,r)}else{if("{"!=e)break;this.reader.get();var r;n=this.reader.getpos();if((r=L(91)).curly=1,r.pos=n,r.value=this.parse_expr1(),o(t,r),this.reader.skip_white(),"}"!=(e=this.reader.p(0)))throw I(p("unexpected token: %s",e),this.reader.getpos());this.reader.seek_cur(1)}}return t},G.prototype=Object.create(W.prototype),G.prototype.parse=function(){return this.parse_lv8()},G.prototype.parse_lv8=function(){for(var t=this.parse_lv9();;){var e=this.reader.tell(),n=this.reader.peek(),i=this.tokenizer.get();if(E(n)||47!=i.type){if(E(n)||38!=i.type){this.reader.seek_set(e);break}if((o=this.parse_dot(i,t))===y){this.reader.seek_set(e);break}t=o;delete o}else{var r=i.pos,o=L(-1);if(44==this.tokenizer.peek().type){if(this.tokenizer.get(),(o=L(77)).pos=r,o.left=t,o.rlist=[y,y],48!=(i=this.tokenizer.peek()).type&&(o.rlist[1]=this.parse_expr1()),48!=(i=this.tokenizer.get()).type)throw I(p("unexpected token: %s",i.value),i.pos)}else{var a=this.parse_expr1();if(44==this.tokenizer.peek().type){if(this.tokenizer.get(),(o=L(77)).pos=r,o.left=t,o.rlist=[a,y],48!=(i=this.tokenizer.peek()).type&&(o.rlist[1]=this.parse_expr1()),48!=(i=this.tokenizer.get()).type)throw I(p("unexpected token: %s",i.value),i.pos)}else if((o=L(76)).pos=r,o.left=t,o.right=a,48!=(i=this.tokenizer.get()).type)throw I(p("unexpected token: %s",i.value),i.pos)}var t=o;delete o}}return t},G.prototype.parse_lv9=function(){var t=this.reader.tell(),e=this.tokenizer.get(),n=L(-1);if(49==e.type){this.reader.seek_set(t);n=this.parse_identifier()}else if(55==e.type){(n=L(85)).pos=e.pos,n.value=e.value}else if(56==e.type){this.reader.seek_set(t);n=this.parse_identifier()}else if(18==e.type&&l(this.reader.peekn(4),"SID>")){this.reader.seek_set(t);n=this.parse_identifier()}else if(57==e.type){(n=L(88)).pos=e.pos,n.value=e.value}else{if(58!=e.type)throw I(p("unexpected token: %s",e.value),e.pos);(n=L(89)).pos=e.pos,n.pos=e.pos,n.value=e.value}return n},M.prototype.__init__=function(t){this.buf=[],this.pos=[];for(var e=0,n=0;e"),o(this.pos,[e+1,i+1,n]),e+=1,n+=1}o(this.pos,[e+1,0,n]),this.i=0},M.prototype.eof=function(){return this.i>=h(this.buf)},M.prototype.tell=function(){return this.i},M.prototype.seek_set=function(t){this.i=t},M.prototype.seek_cur=function(t){this.i=this.i+t},M.prototype.seek_end=function(t){this.i=h(this.buf)+t},M.prototype.p=function(t){return this.i>=h(this.buf)?"":this.buf[this.i+t]},M.prototype.peek=function(){return this.i>=h(this.buf)?"":this.buf[this.i]},M.prototype.get=function(){return this.i>=h(this.buf)?"":(this.i+=1,this.buf[this.i-1])},M.prototype.peekn=function(t){var e=this.tell(),n=this.getn(t);return this.seek_set(e),n},M.prototype.getn=function(t){for(var e="",n=0;this.i"==i)break;e+=i,this.i+=1,n+=1}return e},M.prototype.peekline=function(){return this.peekn(-1)},M.prototype.readline=function(){var t=this.getn(-1);return this.get(),t},M.prototype.getstr=function(t,e){for(var n="",i=f(t.i,e.i-1),r=0;r=h(this.buf))break;if(""==(a=this.buf[o]))var a="\n";n+=a}return n},M.prototype.getpos=function(){var t=this.pos[this.i],e=t[0],n=t[1],i=t[2];return{i:this.i,lnum:e,col:n,offset:i}},M.prototype.setpos=function(t){this.i=t.i},M.prototype.read_alpha=function(){for(var t="";c(this.peekn(1),"^[A-Za-z]$");)t+=this.getn(1);return t},M.prototype.read_alnum=function(){for(var t="";k(this.peekn(1));)t+=this.getn(1);return t},M.prototype.read_digit=function(){for(var t="";R(this.peekn(1));)t+=this.getn(1);return t},M.prototype.read_odigit=function(){for(var t="";c(this.peekn(1),"^[0-7]$");)t+=this.getn(1);return t},M.prototype.read_blob=function(){for(var t="";;){var e=this.peekn(2);if(c(e,"^[0-9A-Fa-f][0-9A-Fa-f]$"))t+=this.getn(2);else{if(!c(e,"^\\.[0-9A-Fa-f]$")){if(c(e,"^[0-9A-Fa-f][^0-9A-Fa-f]$"))throw I("E973: Blob literal should have an even number of hex characters:"+e,this.getpos());break}t+=this.getn(1)}}return t},M.prototype.read_xdigit=function(){for(var t="";F(this.peekn(1));)t+=this.getn(1);return t},M.prototype.read_bdigit=function(){for(var t="";"0"==this.peekn(1)||"1"==this.peekn(1);)t+=this.getn(1);return t},M.prototype.read_integer=function(){var t="",e=this.peekn(1);if("-"==e||"+"==e)t=this.getn(1);return t+this.read_digit()},M.prototype.read_word=function(){for(var t="";A(this.peekn(1));)t+=this.getn(1);return t},M.prototype.read_white=function(){for(var t="";E(this.peekn(1));)t+=this.getn(1);return t},M.prototype.read_nonwhite=function(){for(var t="",e=this.peekn(1);!E(e)&&""!=e;){t+=this.getn(1);e=this.peekn(1)}return t},M.prototype.read_name=function(){for(var t="";N(this.peekn(1));)t+=this.getn(1);return t},M.prototype.skip_white=function(){for(;E(this.peekn(1));)this.seek_cur(1)},M.prototype.skip_white_and_colon=function(){for(;;){var t=this.peekn(1);if(!E(t)&&":"!=t)break;this.seek_cur(1)}},P.prototype.__init__=function(){this.indent=[""],this.lines=[]},P.prototype.out=function(){var t=Array.prototype.slice.call(arguments,0);1==h(t)?")"==t[0][0]?this.lines[this.lines.length-1]+=t[0]:o(this.lines,this.indent[0]+t[0]):o(this.lines,this.indent[0]+p.apply(null,t))},P.prototype.incindent=function(t){d(this.indent,this.indent[0]+t)},P.prototype.decindent=function(){g(this.indent,0)},P.prototype.compile=function(t){if(1==t.type)return this.compile_toplevel(t);if(2==t.type)return this.compile_comment(t),y;if(3==t.type)return this.compile_excmd(t),y;if(4==t.type)return this.compile_function(t),y;if(6==t.type)return this.compile_delfunction(t),y;if(7==t.type)return this.compile_return(t),y;if(8==t.type)return this.compile_excall(t),y;if(95==t.type)return this.compile_eval(t),y;if(9==t.type)return this.compile_let(t),y;if(94==t.type)return this.compile_const(t),y;if(10==t.type)return this.compile_unlet(t),y;if(11==t.type)return this.compile_lockvar(t),y;if(12==t.type)return this.compile_unlockvar(t),y;if(13==t.type)return this.compile_if(t),y;if(17==t.type)return this.compile_while(t),y;if(19==t.type)return this.compile_for(t),y;if(21==t.type)return this.compile_continue(t),y;if(22==t.type)return this.compile_break(t),y;if(23==t.type)return this.compile_try(t),y;if(27==t.type)return this.compile_throw(t),y;if(28==t.type)return this.compile_echo(t),y;if(29==t.type)return this.compile_echon(t),y;if(30==t.type)return this.compile_echohl(t),y;if(31==t.type)return this.compile_echomsg(t),y;if(32==t.type)return this.compile_echoerr(t),y;if(33==t.type)return this.compile_execute(t),y;if(34==t.type)return this.compile_ternary(t);if(35==t.type)return this.compile_or(t);if(36==t.type)return this.compile_and(t);if(37==t.type)return this.compile_equal(t);if(38==t.type)return this.compile_equalci(t);if(39==t.type)return this.compile_equalcs(t);if(40==t.type)return this.compile_nequal(t);if(41==t.type)return this.compile_nequalci(t);if(42==t.type)return this.compile_nequalcs(t);if(43==t.type)return this.compile_greater(t);if(44==t.type)return this.compile_greaterci(t);if(45==t.type)return this.compile_greatercs(t);if(46==t.type)return this.compile_gequal(t);if(47==t.type)return this.compile_gequalci(t);if(48==t.type)return this.compile_gequalcs(t);if(49==t.type)return this.compile_smaller(t);if(50==t.type)return this.compile_smallerci(t);if(51==t.type)return this.compile_smallercs(t);if(52==t.type)return this.compile_sequal(t);if(53==t.type)return this.compile_sequalci(t);if(54==t.type)return this.compile_sequalcs(t);if(55==t.type)return this.compile_match(t);if(56==t.type)return this.compile_matchci(t);if(57==t.type)return this.compile_matchcs(t);if(58==t.type)return this.compile_nomatch(t);if(59==t.type)return this.compile_nomatchci(t);if(60==t.type)return this.compile_nomatchcs(t);if(61==t.type)return this.compile_is(t);if(62==t.type)return this.compile_isci(t);if(63==t.type)return this.compile_iscs(t);if(64==t.type)return this.compile_isnot(t);if(65==t.type)return this.compile_isnotci(t);if(66==t.type)return this.compile_isnotcs(t);if(67==t.type)return this.compile_add(t);if(68==t.type)return this.compile_subtract(t);if(69==t.type)return this.compile_concat(t);if(70==t.type)return this.compile_multiply(t);if(71==t.type)return this.compile_divide(t);if(72==t.type)return this.compile_remainder(t);if(73==t.type)return this.compile_not(t);if(75==t.type)return this.compile_plus(t);if(74==t.type)return this.compile_minus(t);if(76==t.type)return this.compile_subscript(t);if(77==t.type)return this.compile_slice(t);if(79==t.type)return this.compile_dot(t);if(97==t.type)return this.compile_method(t);if(78==t.type)return this.compile_call(t);if(80==t.type)return this.compile_number(t);if(93==t.type)return this.compile_blob(t);if(81==t.type)return this.compile_string(t);if(82==t.type)return this.compile_list(t);if(83==t.type)return this.compile_dict(t);if(85==t.type)return this.compile_option(t);if(86==t.type)return this.compile_identifier(t);if(87==t.type)return this.compile_curlyname(t);if(88==t.type)return this.compile_env(t);if(89==t.type)return this.compile_reg(t);if(90==t.type)return this.compile_curlynamepart(t);if(91==t.type)return this.compile_curlynameexpr(t);if(92==t.type)return this.compile_lambda(t);if(96==t.type)return this.compile_heredoc(t);throw p("Compiler: unknown node: %s",w(t))},P.prototype.compile_body=function(t){for(var e=t,n=0;n %s %s)",this.compile(t.left),this.compile(t.right))},P.prototype.compile_greaterci=function(t){return p("(>? %s %s)",this.compile(t.left),this.compile(t.right))},P.prototype.compile_greatercs=function(t){return p("(># %s %s)",this.compile(t.left),this.compile(t.right))},P.prototype.compile_gequal=function(t){return p("(>= %s %s)",this.compile(t.left),this.compile(t.right))},P.prototype.compile_gequalci=function(t){return p("(>=? %s %s)",this.compile(t.left),this.compile(t.right))},P.prototype.compile_gequalcs=function(t){return p("(>=# %s %s)",this.compile(t.left),this.compile(t.right))},P.prototype.compile_smaller=function(t){return p("(< %s %s)",this.compile(t.left),this.compile(t.right))},P.prototype.compile_smallerci=function(t){return p("("==t||""==t||t==this.delim},B.prototype.parse_regexp=function(){var t="",e="",n=[];if("\\%#="==this.reader.peekn(4)){var i=this.reader.getpos();if("\\%#=0"!=(r=this.reader.getn(5))&&"\\%#=1"!=r&&"\\%#=2"!=r)throw I("E864: \\%#= can only be followed by 0, 1, or 2",i);o(n,r)}for(;!this.isend(this.reader.peek());){t=e;var r=(s=this.get_token())[0];if("\\m"==(e=s[1]))this.reg_magic=this.RE_MAGIC;else if("\\M"==e)this.reg_magic=this.RE_NOMAGIC;else if("\\v"==e)this.reg_magic=this.RE_VERY_MAGIC;else if("\\V"==e)this.reg_magic=this.RE_VERY_NOMAGIC;else if("\\*"==e){if(""==t||"\\^"==t||"\\&"==t||"\\|"==t||"\\("==t)e="*"}else if("\\^"==e){if(this.reg_magic!=this.RE_VERY_MAGIC&&""!=t&&"\\&"!=t&&"\\|"!=t&&"\\n"!=t&&"\\("!=t&&"\\%("!=t)e="^"}else if("\\$"==e){var a=this.reader.tell();if(this.reg_magic!=this.RE_VERY_MAGIC)for(;!this.isend(this.reader.peek());){(s=this.get_token())[0];var s,l=s[1];if("\\c"!=l&&"\\C"!=l&&"\\m"!=l&&"\\M"!=l&&"\\Z"!=l){if("\\|"!=l&&"\\&"!=l&&"\\n"!=l&&"\\)"!=l)e="$";break}}this.reader.seek_set(a)}else if("\\?"==e&&"?"==this.cmd)e="?";o(n,e)}return n},B.prototype.get_token=function(){return this.reg_magic==this.RE_VERY_MAGIC?this.get_token_very_magic():this.reg_magic==this.RE_MAGIC?this.get_token_magic():this.reg_magic==this.RE_NOMAGIC?this.get_token_nomagic():this.reg_magic==this.RE_VERY_NOMAGIC?this.get_token_very_nomagic():void 0},B.prototype.get_token_very_magic=function(){if(this.isend(this.reader.peek()))return["",""];var t=this.reader.get();return"\\"==t?this.get_token_backslash_common():"*"==t?["*","\\*"]:"+"==t?["+","\\+"]:"="==t?["=","\\="]:"?"==t?["?","\\?"]:"{"==t?this.get_token_brace("{"):"@"==t?this.get_token_at("@"):"^"==t?["^","\\^"]:"$"==t?["$","\\$"]:"."==t?[".","\\."]:"<"==t?["<","\\<"]:">"==t?[">","\\>"]:"%"==t?this.get_token_percent("%"):"["==t?this.get_token_sq("["):"~"==t?["~","\\~"]:"|"==t?["|","\\|"]:"&"==t?["&","\\&"]:"("==t?["(","\\("]:")"==t?[")","\\)"]:[t,t]},B.prototype.get_token_magic=function(){if(this.isend(this.reader.peek()))return["",""];if("\\"==(t=this.reader.get())){var t,e=this.reader.tell();return"+"==(t=this.reader.get())?["\\+","\\+"]:"="==t?["\\=","\\="]:"?"==t?["\\?","\\?"]:"{"==t?this.get_token_brace("\\{"):"@"==t?this.get_token_at("\\@"):"<"==t?["\\<","\\<"]:">"==t?["\\>","\\>"]:"%"==t?this.get_token_percent("\\%"):"|"==t?["\\|","\\|"]:"&"==t?["\\&","\\&"]:"("==t?["\\(","\\("]:")"==t?["\\)","\\)"]:(this.reader.seek_set(e),this.get_token_backslash_common())}return"*"==t?["*","\\*"]:"^"==t?["^","\\^"]:"$"==t?["$","\\$"]:"."==t?[".","\\."]:"["==t?this.get_token_sq("["):"~"==t?["~","\\~"]:[t,t]},B.prototype.get_token_nomagic=function(){if(this.isend(this.reader.peek()))return["",""];if("\\"==(t=this.reader.get())){var t,e=this.reader.tell();return"*"==(t=this.reader.get())?["\\*","\\*"]:"+"==t?["\\+","\\+"]:"="==t?["\\=","\\="]:"?"==t?["\\?","\\?"]:"{"==t?this.get_token_brace("\\{"):"@"==t?this.get_token_at("\\@"):"."==t?["\\.","\\."]:"<"==t?["\\<","\\<"]:">"==t?["\\>","\\>"]:"%"==t?this.get_token_percent("\\%"):"~"==t?["\\~","\\^"]:"["==t?this.get_token_sq("\\["):"|"==t?["\\|","\\|"]:"&"==t?["\\&","\\&"]:"("==t?["\\(","\\("]:")"==t?["\\)","\\)"]:(this.reader.seek_set(e),this.get_token_backslash_common())}return"^"==t?["^","\\^"]:"$"==t?["$","\\$"]:[t,t]},B.prototype.get_token_very_nomagic=function(){if(this.isend(this.reader.peek()))return["",""];if("\\"==(t=this.reader.get())){var t,e=this.reader.tell();return"*"==(t=this.reader.get())?["\\*","\\*"]:"+"==t?["\\+","\\+"]:"="==t?["\\=","\\="]:"?"==t?["\\?","\\?"]:"{"==t?this.get_token_brace("\\{"):"@"==t?this.get_token_at("\\@"):"^"==t?["\\^","\\^"]:"$"==t?["\\$","\\$"]:"<"==t?["\\<","\\<"]:">"==t?["\\>","\\>"]:"%"==t?this.get_token_percent("\\%"):"~"==t?["\\~","\\~"]:"["==t?this.get_token_sq("\\["):"|"==t?["\\|","\\|"]:"&"==t?["\\&","\\&"]:"("==t?["\\(","\\("]:")"==t?["\\)","\\)"]:(this.reader.seek_set(e),this.get_token_backslash_common())}return[t,t]},B.prototype.get_token_backslash_common=function(){var t="iIkKfFpPsSdDxXoOwWhHaAlLuU";if("\\"==(n=this.reader.get()))return["\\\\","\\\\"];if(-1!=_(t,n))return["\\"+n,"\\"+n];if("_"==n){var e=this.reader.getpos();if(-1!=_(t,n=this.reader.get()))return["\\_"+n,"\\_ . c"];if("^"==n)return["\\_^","\\_^"];if("$"==n)return["\\_$","\\_$"];if("."==n)return["\\_.","\\_."];if("["==n)return this.get_token_sq("\\_[");throw I("E63: invalid use of \\_",e)}if(-1!=_("etrb",n))return["\\"+n,"\\"+n];if(-1!=_("123456789",n))return["\\"+n,"\\"+n];if("z"==n){e=this.reader.getpos();if(-1!=_("123456789",n=this.reader.get()))return["\\z"+n,"\\z"+n];if("s"==n)return["\\zs","\\zs"];if("e"==n)return["\\ze","\\ze"];if("("==n)return["\\z(","\\z("];throw I("E68: Invalid character after \\z",e)}if(-1!=_("cCmMvVZ",n))return["\\"+n,"\\"+n];if("%"==n){var n;e=this.reader.getpos();if("d"==(n=this.reader.get())){if(""!=(i=this.getdecchrs()))return["\\%d"+i,"\\%d"+i]}else if("o"==n){if(""!=(i=this.getoctchrs()))return["\\%o"+i,"\\%o"+i]}else if("x"==n){if(""!=(i=this.gethexchrs(2)))return["\\%x"+i,"\\%x"+i]}else if("u"==n){if(""!=(i=this.gethexchrs(4)))return["\\%u"+i,"\\%u"+i]}else if("U"==n){var i;if(""!=(i=this.gethexchrs(8)))return["\\%U"+i,"\\%U"+i]}throw I("E678: Invalid character after \\%[dxouU]",e)}return["\\"+n,n]},B.prototype.get_token_brace=function(t){var e="",n="",i="",r="",o="";"-"==this.reader.p(0)&&(e+=n=this.reader.get());R(this.reader.p(0))&&(e+=r=this.reader.read_digit());","==this.reader.p(0)&&(e+=i=this.rader.get());R(this.reader.p(0))&&(e+=o=this.reader.read_digit());if("\\"==this.reader.p(0)&&(e+=this.reader.get()),"}"!=this.reader.p(0))throw I("E554: Syntax error in \\{...}",this.reader.getpos());return this.reader.get(),[t+e,"\\{"+n+r+i+o+"}"]},B.prototype.get_token_sq=function(t){var e=this.reader.tell(),n="";for("^"==this.reader.p(0)&&(n+=this.reader.get()),"]"!=this.reader.p(0)&&"-"!=this.reader.p(0)||(n+=this.reader.get());;){var i=0,r=this.reader.p(0);if(this.isend(r))return this.reader.seek_set(e),[t,"["];if("]"==r)return this.reader.seek_cur(1),[t+n+"]","\\["+n+"]"];if("["==r){if(""==(o=this.get_token_sq_char_class()))if(""==(o=this.get_token_sq_equi_class()))if(""==(o=this.get_token_sq_coll_element())){var o=(l=this.get_token_sq_c())[0];i=l[1]}n+=o}else{o=(l=this.get_token_sq_c())[0],i=l[1];n+=o}if(0!=i&&"-"==this.reader.p(0)&&!this.isend(this.reader.p(1))&&("\\"!=this.reader.p(1)||"n"!=this.reader.p(2))){if(this.reader.seek_cur(1),n+="-","["==(r=this.reader.p(0))){if(""!=(o=this.get_token_sq_coll_element()))var s=a(o[2]);else o=(l=this.get_token_sq_c())[0],s=l[1];n+=o}else{var l;o=(l=this.get_token_sq_c())[0],s=l[1];n+=o}if(i>s||s>i+256)throw I("E16: Invalid range",this.reader.getpos())}}},B.prototype.get_token_sq_c=function(){if("\\"==(t=this.reader.p(0))){if(this.reader.seek_cur(1),"n"==(t=this.reader.p(0)))return this.reader.seek_cur(1),["\\n",0];if("r"==t)return this.reader.seek_cur(1),["\\r",13];if("t"==t)return this.reader.seek_cur(1),["\\t",9];if("e"==t)return this.reader.seek_cur(1),["\\e",27];if("b"==t)return this.reader.seek_cur(1),["\\b",8];if(-1!=_("]^-\\",t))return this.reader.seek_cur(1),["\\"+t,a(t)];if(-1!=_("doxuU",t)){var t,e=this.get_token_sq_coll_char();return[t=e[0],e[1]]}return["\\",a("\\")]}return"-"==t?(this.reader.seek_cur(1),["-",a("-")]):(this.reader.seek_cur(1),[t,a(t)])},B.prototype.get_token_sq_coll_char=function(){var t=this.reader.tell(),e=this.reader.get();if("d"==e)var n=x(i=this.getdecchrs(),10);else if("o"==e)n=x(i=this.getoctchrs(),8);else if("x"==e)n=x(i=this.gethexchrs(2),16);else if("u"==e)n=x(i=this.gethexchrs(4),16);else if("U"==e)n=x(i=this.gethexchrs(8),16);else var i="";return""==i?(this.reader.seek_set(t),"\\"):["\\"+e+i,n]},B.prototype.get_token_sq_coll_element=function(){return"["!=this.reader.p(0)||"."!=this.reader.p(1)||this.isend(this.reader.p(2))||"."!=this.reader.p(3)||"]"!=this.reader.p(4)?"":this.reader.getn(5)},B.prototype.get_token_sq_equi_class=function(){return"["!=this.reader.p(0)||"="!=this.reader.p(1)||this.isend(this.reader.p(2))||"="!=this.reader.p(3)||"]"!=this.reader.p(4)?"":this.reader.getn(5)},B.prototype.get_token_sq_char_class=function(){var t=this.reader.tell();if("["==this.reader.p(0)&&":"==this.reader.p(1)){this.reader.seek_cur(2);var e=this.reader.read_alpha();if(":"==this.reader.p(0)&&"]"==this.reader.p(1)){this.reader.seek_cur(2);for(var n=["alnum","alpha","blank","cntrl","digit","graph","lower","print","punct","space","upper","xdigit","tab","return","backspace","escape"],i=0;i"==(n=this.reader.get()))return[t+">","\\@>"];if("="==n)return[t+"=","\\@="];if("!"==n)return[t+"!","\\@!"];if("<"==n){var n;if("="==(n=this.reader.get()))return[t+"<=","\\@<="];if("!"==n)return[t+""!=this.reader.p(0)||(e+=n=this.reader.get());if("'"==this.reader.p(0)){e+=this.reader.get();var i=this.reader.p(0);if(this.isend(i))i="";else i=this.reader.get();return[t+e+i,"\\%"+n+"'"+i]}if(R(this.reader.p(0))){var r=this.reader.read_digit();if(e+=r,"l"==(i=this.reader.p(0)))return this.reader.get(),[t+e+"l","\\%"+n+r+"l"];if("c"==i)return this.reader.get(),[t+e+"c","\\%"+n+r+"c"];if("v"==i)return this.reader.get(),[t+e+"v","\\%"+n+r+"v"]}throw I("E71: Invalid character after %",this.reader.getpos())},B.prototype.getdecchrs=function(){return this.reader.read_digit()},B.prototype.getoctchrs=function(){return this.reader.read_odigit()},B.prototype.gethexchrs=function(t){for(var e="",n=f(t),i=0;i.:]/,e.builtinFunctionPattern=/^((|\b(v|g|b|s|l|a):)?[\w#&]+)[ \t]*\([^)]*\)/,e.wordPrePattern=/^.*?(((|\b(v|g|b|s|l|a):)?[\w#&$.]+)|(||ID>|D>|>||\b(v|g|b|s|l|a):)?[\w#&$.]+|(:[\w#&$.]+)).*?(\r\n|\r|\n)?$/,e.colorschemePattern=/\bcolorscheme[ \t]+\w*$/,e.mapCommandPattern=/^([ \t]*(\[ \t]*)?)\w*map[ \t]+/,e.highlightLinkPattern=/^[ \t]*(hi|highlight)[ \t]+link([ \t]+[^ \t]+)*[ \t]*$/,e.highlightPattern=/^[ \t]*(hi|highlight)([ \t]+[^ \t]+)*[ \t]*$/,e.highlightValuePattern=/^[ \t]*(hi|highlight)([ \t]+[^ \t]+)*[ \t]+([^ \t=]+)=[^ \t=]*$/,e.autocmdPattern=/^[ \t]*(au|autocmd)!?[ \t]+([^ \t,]+,)*[^ \t,]*$/,e.builtinVariablePattern=[/\bv:\w*$/],e.optionPattern=[/(^|[ \t]+)&\w*$/,/(^|[ \t]+)set(l|local|g|global)?[ \t]+\w+$/],e.notFunctionPattern=[/^[ \t]*\\$/,/^[ \t]*\w+$/,/^[ \t]*"/,/(let|set|colorscheme)[ \t][^ \t]*$/,/[^([,\\ \t\w#>]\w*$/,/^[ \t]*(hi|highlight)([ \t]+link)?([ \t]+[^ \t]+)*[ \t]*$/,e.autocmdPattern],e.commandPattern=[/(^|[ \t]):\w+$/,/^[ \t]*\w+$/,/:?silent!?[ \t]\w+/],e.featurePattern=[/\bhas\([ \t]*["']\w*/],e.expandPattern=[/\bexpand\(['"]<\w*$/,/\bexpand\([ \t]*['"]\w*$/],e.notIdentifierPattern=[e.commentPattern,/("|'):\w*$/,/^[ \t]*\\$/,/^[ \t]*call[ \t]+[^ \t()]*$/,/('|"|#|&|\$|<)\w*$/]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,r=n(44);e.default={init:function(t){i=t},get iskeyword(){return i&&i.iskeyword||""},get vimruntime(){return i&&i.vimruntime||""},get runtimepath(){return i&&i.runtimepath||[]},get diagnostic(){return i&&i.diagnostic||{enable:!0}},get snippetSupport(){return i&&i.snippetSupport||!1},get suggest(){return i&&i.suggest||{fromRuntimepath:!1,fromVimruntime:!0}},get indexes(){var t={runtimepath:!0,gap:100,count:1,projectRootPatterns:r.projectRootPatterns};return i&&i.indexes?(void 0!==i.indexes.gap&&(t.gap=i.indexes.gap),void 0!==i.indexes.count&&(t.count=i.indexes.count),void 0!==i.indexes.projectRootPatterns&&Array.isArray(i.indexes.projectRootPatterns)&&i.indexes.projectRootPatterns.length&&(t.projectRootPatterns=i.indexes.projectRootPatterns),t):t}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(58);e.documents=new i.TextDocuments(r.TextDocument)},function(t,e,n){"use strict";n.r(e),n.d(e,"TextDocument",(function(){return i}));var i,r=function(){function t(t,e,n,i){this._uri=t,this._languageId=e,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),t.prototype.getText=function(t){if(t){var e=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(e,n)}return this._content},t.prototype.update=function(e,n){for(var i=0,r=e;it?i=r:n=r+1}var o=n-1;return{line:o,character:t-e[o]}},t.prototype.offsetAt=function(t){var e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;var n=e[t.line],i=t.line+1n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function s(t){var e=a(t.range);return e!==t.range?{newText:t.newText,range:e}:t}!function(t){t.create=function(t,e,n,i){return new r(t,e,n,i)},t.update=function(t,e,n){if(t instanceof r)return t.update(e,n),t;throw new Error("TextDocument.update: document must be created by TextDocument.create")},t.applyEdits=function(t,e){for(var n=t.getText(),i=0,r=[],o=0,a=function t(e,n){if(e.length<=1)return e;var i=e.length/2|0;var r=e.slice(0,i);var o=e.slice(i);t(r,n);t(o,n);var a=0;var s=0;var l=0;for(;ai&&r.push(n.substring(i,c)),l.newText.length&&r.push(l.newText),i=t.offsetAt(l.range.end)}return r.push(n.substr(i)),r.join("")}}(i||(i={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(55),r=n(60);n(141).useProvider((function(t){return i.autocmdPattern.test(t)?r.builtinDocs.getVimAutocmds().filter((function(e){return-1===t.indexOf(e.label)})):[]}))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]"]?{contents:this.formatVimDocument(this.expandKeywordDocuments["<"+t+">"])}:h.isSomeMatchPattern(m.commandPattern,e)&&this.vimCommandDocuments[t]?{contents:this.formatVimDocument(this.vimCommandDocuments[t])}:void 0},t.prototype.start=function(){return r(this,void 0,void 0,(function(){var t,e,n=this;return o(this,(function(i){(t=f.default.runtimepath)&&this.resolveColorschemes(t),this.resolveMapArgs(),this.resolveHighlightArgKeys(),this.resolveHighlightArgValues();try{e=p.default,this.vimBuiltinFunctionItems=e.completionItems.functions,this.vimBuiltinFunctionItems.forEach((function(t){n.vimBuiltinFunctionMap[t.label]||(n.vimBuiltinFunctionMap[t.label]=!0)})),this.vimBuiltFunctionDocuments=e.documents.functions,this.vimCommandItems=e.completionItems.commands,this.vimCommandDocuments=e.documents.commands,this.vimPredefinedVariablesItems=e.completionItems.variables,this.vimPredefinedVariableDocuments=e.documents.variables,this.vimOptionItems=e.completionItems.options,this.vimOptionDocuments=e.documents.options,this.vimFeatureItems=e.completionItems.features,this.vimAutocmdItems=e.completionItems.autocmds,this.vimFeatureDocuments=e.documents.features,this.expandKeywordItems=e.completionItems.expandKeywords,this.expandKeywordDocuments=e.documents.expandKeywords,this.vimBuiltFunctionSignatureHelp=e.signatureHelp}catch(t){g.error("[vimls]: parse docs/builtin-doc.json fail => "+(t.message||t))}return[2]}))}))},t.prototype.formatVimDocument=function(t){var e=0;return{kind:u.MarkupKind.Markdown,value:a(["```help"],t.map((function(t){if(0===e){var n=t.match(/^([ \t]+)/);n&&(e=n[1].length)}return t.replace(new RegExp("^[ \\t]{"+e+"}","g"),"").replace(/\t/g," ")})),["```"]).join("\n")}},t.prototype.resolveMapArgs=function(){this.vimMapArgsItems=["","","","