about summary refs log tree commit diff
path: root/editors/code/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-03-25 17:22:45 +0000
committerbors <bors@rust-lang.org>2023-03-25 17:22:45 +0000
commit90340b71ad0b640c344a0c6ef6d7da8a6673d762 (patch)
treee59745012662a9121d025e49b7c6b6a7dd4b8468 /editors/code/src
parent71b23360e781a00e51ed702a96e181261e92c6c5 (diff)
parente5f24a6d7c6e91e590e72b9ffd107a398c2bdebd (diff)
downloadrust-90340b71ad0b640c344a0c6ef6d7da8a6673d762.tar.gz
rust-90340b71ad0b640c344a0c6ef6d7da8a6673d762.zip
Auto merge of #14405 - Veykril:proc-macro-loading, r=Veykril
feat: Load proc-macros asynchronously

Closes https://github.com/rust-lang/rust-analyzer/issues/8646
Diffstat (limited to 'editors/code/src')
-rw-r--r--editors/code/src/commands.ts4
-rw-r--r--editors/code/src/ctx.ts5
-rw-r--r--editors/code/src/lsp_ext.ts1
-rw-r--r--editors/code/src/main.ts1
4 files changed, 10 insertions, 1 deletions
diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts
index 8a953577e99..8ce3466ed44 100644
--- a/editors/code/src/commands.ts
+++ b/editors/code/src/commands.ts
@@ -749,6 +749,10 @@ export function reloadWorkspace(ctx: CtxInit): Cmd {
     return async () => ctx.client.sendRequest(ra.reloadWorkspace);
 }
 
+export function reloadProcMacros(ctx: CtxInit): Cmd {
+    return async () => ctx.client.sendRequest(ra.reloadProcMacros);
+}
+
 export function addProject(ctx: CtxInit): Cmd {
     return async () => {
         const discoverProjectCommand = ctx.config.discoverProjectCommand;
diff --git a/editors/code/src/ctx.ts b/editors/code/src/ctx.ts
index 85579453a63..8da8b0d63a1 100644
--- a/editors/code/src/ctx.ts
+++ b/editors/code/src/ctx.ts
@@ -378,10 +378,13 @@ export class Ctx {
         if (statusBar.tooltip.value) {
             statusBar.tooltip.appendText("\n\n");
         }
+        statusBar.tooltip.appendMarkdown("\n\n[Open logs](command:rust-analyzer.openLogs)");
         statusBar.tooltip.appendMarkdown(
             "\n\n[Reload Workspace](command:rust-analyzer.reloadWorkspace)"
         );
-        statusBar.tooltip.appendMarkdown("\n\n[Open logs](command:rust-analyzer.openLogs)");
+        statusBar.tooltip.appendMarkdown(
+            "\n\n[Rebuild Proc Macros](command:rust-analyzer.reloadProcMacros)"
+        );
         statusBar.tooltip.appendMarkdown("\n\n[Restart server](command:rust-analyzer.startServer)");
         statusBar.tooltip.appendMarkdown("\n\n[Stop server](command:rust-analyzer.stopServer)");
         if (!status.quiescent) icon = "$(sync~spin) ";
diff --git a/editors/code/src/lsp_ext.ts b/editors/code/src/lsp_ext.ts
index 872d7199b83..a03777d1c0a 100644
--- a/editors/code/src/lsp_ext.ts
+++ b/editors/code/src/lsp_ext.ts
@@ -43,6 +43,7 @@ export const relatedTests = new lc.RequestType<lc.TextDocumentPositionParams, Te
     "rust-analyzer/relatedTests"
 );
 export const reloadWorkspace = new lc.RequestType0<null, void>("rust-analyzer/reloadWorkspace");
+export const reloadProcMacros = new lc.RequestType0<null, void>("rust-analyzer/reloadProcMacros");
 
 export const runFlycheck = new lc.NotificationType<{
     textDocument: lc.TextDocumentIdentifier | null;
diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts
index d5de00561b1..7079f235cab 100644
--- a/editors/code/src/main.ts
+++ b/editors/code/src/main.ts
@@ -153,6 +153,7 @@ function createCommands(): Record<string, CommandFactory> {
         memoryUsage: { enabled: commands.memoryUsage },
         shuffleCrateGraph: { enabled: commands.shuffleCrateGraph },
         reloadWorkspace: { enabled: commands.reloadWorkspace },
+        reloadProcMacros: { enabled: commands.reloadProcMacros },
         addProject: { enabled: commands.addProject },
         matchingBrace: { enabled: commands.matchingBrace },
         joinLines: { enabled: commands.joinLines },