UNPKG

code-server

Version:

Run VS Code on a remote server.

3 lines (2 loc) 5.24 kB
"use strict";var b=Object.create;var S=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var W=(t,c)=>{for(var a in c)S(t,a,{get:c[a],enumerable:!0})},y=(t,c,a,l)=>{if(c&&typeof c=="object"||typeof c=="function")for(let n of O(c))!N.call(t,n)&&n!==a&&S(t,n,{get:()=>c[n],enumerable:!(l=A(c,n))||l.enumerable});return t};var U=(t,c,a)=>(a=t!=null?b(_(t)):{},y(c||!t||!t.__esModule?S(a,"default",{value:t,enumerable:!0}):a,t)),M=t=>y(S({},"__esModule",{value:!0}),t);var K={};W(K,{activate:()=>H});module.exports=M(K);var e=U(require("vscode")),P=U(require("path")),$=/^(\S.*):$/,q=/^(\s+)(\d+)(: | )(\s*)(.*)$/,R=/⟪ ([0-9]+) characters skipped ⟫/g,w={language:"search-result",exclusive:!0},C=["# Query:","# Flags:","# Including:","# Excluding:","# ContextLines:"],G=["RegExp","CaseSensitive","IgnoreExcludeSettings","WordMatch"],v,D;function H(t){let c=e.window.createTextEditorDecorationType({opacity:"0.7"}),a=e.window.createTextEditorDecorationType({fontWeight:"bold"}),l=n=>{let s=E(n.document).filter(j),o=s.filter(r=>r.isContext).map(r=>r.prefixRange),i=s.filter(r=>!r.isContext).map(r=>r.prefixRange);n.setDecorations(c,o),n.setDecorations(a,i)};e.window.activeTextEditor&&e.window.activeTextEditor.document.languageId==="search-result"&&l(e.window.activeTextEditor),t.subscriptions.push(e.languages.registerDocumentSymbolProvider(w,{provideDocumentSymbols(n,s){return E(n,s).filter(F).map(i=>new e.DocumentSymbol(i.path,"",e.SymbolKind.File,i.allLocations.map(({originSelectionRange:r})=>r).reduce((r,d)=>r.union(d),i.location.originSelectionRange),i.location.originSelectionRange))}}),e.languages.registerCompletionItemProvider(w,{provideCompletionItems(n,s){let o=n.lineAt(s.line);if(s.line>3)return[];if(s.character===0||s.character===1&&o.text==="#"){let i=Array.from({length:C.length}).map((r,d)=>n.lineAt(d).text);return C.filter(r=>i.every(d=>d.indexOf(r)===-1)).map(r=>({label:r,insertText:r.slice(s.character)+" "}))}return o.text.indexOf("# Flags:")===-1?[]:G.filter(i=>o.text.indexOf(i)===-1).map(i=>({label:i,insertText:i+" "}))}},"#"),e.languages.registerDefinitionProvider(w,{provideDefinition(n,s,o){let i=E(n,o)[s.line];if(!i)return[];if(i.type==="file")return i.allLocations.map(u=>({...u,originSelectionRange:i.location.originSelectionRange}));let r=i.locations.find(u=>u.originSelectionRange.contains(s));if(!r)return[];let d=new e.Position(r.targetSelectionRange.start.line,r.targetSelectionRange.start.character+(s.character-r.originSelectionRange.start.character));return[{...r,targetSelectionRange:new e.Range(d,d)}]}}),e.languages.registerDocumentLinkProvider(w,{async provideDocumentLinks(n,s){return E(n,s).filter(F).map(({location:o})=>({range:o.originSelectionRange,target:o.targetUri}))}}),e.window.onDidChangeActiveTextEditor(n=>{n?.document.languageId==="search-result"&&(v=void 0,D?.dispose(),D=e.workspace.onDidChangeTextDocument(s=>{s.document.uri===n.document.uri&&l(n)}),l(n))}),{dispose(){v=void 0,D?.dispose()}})}function X(t,c){let a="(Settings) ";if(t.startsWith(a))return e.Uri.file(t.slice(a.length)).with({scheme:"vscode-userdata"});if(P.isAbsolute(t))return/^[\\\/]Untitled-\d*$/.test(t)?e.Uri.file(t.slice(1)).with({scheme:"untitled",path:t.slice(1)}):e.Uri.file(t);if(t.indexOf("~/")===0){let n=process.env.HOME||process.env.HOMEPATH||"";return e.Uri.file(P.join(n,t.slice(2)))}let l=(n,s)=>e.Uri.joinPath(n.uri,s);if(e.workspace.workspaceFolders){let n=/^(.*) • (.*)$/.exec(t);if(n){let[,s,o]=n,i=e.workspace.workspaceFolders.filter(r=>r.name===s)[0];if(i)return l(i,o)}else{if(e.workspace.workspaceFolders.length===1)return l(e.workspace.workspaceFolders[0],t);if(c.scheme!=="untitled"){let s=e.workspace.workspaceFolders.filter(o=>c.toString().startsWith(o.uri.toString()))[0];if(s)return l(s,t)}}}console.error(`Unable to resolve path ${t}`)}var F=t=>t.type==="file",j=t=>t.type==="result";function E(t,c){if(v&&v.uri===t.uri&&v.version===t.version)return v.parse;let a=t.getText().split(/\r?\n/),l=[],n,s;for(let o=0;o<a.length;o++){if(c?.isCancellationRequested)return[];let i=a[o],r=$.exec(i);if(r){let[,u]=r;if(n=X(u,t.uri),!n)continue;s=[];let m={targetRange:new e.Range(0,0,0,1),targetUri:n,originSelectionRange:new e.Range(o,0,o,i.length)};l[o]={type:"file",location:m,allLocations:s,path:u}}if(!n)continue;let d=q.exec(i);if(d){let[,u,m,k]=d,g=+m-1,x=(u+m+k).length,T=new e.Range(Math.max(g-3,0),0,g+3,i.length),f=[],h=x,p=0;R.lastIndex=x;for(let L;L=R.exec(i);)f.push({targetRange:T,targetSelectionRange:new e.Range(g,p,g,p),targetUri:n,originSelectionRange:new e.Range(o,h,o,R.lastIndex-L[0].length)}),p+=R.lastIndex-h-L[0].length+Number(L[1]),h=R.lastIndex;h<i.length&&f.push({targetRange:T,targetSelectionRange:new e.Range(g,p,g,p),targetUri:n,originSelectionRange:new e.Range(o,h,o,i.length)}),k.includes(":")&&s?.push(...f);let I={targetRange:T,targetSelectionRange:new e.Range(g,0,g,1),targetUri:n,originSelectionRange:new e.Range(o,0,o,x-1)};f.push(I),l[o]={type:"result",locations:f,isContext:k===" ",prefixRange:new e.Range(o,0,o,x)}}}return v={version:t.version,parse:l,uri:t.uri},l}0&&(module.exports={activate}); //# sourceMappingURL=extension.js.map