diff --git a/crates/ide/src/view_memory_layout.rs b/crates/ide/src/view_memory_layout.rs index 3b1b4968e7..9ed0d3f224 100644 --- a/crates/ide/src/view_memory_layout.rs +++ b/crates/ide/src/view_memory_layout.rs @@ -145,26 +145,28 @@ pub(crate) fn view_memory_layout( } } - ty.layout(db).map(|layout| { - let item_name = match def { - Definition::Local(l) => l.name(db).as_str().unwrap().to_owned(), - _ => "[ROOT]".to_owned(), - }; + ty.layout(db) + .map(|layout| { + let item_name = match def { + Definition::Local(l) => l.name(db).as_str().unwrap().to_owned(), + _ => "[ROOT]".to_owned(), + }; - let typename = ty.display(db).to_string(); + let typename = ty.display(db).to_string(); - let mut nodes = vec![MemoryLayoutNode { - item_name, - typename: typename.clone(), - size: layout.size(), - offset: 0, - alignment: layout.align(), - parent_idx: -1, - children_start: -1, - children_len: 0, - }]; - read_layout(&mut nodes, db, &ty, &layout, 0); + let mut nodes = vec![MemoryLayoutNode { + item_name, + typename: typename.clone(), + size: layout.size(), + offset: 0, + alignment: layout.align(), + parent_idx: -1, + children_start: -1, + children_len: 0, + }]; + read_layout(&mut nodes, db, &ty, &layout, 0); - RecursiveMemoryLayout { nodes } - }) + RecursiveMemoryLayout { nodes } + }) + .ok() } diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts index c0d68881c2..1e74158b82 100644 --- a/editors/code/src/commands.ts +++ b/editors/code/src/commands.ts @@ -1132,27 +1132,24 @@ export function linkToCommand(_: Ctx): Cmd { export function viewMemoryLayout(ctx: CtxInit): Cmd { return async () => { - const editor = vscode.window.activeTextEditor; if (!editor) return ""; const client = ctx.client; const position = editor.selection.active; const expanded = await client.sendRequest(ra.viewRecursiveMemoryLayout, { - textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier( - editor.document - ), + textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(editor.document), position, }); // if (expanded == null) return "Not available"; - const document = vscode.window.createWebviewPanel( "memory_layout", "[Memory Layout]", vscode.ViewColumn.Two, - { enableScripts: true, }); + { enableScripts: true } + ); document.webview.html = ` @@ -1407,7 +1404,7 @@ locate() })() -` +`; ctx.pushExtCleanup(document); }; diff --git a/editors/code/src/lsp_ext.ts b/editors/code/src/lsp_ext.ts index 4244098ae1..8a0c55a942 100644 --- a/editors/code/src/lsp_ext.ts +++ b/editors/code/src/lsp_ext.ts @@ -70,7 +70,7 @@ export const viewItemTree = new lc.RequestType export type AnalyzerStatusParams = { textDocument?: lc.TextDocumentIdentifier }; -export interface FetchDependencyListParams { } +export interface FetchDependencyListParams {} export interface FetchDependencyListResult { crates: { @@ -86,7 +86,7 @@ export const fetchDependencyList = new lc.RequestType< void >("rust-analyzer/fetchDependencyList"); -export interface FetchDependencyGraphParams { } +export interface FetchDependencyGraphParams {} export interface FetchDependencyGraphResult { crates: { @@ -150,9 +150,11 @@ export const serverStatus = new lc.NotificationType( "experimental/serverStatus" ); export const ssr = new lc.RequestType("experimental/ssr"); -export const viewRecursiveMemoryLayout = new lc.RequestType( - "rust-analyzer/viewRecursiveMemoryLayout" -); +export const viewRecursiveMemoryLayout = new lc.RequestType< + ViewRecursiveMemoryLayoutParams, + RecursiveMemoryLayout | null, + void +>("rust-analyzer/viewRecursiveMemoryLayout"); export type JoinLinesParams = { textDocument: lc.TextDocumentIdentifier; @@ -219,4 +221,4 @@ export type RecursiveMemoryLayout = { name: string; expansion: string; nodes: RecursiveMemoryLayoutNode[]; -}; \ No newline at end of file +}; diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts index 492275968f..64aea03394 100644 --- a/editors/code/src/main.ts +++ b/editors/code/src/main.ts @@ -24,11 +24,11 @@ export async function activate( vscode.window .showWarningMessage( `You have both the rust-analyzer (rust-lang.rust-analyzer) and Rust (rust-lang.rust) ` + - "plugins enabled. These are known to conflict and cause various functions of " + - "both plugins to not work correctly. You should disable one of them.", + "plugins enabled. These are known to conflict and cause various functions of " + + "both plugins to not work correctly. You should disable one of them.", "Got it" ) - .then(() => { }, console.error); + .then(() => {}, console.error); } const ctx = new Ctx(context, createCommands(), fetchWorkspace()); @@ -144,7 +144,7 @@ function createCommands(): Record { health: "stopped", }); }, - disabled: (_) => async () => { }, + disabled: (_) => async () => {}, }, analyzerStatus: { enabled: commands.analyzerStatus },