diff --git a/dotfiles/.vscode-oss/extensions/extensions.json b/dotfiles/.vscode-oss/extensions/extensions.json index 1ffc0d42..2dd389e2 100644 --- a/dotfiles/.vscode-oss/extensions/extensions.json +++ b/dotfiles/.vscode-oss/extensions/extensions.json @@ -1 +1 @@ -[{"identifier":{"id":"piousdeer.adwaita-theme","uuid":"93fbc635-4a9a-4ff1-88ba-bf017484c602"},"version":"1.1.0","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal","scheme":"file"},"relativeLocation":"piousdeer.adwaita-theme-1.1.0-universal","metadata":{"id":"93fbc635-4a9a-4ff1-88ba-bf017484c602","publisherId":"93befe42-7314-4d14-8724-19419a27ed64","publisherDisplayName":"piousdeer","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714048423200,"pinned":false,"source":"gallery"}},{"identifier":{"id":"oderwat.indent-rainbow","uuid":"eaa2127d-cb69-4ab9-8505-a60c9ee5f28b"},"version":"8.3.1","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/oderwat.indent-rainbow-8.3.1-universal","scheme":"file"},"relativeLocation":"oderwat.indent-rainbow-8.3.1-universal","metadata":{"id":"eaa2127d-cb69-4ab9-8505-a60c9ee5f28b","publisherId":"ac064ae0-224d-4351-9aa4-45ef7bf3ed21","publisherDisplayName":"oderwat","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714048433635,"pinned":false,"source":"gallery"}},{"identifier":{"id":"yandeu.five-server","uuid":"a18a6705-5a6a-4e14-a4a7-3efa6b7647d5"},"version":"0.3.1","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/yandeu.five-server-0.3.1-universal","scheme":"file"},"relativeLocation":"yandeu.five-server-0.3.1-universal","metadata":{"id":"a18a6705-5a6a-4e14-a4a7-3efa6b7647d5","publisherId":"a342b7ab-2d58-4313-9c2d-f506bb2aa10c","publisherDisplayName":"yandeu","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714049361078,"pinned":false,"source":"gallery"}},{"identifier":{"id":"rust-lang.rust-analyzer","uuid":"06574cb4-e5dc-4631-8174-a543a4533621"},"version":"0.3.1932","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64","scheme":"file"},"relativeLocation":"rust-lang.rust-analyzer-0.3.1932-linux-x64","metadata":{"id":"06574cb4-e5dc-4631-8174-a543a4533621","publisherId":"cb14a7a7-a188-40bd-a953-e0a20757c5dd","publisherDisplayName":"rust-lang","targetPlatform":"linux-x64","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714049437810,"pinned":false,"source":"gallery"}},{"identifier":{"id":"formulahendry.code-runner","uuid":"a6a0c5b2-d078-4bf5-a9ee-4e37054414b3"},"version":"0.12.2","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/formulahendry.code-runner-0.12.2-universal","scheme":"file"},"relativeLocation":"formulahendry.code-runner-0.12.2-universal","metadata":{"id":"a6a0c5b2-d078-4bf5-a9ee-4e37054414b3","publisherId":"38bbe3f0-5204-4170-845e-c2f966d979b8","publisherDisplayName":"formulahendry","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714049439694,"pinned":false,"source":"gallery"}},{"identifier":{"id":"continue.continue","uuid":"c8d442ab-9ee3-4891-a5b0-994f14f54c94"},"version":"0.8.25","location":{"$mid":1,"fsPath":"/home/trude/.vscode-oss/extensions/continue.continue-0.8.25-linux-x64","external":"file:///home/trude/.vscode-oss/extensions/continue.continue-0.8.25-linux-x64","path":"/home/trude/.vscode-oss/extensions/continue.continue-0.8.25-linux-x64","scheme":"file"},"relativeLocation":"continue.continue-0.8.25-linux-x64","metadata":{"id":"c8d442ab-9ee3-4891-a5b0-994f14f54c94","publisherId":"8701b9ff-bc1c-483c-b95d-ac0ba7d51a0b","publisherDisplayName":"Continue","targetPlatform":"linux-x64","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714171279470,"pinned":false,"source":"gallery"}}] \ No newline at end of file +[{"identifier":{"id":"piousdeer.adwaita-theme","uuid":"93fbc635-4a9a-4ff1-88ba-bf017484c602"},"version":"1.1.0","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal","scheme":"file"},"relativeLocation":"piousdeer.adwaita-theme-1.1.0-universal","metadata":{"id":"93fbc635-4a9a-4ff1-88ba-bf017484c602","publisherId":"93befe42-7314-4d14-8724-19419a27ed64","publisherDisplayName":"piousdeer","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714048423200,"pinned":false,"source":"gallery"}},{"identifier":{"id":"oderwat.indent-rainbow","uuid":"eaa2127d-cb69-4ab9-8505-a60c9ee5f28b"},"version":"8.3.1","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/oderwat.indent-rainbow-8.3.1-universal","scheme":"file"},"relativeLocation":"oderwat.indent-rainbow-8.3.1-universal","metadata":{"id":"eaa2127d-cb69-4ab9-8505-a60c9ee5f28b","publisherId":"ac064ae0-224d-4351-9aa4-45ef7bf3ed21","publisherDisplayName":"oderwat","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714048433635,"pinned":false,"source":"gallery"}},{"identifier":{"id":"yandeu.five-server","uuid":"a18a6705-5a6a-4e14-a4a7-3efa6b7647d5"},"version":"0.3.1","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/yandeu.five-server-0.3.1-universal","scheme":"file"},"relativeLocation":"yandeu.five-server-0.3.1-universal","metadata":{"id":"a18a6705-5a6a-4e14-a4a7-3efa6b7647d5","publisherId":"a342b7ab-2d58-4313-9c2d-f506bb2aa10c","publisherDisplayName":"yandeu","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714049361078,"pinned":false,"source":"gallery"}},{"identifier":{"id":"formulahendry.code-runner","uuid":"a6a0c5b2-d078-4bf5-a9ee-4e37054414b3"},"version":"0.12.2","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/formulahendry.code-runner-0.12.2-universal","scheme":"file"},"relativeLocation":"formulahendry.code-runner-0.12.2-universal","metadata":{"id":"a6a0c5b2-d078-4bf5-a9ee-4e37054414b3","publisherId":"38bbe3f0-5204-4170-845e-c2f966d979b8","publisherDisplayName":"formulahendry","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714049439694,"pinned":false,"source":"gallery"}},{"identifier":{"id":"continue.continue","uuid":"c8d442ab-9ee3-4891-a5b0-994f14f54c94"},"version":"0.8.25","location":{"$mid":1,"path":"/home/trude/.vscode-oss/extensions/continue.continue-0.8.25-linux-x64","scheme":"file"},"relativeLocation":"continue.continue-0.8.25-linux-x64","metadata":{"id":"c8d442ab-9ee3-4891-a5b0-994f14f54c94","publisherId":"8701b9ff-bc1c-483c-b95d-ac0ba7d51a0b","publisherDisplayName":"Continue","targetPlatform":"linux-x64","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714171279470,"pinned":false,"source":"gallery"}},{"identifier":{"id":"rust-lang.rust-analyzer","uuid":"06574cb4-e5dc-4631-8174-a543a4533621"},"version":"0.3.1940","location":{"$mid":1,"fsPath":"/home/trude/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64","external":"file:///home/trude/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64","path":"/home/trude/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64","scheme":"file"},"relativeLocation":"rust-lang.rust-analyzer-0.3.1940-linux-x64","metadata":{"id":"06574cb4-e5dc-4631-8174-a543a4533621","publisherId":"cb14a7a7-a188-40bd-a953-e0a20757c5dd","publisherDisplayName":"rust-lang","targetPlatform":"linux-x64","isApplicationScoped":false,"updated":true,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1714492320199,"pinned":false,"preRelease":false,"source":"gallery"}}] \ No newline at end of file diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/.vsixmanifest b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/.vsixmanifest similarity index 97% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/.vsixmanifest rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/.vsixmanifest index da5c4ae5..bf80a623 100644 --- a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/.vsixmanifest +++ b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/.vsixmanifest @@ -1,7 +1,7 @@ - + rust-analyzer Rust language support for Visual Studio Code rust,keybindings,json,ra_syntax_tree,__ext_rast,Rust,rs,__ext_rs diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/LICENSE.txt b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/LICENSE.txt similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/LICENSE.txt rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/LICENSE.txt diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/README.md b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/README.md similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/README.md rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/README.md diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/icon.png b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/icon.png similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/icon.png rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/icon.png diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/language-configuration.json b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/language-configuration.json similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/language-configuration.json rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/language-configuration.json diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/node_modules/d3-graphviz/build/d3-graphviz.min.js b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/node_modules/d3-graphviz/build/d3-graphviz.min.js similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/node_modules/d3-graphviz/build/d3-graphviz.min.js rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/node_modules/d3-graphviz/build/d3-graphviz.min.js diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/node_modules/d3/dist/d3.min.js b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/node_modules/d3/dist/d3.min.js similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/node_modules/d3/dist/d3.min.js rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/node_modules/d3/dist/d3.min.js diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/out/main.js b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/out/main.js similarity index 99% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/out/main.js rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/out/main.js index e15daf4c..d956f8b6 100644 --- a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/out/main.js +++ b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/out/main.js @@ -354,9 +354,13 @@ locate() ''; } `,i=pt.Uri.file(n.fsPath+"-orig");await pt.workspace.fs.rename(n,i,{overwrite:!0});try{e.report({message:"Patching executable",increment:20}),await new Promise((o,s)=>{var c,d;let a=(0,Xy.exec)(`nix-build -E - --argstr srcStr '${i.fsPath}' -o '${n.fsPath}'`,(f,g,m)=>{f!=null?s(Error(m)):o(g)});(c=a.stdin)==null||c.write(r),(d=a.stdin)==null||d.end()})}finally{await pt.workspace.fs.delete(i)}})}var xt=fe(require("vscode"));var Qy=(n,e,t)=>{let r,i=new Map,o=new Map,s=new Map;e.createRunProfile("Run Tests",xt.TestRunProfileKind.Run,async(f,g)=>{var w,T;if(r)for(await t.sendNotification(rf);r;)await new Promise(S=>setTimeout(S,1));r=e.createTestRun(f),g.onCancellationRequested(async()=>{await t.sendNotification(rf)});let m=(w=f.include)==null?void 0:w.map(S=>S.id),C=(T=f.exclude)==null?void 0:T.map(S=>S.id);await t.sendRequest(av,{include:m,exclude:C})},!0,void 0,!1),e.createRunProfile("Debug Tests",xt.TestRunProfileKind.Debug,async f=>{var C,w;if(((C=f.include)==null?void 0:C.length)!==1||((w=f.exclude)==null?void 0:w.length)!==0){await xt.window.showErrorMessage("You can debug only one test at a time");return}let g=f.include[0].id,m=s.get(g);if(!m){await xt.window.showErrorMessage("You can debug only one test at a time");return}await Oo(n,m)},!0,void 0,!1);let a=(f,g)=>{g.delete(f.id),i.delete(f.id),s.delete(f.id),f.uri&&o.set(f.uri.toString(),o.get(f.uri.toString()).filter(m=>m.id!==f.id))},c=f=>{var q,F,I;let g=f.parent?i.get(f.parent).children:e.items,m=g.get(f.id),C=(q=f.textDocument)!=null&&q.uri?xt.Uri.parse((F=f.textDocument)==null?void 0:F.uri):void 0,w=f.range&&new xt.Range(new xt.Position(f.range.start.line,f.range.start.character),new xt.Position(f.range.end.line,f.range.end.character));if(m){if(((I=m.uri)==null?void 0:I.toString())===(C==null?void 0:C.toString())){m.range=w;return}a(m,g)}let T={package:"package",module:"symbol-module",test:"beaker"},S=e.createTestItem(f.id,`$(${T[f.kind]}) ${f.label}`,C);S.range=w,S.canResolveChildren=f.canResolveChildren,i.set(f.id,S),C&&(o.has(C.toString())||o.set(C.toString(),[]),o.get(C.toString()).push(S)),f.runnable&&s.set(f.id,f.runnable),g.add(S)},d=f=>{let{tests:g,scope:m,scopeFile:C}=f,w=new Set;for(let T of g)c(T),w.add(T.id);if(!m&&!C)for(let T of g)e.resolveHandler(i.get(T.id));if(m){let T=S=>{for(let[q,F]of S)w.has(F.id)?T(F.children):a(F,S)};for(let S of m)T(i.get(S).children)}if(C){let T=S=>{var F;let q=(o.get(S.toString())||[]).filter(I=>!w.has(I.id));for(let I of q){let A=((F=I.parent)==null?void 0:F.children)||e.items;a(I,A)}};for(let S of C)T(xt.Uri.parse(S.uri))}};n.pushClientCleanup(t.onNotification(sv,f=>{d(f)})),n.pushClientCleanup(t.onNotification(cv,()=>{r.end(),r=void 0})),n.pushClientCleanup(t.onNotification(uv,f=>{r.appendOutput(`${f}\r -`)})),n.pushClientCleanup(t.onNotification(dv,f=>{let g=i.get(f.testId);f.state.tag==="failed"?r.failed(g,new xt.TestMessage(f.state.message)):f.state.tag==="passed"?r.passed(g):f.state.tag==="started"?r.started(g):f.state.tag==="skipped"?r.skipped(g):f.state.tag==="enqueued"&&r.enqueued(g)})),e.resolveHandler=async f=>{let g=await t.sendRequest(ov,{testId:f==null?void 0:f.id});d(g)},e.refreshHandler=async()=>{e.items.forEach(f=>{e.items.delete(f.id)}),i=new Map,await e.resolveHandler(void 0)}};function Pf(){let n=(we.workspace.workspaceFolders||[]).filter(t=>t.uri.scheme==="file"),e=we.workspace.textDocuments.filter(t=>Nn(t));return n.length===0?e.length===0?{kind:"Empty"}:{kind:"Detached Files",files:e}:{kind:"Workspace Folder"}}var qa=class{constructor(e,t,r){this.extCtx=e;this.lastStatus={health:"stopped"};e.subscriptions.push(this),this.config=new Ra(e),this.statusBar=we.window.createStatusBarItem(we.StatusBarAlignment.Left),this.config.testExplorer&&(this.testController=we.tests.createTestController("rustAnalyzerTestController","Rust Analyzer test controller")),this.workspace=r,this.clientSubscriptions=[],this.commandDisposables=[],this.commandFactories=t,this.unlinkedFiles=[],this.state=new ka(e.globalState),this.updateCommands("disable"),this.setServerStatus({health:"stopped"})}get client(){return this._client}get treeView(){return this._treeView}get dependencies(){return this._dependencies}dispose(){var e;this.config.dispose(),this.statusBar.dispose(),(e=this.testController)==null||e.dispose(),this.disposeClient(),this.commandDisposables.forEach(t=>t.dispose())}async onWorkspaceFolderChanges(){var t,r;let e=Pf();if(e.kind==="Detached Files"&&this.workspace.kind==="Detached Files"&&e.files!==this.workspace.files){(t=this.client)!=null&&t.isRunning()&&(await this.stopAndDispose(),await this.start());return}if(!(e.kind==="Workspace Folder"&&this.workspace.kind==="Workspace Folder")){if(e.kind==="Empty"){await this.stopAndDispose();return}(r=this.client)!=null&&r.isRunning()&&await this.restart()}}async getOrCreateClient(){if(this.workspace.kind!=="Empty"){if(this.traceOutputChannel||(this.traceOutputChannel=new ha("Rust Analyzer Language Server Trace"),this.pushExtCleanup(this.traceOutputChannel)),this.outputChannel||(this.outputChannel=we.window.createOutputChannel("Rust Analyzer Language Server"),this.pushExtCleanup(this.outputChannel)),!this._client){this._serverPath=await Jy(this.extCtx,this.config,this.state).catch(s=>{let a="bootstrap error. ";throw a+='See the logs in "OUTPUT > Rust Analyzer Client" (should open automatically). ',a+='To enable verbose logs use { "rust-analyzer.trace.extension": true }',ge.error("Bootstrap error",s),new Error(a)});let e=Object.assign({},process.env,this.config.serverExtraEnv),t={command:this._serverPath,options:{env:e}},r={run:t,debug:t},i=we.workspace.getConfiguration("rust-analyzer");if(this.config.discoverProjectRunner){let s=`${this.config.discoverProjectRunner}.discoverWorkspaceCommand`;ge.info(`running command: ${s}`);let a=we.workspace.textDocuments.filter(Nn).map(d=>d.uri),c=await we.commands.executeCommand(s,a);this.setWorkspaces(c)}this.workspace.kind==="Detached Files"&&(i={detachedFiles:this.workspace.files.map(s=>s.uri.fsPath),...i});let o=Jr(i,(s,a)=>{s==="linkedProjects"&&this.config.discoveredWorkspaces.length>0&&(a.linkedProjects=this.config.discoveredWorkspaces)});this._client=await Xv(this.traceOutputChannel,this.outputChannel,o,r,this.config,this.unlinkedFiles),this.pushClientCleanup(this._client.onNotification(Cv,s=>this.setServerStatus(s))),this.pushClientCleanup(this._client.onNotification(Vm,()=>{this.outputChannel.show()})),this.pushClientCleanup(this._client.onNotification(bv,async s=>{if(this.config.discoverProjectRunner){let a=`${this.config.discoverProjectRunner}.discoverWorkspaceCommand`;ge.info(`running command: ${a}`);let c=s.textDocuments.map(f=>we.Uri.parse(f.uri,!0)),d=await we.commands.executeCommand(a,c);this.setWorkspaces(d),await this.notifyRustAnalyzer()}}))}return this._client}}async start(){ge.info("Starting language client");let e=await this.getOrCreateClient();e&&(await e.start(),this.updateCommands(),this.testController&&Qy(this,this.testController,e),this.config.showDependenciesExplorer&&this.prepareTreeDependenciesView(e))}prepareTreeDependenciesView(e){var r;let t={...this,client:e};this._dependencies=new Pa(t),this._treeView=we.window.createTreeView("rustDependencies",{treeDataProvider:this._dependencies,showCollapseAll:!0}),this.pushExtCleanup(this._treeView),we.window.onDidChangeActiveTextEditor(async i=>{if(this.shouldRevealDependency(i))try{await Sf(i)}catch(o){await we.window.showErrorMessage(`Dependency error: ${o}`)}}),(r=this.treeView)==null||r.onDidChangeVisibility(async i=>{if(i.visible){let o=we.window.activeTextEditor;if(this.shouldRevealDependency(o))try{await Sf(o)}catch(s){await we.window.showErrorMessage(`Dependency error: ${s}`)}}})}shouldRevealDependency(e){var t;return e!==void 0&&Mn(e)&&!Sv(e.document)&&(((t=this.treeView)==null?void 0:t.visible)||!1)}async restart(){await this.stopAndDispose(),await this.start()}async stop(){this._client&&(ge.info("Stopping language client"),this.updateCommands("disable"),await this._client.stop())}async stopAndDispose(){this._client&&(ge.info("Disposing language client"),this.updateCommands("disable"),await this.disposeClient())}async disposeClient(){var e,t;(e=this.clientSubscriptions)==null||e.forEach(r=>r.dispose()),this.clientSubscriptions=[],await((t=this._client)==null?void 0:t.dispose()),this._serverPath=void 0,this._client=void 0}get activeRustEditor(){let e=we.window.activeTextEditor;return e&&Mn(e)?e:void 0}get extensionPath(){return this.extCtx.extensionPath}get subscriptions(){return this.extCtx.subscriptions}get serverPath(){return this._serverPath}setWorkspaces(e){this.config.discoveredWorkspaces=e}async notifyRustAnalyzer(){var e;await((e=this.client)==null?void 0:e.sendNotification(Yy.DidChangeConfigurationNotification.type,{settings:""}))}updateCommands(e){var i;this.commandDisposables.forEach(o=>o.dispose()),this.commandDisposables=[];let t=(!e&&((i=this._client)==null?void 0:i.isRunning()))??!1,r=function(o){return t};for(let[o,s]of Object.entries(this.commandFactories)){let a=`rust-analyzer.${o}`,c;r(this)?c=s.enabled(this):s.disabled?c=s.disabled(this):c=()=>we.window.showErrorMessage(`command ${a} failed: rust-analyzer server is not running`),this.commandDisposables.push(we.commands.registerCommand(a,c))}}setServerStatus(e){this.lastStatus=e,this.updateStatusBarItem()}refreshServerStatus(){this.updateStatusBarItem()}updateStatusBarItem(){var i;let e="",t=this.lastStatus,r=this.statusBar;switch(r.show(),r.tooltip=new we.MarkdownString("",!0),r.tooltip.isTrusted=!0,t.health){case"ok":r.tooltip.appendText(t.message??"Ready"),r.color=void 0,r.backgroundColor=void 0,this.config.statusBarClickAction==="stopServer"?r.command="rust-analyzer.stopServer":r.command="rust-analyzer.openLogs",(i=this.dependencies)==null||i.refresh();break;case"warning":t.message&&r.tooltip.appendText(t.message),r.color=new we.ThemeColor("statusBarItem.warningForeground"),r.backgroundColor=new we.ThemeColor("statusBarItem.warningBackground"),r.command="rust-analyzer.openLogs",e="$(warning) ";break;case"error":t.message&&r.tooltip.appendText(t.message),r.color=new we.ThemeColor("statusBarItem.errorForeground"),r.backgroundColor=new we.ThemeColor("statusBarItem.errorBackground"),r.command="rust-analyzer.openLogs",e="$(error) ";break;case"stopped":r.tooltip.appendText("Server is stopped"),r.tooltip.appendMarkdown(` +`)})),n.pushClientCleanup(t.onNotification(dv,f=>{let g=i.get(f.testId);f.state.tag==="failed"?r.failed(g,new xt.TestMessage(f.state.message)):f.state.tag==="passed"?r.passed(g):f.state.tag==="started"?r.started(g):f.state.tag==="skipped"?r.skipped(g):f.state.tag==="enqueued"&&r.enqueued(g)})),e.resolveHandler=async f=>{let g=await t.sendRequest(ov,{testId:f==null?void 0:f.id});d(g)},e.refreshHandler=async()=>{e.items.forEach(f=>{e.items.delete(f.id)}),i=new Map,await e.resolveHandler(void 0)}};function Pf(){let n=(we.workspace.workspaceFolders||[]).filter(t=>t.uri.scheme==="file"),e=we.workspace.textDocuments.filter(t=>Nn(t));return n.length===0?e.length===0?{kind:"Empty"}:{kind:"Detached Files",files:e}:{kind:"Workspace Folder"}}var qa=class{constructor(e,t,r){this.extCtx=e;this.lastStatus={health:"stopped"};e.subscriptions.push(this),this.config=new Ra(e),this.statusBar=we.window.createStatusBarItem(we.StatusBarAlignment.Left),this.config.testExplorer&&(this.testController=we.tests.createTestController("rustAnalyzerTestController","Rust Analyzer test controller")),this.workspace=r,this.clientSubscriptions=[],this.commandDisposables=[],this.commandFactories=t,this.unlinkedFiles=[],this.state=new ka(e.globalState),this.updateCommands("disable"),this.setServerStatus({health:"stopped"})}get client(){return this._client}get treeView(){return this._treeView}get dependencies(){return this._dependencies}dispose(){var e;this.config.dispose(),this.statusBar.dispose(),(e=this.testController)==null||e.dispose(),this.disposeClient(),this.commandDisposables.forEach(t=>t.dispose())}async onWorkspaceFolderChanges(){var t,r;let e=Pf();if(e.kind==="Detached Files"&&this.workspace.kind==="Detached Files"&&e.files!==this.workspace.files){(t=this.client)!=null&&t.isRunning()&&(await this.stopAndDispose(),await this.start());return}if(!(e.kind==="Workspace Folder"&&this.workspace.kind==="Workspace Folder")){if(e.kind==="Empty"){await this.stopAndDispose();return}(r=this.client)!=null&&r.isRunning()&&await this.restart()}}async getOrCreateClient(){if(this.workspace.kind!=="Empty"){if(this.traceOutputChannel||(this.traceOutputChannel=new ha("Rust Analyzer Language Server Trace"),this.pushExtCleanup(this.traceOutputChannel)),this.outputChannel||(this.outputChannel=we.window.createOutputChannel("Rust Analyzer Language Server"),this.pushExtCleanup(this.outputChannel)),!this._client){this._serverPath=await Jy(this.extCtx,this.config,this.state).catch(s=>{let a="bootstrap error. ";throw a+='See the logs in "OUTPUT > Rust Analyzer Client" (should open automatically). ',a+='To enable verbose logs use { "rust-analyzer.trace.extension": true }',ge.error("Bootstrap error",s),new Error(a)});let e=Object.assign({},process.env,this.config.serverExtraEnv),t={command:this._serverPath,options:{env:e}},r={run:t,debug:t},i=we.workspace.getConfiguration("rust-analyzer");if(this.config.discoverProjectRunner){let s=`${this.config.discoverProjectRunner}.discoverWorkspaceCommand`;ge.info(`running command: ${s}`);let a=we.workspace.textDocuments.filter(Nn).map(d=>d.uri),c=await we.commands.executeCommand(s,a);this.setWorkspaces(c)}this.workspace.kind==="Detached Files"&&(i={detachedFiles:this.workspace.files.map(s=>s.uri.fsPath),...i});let o=Jr(i,(s,a)=>{s==="linkedProjects"&&this.config.discoveredWorkspaces.length>0&&(a.linkedProjects=this.config.discoveredWorkspaces)});this._client=await Xv(this.traceOutputChannel,this.outputChannel,o,r,this.config,this.unlinkedFiles),this.pushClientCleanup(this._client.onNotification(Cv,s=>this.setServerStatus(s))),this.pushClientCleanup(this._client.onNotification(Vm,()=>{this.outputChannel.show()})),this.pushClientCleanup(this._client.onNotification(bv,async s=>{if(this.config.discoverProjectRunner){let a=`${this.config.discoverProjectRunner}.discoverWorkspaceCommand`;ge.info(`running command: ${a}`);let c=s.textDocuments.map(f=>we.Uri.parse(f.uri,!0)),d=await we.commands.executeCommand(a,c);this.setWorkspaces(d),await this.notifyRustAnalyzer()}}))}return this._client}}async start(){ge.info("Starting language client");let e=await this.getOrCreateClient();e&&(await e.start(),this.updateCommands(),this.testController&&Qy(this,this.testController,e),this.config.showDependenciesExplorer&&this.prepareTreeDependenciesView(e))}prepareTreeDependenciesView(e){var r;let t={...this,client:e};this._dependencies=new Pa(t),this._treeView=we.window.createTreeView("rustDependencies",{treeDataProvider:this._dependencies,showCollapseAll:!0}),this.pushExtCleanup(this._treeView),we.window.onDidChangeActiveTextEditor(async i=>{if(this.shouldRevealDependency(i))try{await Sf(i)}catch(o){await we.window.showErrorMessage(`Dependency error: ${o}`)}}),(r=this.treeView)==null||r.onDidChangeVisibility(async i=>{if(i.visible){let o=we.window.activeTextEditor;if(this.shouldRevealDependency(o))try{await Sf(o)}catch(s){await we.window.showErrorMessage(`Dependency error: ${s}`)}}})}shouldRevealDependency(e){var t;return e!==void 0&&Mn(e)&&!Sv(e.document)&&(((t=this.treeView)==null?void 0:t.visible)||!1)}async restart(){await this.stopAndDispose(),await this.start()}async stop(){this._client&&(ge.info("Stopping language client"),this.updateCommands("disable"),await this._client.stop())}async stopAndDispose(){this._client&&(ge.info("Disposing language client"),this.updateCommands("disable"),await this.disposeClient())}async disposeClient(){var e,t;(e=this.clientSubscriptions)==null||e.forEach(r=>r.dispose()),this.clientSubscriptions=[],await((t=this._client)==null?void 0:t.dispose()),this._serverPath=void 0,this._client=void 0}get activeRustEditor(){let e=we.window.activeTextEditor;return e&&Mn(e)?e:void 0}get extensionPath(){return this.extCtx.extensionPath}get subscriptions(){return this.extCtx.subscriptions}get serverPath(){return this._serverPath}setWorkspaces(e){this.config.discoveredWorkspaces=e}async notifyRustAnalyzer(){var e;await((e=this.client)==null?void 0:e.sendNotification(Yy.DidChangeConfigurationNotification.type,{settings:""}))}updateCommands(e){var i;this.commandDisposables.forEach(o=>o.dispose()),this.commandDisposables=[];let t=(!e&&((i=this._client)==null?void 0:i.isRunning()))??!1,r=function(o){return t};for(let[o,s]of Object.entries(this.commandFactories)){let a=`rust-analyzer.${o}`,c;r(this)?c=s.enabled(this):s.disabled?c=s.disabled(this):c=()=>we.window.showErrorMessage(`command ${a} failed: rust-analyzer server is not running`),this.commandDisposables.push(we.commands.registerCommand(a,c))}}setServerStatus(e){this.lastStatus=e,this.updateStatusBarItem()}refreshServerStatus(){this.updateStatusBarItem()}updateStatusBarItem(){var i;let e="",t=this.lastStatus,r=this.statusBar;switch(r.show(),r.tooltip=new we.MarkdownString("",!0),r.tooltip.isTrusted=!0,t.health){case"ok":r.color=void 0,r.backgroundColor=void 0,this.config.statusBarClickAction==="stopServer"?r.command="rust-analyzer.stopServer":r.command="rust-analyzer.openLogs",(i=this.dependencies)==null||i.refresh();break;case"warning":r.color=new we.ThemeColor("statusBarItem.warningForeground"),r.backgroundColor=new we.ThemeColor("statusBarItem.warningBackground"),r.command="rust-analyzer.openLogs",e="$(warning) ";break;case"error":r.color=new we.ThemeColor("statusBarItem.errorForeground"),r.backgroundColor=new we.ThemeColor("statusBarItem.errorBackground"),r.command="rust-analyzer.openLogs",e="$(error) ";break;case"stopped":r.tooltip.appendText("Server is stopped"),r.tooltip.appendMarkdown(` -[Start server](command:rust-analyzer.startServer)`),r.color=new we.ThemeColor("statusBarItem.warningForeground"),r.backgroundColor=new we.ThemeColor("statusBarItem.warningBackground"),r.command="rust-analyzer.startServer",r.text="$(stop-circle) rust-analyzer";return}r.tooltip.value&&r.tooltip.appendMarkdown(` +[Start server](command:rust-analyzer.startServer)`),r.color=new we.ThemeColor("statusBarItem.warningForeground"),r.backgroundColor=new we.ThemeColor("statusBarItem.warningBackground"),r.command="rust-analyzer.startServer",r.text="$(stop-circle) rust-analyzer";return}t.message&&r.tooltip.appendText(t.message),t.workspaceInfo&&(r.tooltip.value&&r.tooltip.appendMarkdown(` + +--- + +`),r.tooltip.appendMarkdown(t.workspaceInfo)),r.tooltip.value&&r.tooltip.appendMarkdown(` --- diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/package-lock.json b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/package-lock.json similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/package-lock.json rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/package-lock.json diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/package.json b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/package.json similarity index 99% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/package.json rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/package.json index 91a0fd6e..97a10178 100644 --- a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/package.json +++ b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/package.json @@ -4,8 +4,8 @@ "description": "Rust language support for Visual Studio Code", "private": true, "icon": "icon.png", - "version": "0.3.1932", - "releaseTag": "2024-04-22", + "version": "0.3.1940", + "releaseTag": "2024-04-29", "publisher": "rust-lang", "repository": { "url": "https://github.com/rust-lang/rust-analyzer.git", @@ -1143,9 +1143,18 @@ } ] }, - "rust-analyzer.hover.show.structFields": { - "markdownDescription": "How many fields of a struct to display when hovering a struct.", - "default": null, + "rust-analyzer.hover.show.enumVariants": { + "markdownDescription": "How many variants of an enum to display when hovering on. Show none if empty.", + "default": 5, + "type": [ + "null", + "integer" + ], + "minimum": 0 + }, + "rust-analyzer.hover.show.fields": { + "markdownDescription": "How many fields of a struct, variant or union to display when hovering on. Show none if empty.", + "default": 5, "type": [ "null", "integer" @@ -2294,11 +2303,13 @@ "publisherId": "cb14a7a7-a188-40bd-a953-e0a20757c5dd", "publisherDisplayName": "rust-lang", "targetPlatform": "linux-x64", - "updated": false, + "isApplicationScoped": false, + "updated": true, "isPreReleaseVersion": false, "hasPreReleaseVersion": false, - "installedTimestamp": 1714049437810, + "installedTimestamp": 1714492320199, "pinned": false, + "preRelease": false, "source": "gallery" } } \ No newline at end of file diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/ra_syntax_tree.tmGrammar.json b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/ra_syntax_tree.tmGrammar.json similarity index 100% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/ra_syntax_tree.tmGrammar.json rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/ra_syntax_tree.tmGrammar.json diff --git a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/server/rust-analyzer b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/server/rust-analyzer similarity index 80% rename from dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/server/rust-analyzer rename to dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/server/rust-analyzer index 0eada1d2..e2a49b50 100755 Binary files a/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1932-linux-x64/server/rust-analyzer and b/dotfiles/.vscode-oss/extensions/rust-lang.rust-analyzer-0.3.1940-linux-x64/server/rust-analyzer differ