`Trash` > `Deleted files` の設定に準拠して削除処理を行う方法。`trashOption` の設定を取得し、`app.vault.trash` と `app.valut.delete` を使う。
```ts
export type Config = {
/**
* ファイル削除時の挙動に関係
* system: システムのゴミ箱
* local: Obsidianの .trash
* none: 完全削除
*/
trashOption?: "system" | "local" | "none";
};
/**
* ファイル削除時の挙動を取得します
*/
export function getFileDeleteMode(): NonNullable<Config["trashOption"]> {
return app.vault.getConfig("trashOption") ?? "system";
}
/**
* Trash > Deleted files の設定に従ってファイルを削除します
* ```ts
* await deleteFile(getFileByPath("Notes/hoge.md")!)
* ```
*/
export async function deleteFile(file: TFile): Promise<void> {
await match(getFileDeleteMode())
.with("system", () => app.vault.trash(file, true))
.with("local", () => app.vault.trash(file, false))
.with("none", () => app.vault.delete(file))
.exhaustive();
}
```