mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-13 04:34:21 -10:00
Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a38ee5793 | ||
|
|
c8551593a8 | ||
|
|
38de25a9c4 |
No files matched your search
@@ -19,6 +19,9 @@ const CHUNK_SLOT_BITS: u32 = 17;
|
||||
const WORD_BITS: u64 = 64;
|
||||
const WORDS_PER_CHUNK: usize = (1 << CHUNK_SLOT_BITS) / WORD_BITS as usize;
|
||||
|
||||
// The bit table is matched in hot paths; boxing the big variant would only add
|
||||
// an indirection to save stack space `IdMap` never holds by value in bulk.
|
||||
#[allow(clippy::large_enum_variant)]
|
||||
enum Repr {
|
||||
Bits {
|
||||
/// Chunk number of the first table entry.
|
||||
|
||||
@@ -3,6 +3,7 @@ import { ProgressBar } from "@/ui";
|
||||
import { setContext } from "@/platform/context";
|
||||
import { tx, useTx } from "@/platform/i18n";
|
||||
import { call, commands, IpcError } from "@/platform/ipc";
|
||||
import { open as openDialog, save as saveDialog } from "@/platform/dialog";
|
||||
import { ipcPath } from "@/platform/paths";
|
||||
import { basename } from "@/platform/project";
|
||||
import { isRemoteWindow, useRemote } from "@/platform/remote";
|
||||
@@ -43,8 +44,7 @@ export async function openHeapDump(): Promise<void> {
|
||||
}
|
||||
// One file at a time; the running open keeps its progress notification.
|
||||
if (useHeap.getState().opening) return;
|
||||
const { open } = await import("@tauri-apps/plugin-dialog");
|
||||
const picked = await open({ multiple: false, directory: false, filters: FILTERS() });
|
||||
const picked = await openDialog({ multiple: false, directory: false, filters: FILTERS() });
|
||||
if (typeof picked !== "string" || useHeap.getState().opening) return;
|
||||
const path = ipcPath(picked);
|
||||
const name = basename(path);
|
||||
@@ -85,8 +85,7 @@ export async function openHeapDump(): Promise<void> {
|
||||
export async function saveHeapDump(id: number): Promise<void> {
|
||||
const entry = useHeap.getState().snapshots[id];
|
||||
if (!entry || entry.info.origin.kind !== "captured" || isRemoteWindow()) return;
|
||||
const { save } = await import("@tauri-apps/plugin-dialog");
|
||||
const picked = await save({
|
||||
const picked = await saveDialog({
|
||||
defaultPath: `${entry.info.label.replace(/[/\\:*?"<>|]/g, "-")}.hprof`,
|
||||
filters: FILTERS(),
|
||||
});
|
||||
|
||||
@@ -9,7 +9,7 @@ it("opens every file picker through the platform wrapper", () => {
|
||||
(file) =>
|
||||
/\.[jt]sx?$/.test(file) &&
|
||||
!/\.test\.[jt]sx?$/.test(file) &&
|
||||
file !== "platform/dialog.ts" &&
|
||||
file.replace(/\\/g, "/") !== "platform/dialog.ts" &&
|
||||
readFileSync(resolve(src, file), "utf8").includes("@tauri-apps/plugin-" + "dialog"),
|
||||
);
|
||||
expect(offenders).toEqual([]);
|
||||
|
||||
Reference in new issue
Block a user