Homemade Source/Dataview snippets
[DataviewJS] 할당된 단축키를 기준으로 명령어 목록보기
반응형
할당된 단축키를 기준으로 명령어 목록보는 Dataviewjs snippet입니다.
예시
Dataviewjs Snippet
```dataviewjs
const getObj = (obj, path) => path.reduce((o, k) => (o && o[k] !== 'undefined') ? o[k] : undefined, obj);
function hl(keys, highlight) {
if (!keys || !keys[0] || !keys[1] || keys[1][0] === undefined) return `${highlight}–${highlight}`;
return highlight + keys.flat().join('+').replace('Mod', 'Ctrl') + highlight;
}
function getHotKeys(arr, highlight=true) {
const highlightIndicator = highlight ? '**' : '',
defaultKeys = arr.hotkeys ? [[getObj(arr.hotkeys, [0, 'modifiers'])], [getObj(arr.hotkeys, [0, 'key'])]] : undefined,
customKeys = app.hotkeyManager.customKeys[arr.id] ? [[getObj(app.hotkeyManager.customKeys[arr.id], [0, 'modifiers'])], [getObj(app.hotkeyManager.customKeys[arr.id], [0, 'key'])]] : undefined;
return (customKeys || defaultKeys) ? hl(customKeys || defaultKeys, highlightIndicator) : '';
}
let cmds = dv.array(Object.entries(app.commands.commands))
.map(v => ({
id: v[1].id,
name: v[1].name,
hk: getHotKeys(v[1])
}))
.filter(v => v.hk !== '')
.sort((a, b) => a.hk.localeCompare(b.hk));
dv.paragraph(`${cmds.length}개의 명령어 단축키가 있습니다. 사용자 정의 단축키는 <strong>굵게</strong> 표시됩니다.<br>`);
dv.table(["명령어 ID", "단축키 설명", "단축키"], cmds.map(v => [v.id, v.name, v.hk]));
```
관련글
반응형
'Homemade Source > Dataview snippets' 카테고리의 다른 글
[DataviewJS] Quick Search MK.2 (7) | 2024.03.07 |
---|---|
[DataviewJS] 이름이 중복된 파일 찾기 (0) | 2024.03.03 |
[Dataview] 고립된 노트 목록 보기 (0) | 2024.02.15 |
[Dataview] Obsidian에서 최근 7일 동안 업데이트된 노트 목록 보기 (0) | 2024.02.15 |
[Dataview] 태그 당 노트 수 나열하기 (0) | 2024.02.14 |