## 経緯
[[Obsidian Better Command Palette]]は便利だが、気になる点がある。
- 一度終了すると履歴が消去される
- 基本的にやっていることは最近使った順にコマンドを並べているだけ
- 利用履歴があるやつは強調表示
これなら[[🦉Carnelian]]で作ってしまった方がいい気がした。
## タスク
- [x] コマンド一覧を取得する
- `app.commands.commands`
- [x] コマンドを実行する
- `app.commands.executeCommandById(commandId: string)`
- [x] クイックスイッチャーで選択したコマンドを実行する
- [x] 最近利用した順番に並べる
- [x] 最近利用したものは強調表示する
- [x] [[Obsidian]]を終了しても永続化する
- [x] マッチするなら履歴に残っている方を優先する
- FuzzySuggestModalの仕様で入力したあとの優先度はマッチ率になる
- `getSuggestions`をoverrideするしかなさそう
## コマンドのホットキー表示
`app.commands.commands`の`hotkeys`だけではダメ。これはデフォルト設定。
- `app.hotkeyManager` を使う
- `app.hotkeyManager.printHotkeyForCommand(id)` でOK
- ないときは `""`
-