You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2026-04-24 19:55:13 +02:00
50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
import BaseCommand from './base-command';
|
|
import app from './app';
|
|
import { _ } from '@joplin/lib/locale';
|
|
const { cliUtils } = require('./cli-utils.js');
|
|
|
|
interface Args { }
|
|
|
|
class Command extends BaseCommand {
|
|
public override usage() {
|
|
return 'keymap';
|
|
}
|
|
|
|
public override description() {
|
|
return _('Displays the configured keyboard shortcuts.');
|
|
}
|
|
|
|
public override compatibleUis() {
|
|
return ['cli', 'gui'];
|
|
}
|
|
|
|
public override async action(_args: Args) {
|
|
const keymaps = await app().loadKeymaps();
|
|
|
|
this.stdout(_('Configured keyboard shortcuts:'));
|
|
this.stdout('\n');
|
|
|
|
const rows = [];
|
|
const padding = ' ';
|
|
|
|
rows.push([`${padding}${_('KEYS')}`, _('TYPE'), _('COMMAND')]);
|
|
rows.push([`${padding}----`, '----', '-------']);
|
|
|
|
for (const item of keymaps) {
|
|
const formattedKeys = item.keys
|
|
.map((k: string) => (k === ' ' ? `(${_('SPACE')})` : k))
|
|
.join(', ');
|
|
rows.push([padding + formattedKeys, item.type, item.command]);
|
|
}
|
|
|
|
cliUtils.printArray(this.stdout.bind(this), rows);
|
|
|
|
if (app().gui() && !app().gui().isDummy()) {
|
|
app().gui().showConsole();
|
|
app().gui().maximizeConsole();
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = Command;
|