feat(core): add Electron runtime, services, and app composition

This commit is contained in:
2026-02-22 21:43:43 -08:00
parent 448ce03fd4
commit d3fd47f0ec
562 changed files with 69719 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import { Config, Keybinding } from '../../types';
export function resolveKeybindings(config: Config, defaultKeybindings: Keybinding[]): Keybinding[] {
const userBindings = config.keybindings || [];
const bindingMap = new Map<string, (string | number)[] | null>();
for (const binding of defaultKeybindings) {
bindingMap.set(binding.key, binding.command);
}
for (const binding of userBindings) {
if (binding.command === null) {
bindingMap.delete(binding.key);
} else {
bindingMap.set(binding.key, binding.command);
}
}
const keybindings: Keybinding[] = [];
for (const [key, command] of bindingMap) {
if (command !== null) {
keybindings.push({ key, command });
}
}
return keybindings;
}