From 81a82cbfde5b2077ffa04607e44a2e612fca8a1f Mon Sep 17 00:00:00 2001 From: Peter Fajdiga Date: Fri, 23 Jun 2023 13:06:40 +0200 Subject: [PATCH] add comments to key bindings --- generators/docs/keyBindings.ts | 6 ++++++ generators/docs/keyBindingsFmt.ts | 4 ++-- generators/docs/keyBindingsPlain.ts | 4 ++-- generators/docs/keyBindingsTable.ts | 4 ++-- src/keyBindings/definition.ts | 11 ++++++++++- src/keyBindings/loader.ts | 2 ++ 6 files changed, 24 insertions(+), 7 deletions(-) diff --git a/generators/docs/keyBindings.ts b/generators/docs/keyBindings.ts index d3d9655..6cd4161 100644 --- a/generators/docs/keyBindings.ts +++ b/generators/docs/keyBindings.ts @@ -1,6 +1,7 @@ interface KeyBinding { name: string; description: string; + comment?: string; defaultKeySequence: string; action: string; } @@ -8,11 +9,16 @@ interface KeyBinding { interface NumKeyBinding { name: string; description: string; + comment?: string; defaultModifiers: string; fKeys: boolean; action: string; } +function formatComment(comment: string | undefined) { + return comment === undefined ? "" : ` (${comment})`; +} + function printCols(...columns: (string[] | string)[]) { const nCols = columns.length; if (nCols == 0) { diff --git a/generators/docs/keyBindingsFmt.ts b/generators/docs/keyBindingsFmt.ts index a57ada1..7d69157 100644 --- a/generators/docs/keyBindingsFmt.ts +++ b/generators/docs/keyBindingsFmt.ts @@ -7,8 +7,8 @@ const colLeft = [ ]; const colRight = [ - ...keyBindings.map((binding: KeyBinding) => binding.description), - ...numKeyBindings.map((binding: NumKeyBinding) => binding.description + "N"), + ...keyBindings.map((binding: KeyBinding) => `${binding.description}${formatComment(binding.comment)}`), + ...numKeyBindings.map((binding: NumKeyBinding) => `${binding.description}N${formatComment(binding.comment)}`), ]; printCols(colLeft, " ", colRight); diff --git a/generators/docs/keyBindingsPlain.ts b/generators/docs/keyBindingsPlain.ts index fcbb2a4..4ad1997 100644 --- a/generators/docs/keyBindingsPlain.ts +++ b/generators/docs/keyBindingsPlain.ts @@ -1,8 +1,8 @@ for (const binding of keyBindings) { - console.log(`${binding.defaultKeySequence} - ${binding.description}`); + console.log(`${binding.defaultKeySequence} - ${binding.description}${formatComment(binding.comment)}`); } for (const binding of numKeyBindings) { const numPrefix = binding.fKeys ? "F" : ""; - console.log(`${binding.defaultModifiers}+${numPrefix}[N] - ${binding.description}N`); + console.log(`${binding.defaultModifiers}+${numPrefix}[N] - ${binding.description}N${formatComment(binding.comment)}`); } diff --git a/generators/docs/keyBindingsTable.ts b/generators/docs/keyBindingsTable.ts index 41c330f..8fb6af1 100644 --- a/generators/docs/keyBindingsTable.ts +++ b/generators/docs/keyBindingsTable.ts @@ -11,8 +11,8 @@ const colLeft = [ const colRight = [ "Action", "---", - ...keyBindings.map((binding: KeyBinding) => binding.description), - ...numKeyBindings.map((binding: NumKeyBinding) => binding.description + "N"), + ...keyBindings.map((binding: KeyBinding) => `${binding.description}${formatComment(binding.comment)}`), + ...numKeyBindings.map((binding: NumKeyBinding) => `${binding.description}N${formatComment(binding.comment)}`), ]; printCols("| ", colLeft, " | ", colRight, " |"); diff --git a/src/keyBindings/definition.ts b/src/keyBindings/definition.ts index 1cb6fbf..7ee43ed 100644 --- a/src/keyBindings/definition.ts +++ b/src/keyBindings/definition.ts @@ -44,12 +44,14 @@ const keyBindings: KeyBinding[] = [ { "name": "window-move-left", "description": "Move window left", + "comment": "Moves window out of and into columns", "defaultKeySequence": "Meta+Shift+A", "action": "windowMoveLeft", }, { "name": "window-move-right", "description": "Move window right", + "comment": "Moves window out of and into columns", "defaultKeySequence": "Meta+Shift+D", "action": "windowMoveRight", }, @@ -79,7 +81,8 @@ const keyBindings: KeyBinding[] = [ }, { "name": "window-expand", - "description": "Expand window (toggle stacked mode)", + "description": "Expand window", + "comment": "Expands focused window vertically; toggles stacked layout for focused column", "defaultKeySequence": "Meta+X", "action": "windowExpand", }, @@ -110,24 +113,28 @@ const keyBindings: KeyBinding[] = [ { "name": "column-expand", "description": "Expand column", + "comment": "Expands focused column horizontally to fill the screen", "defaultKeySequence": "Meta+Ctrl+X", "action": "columnExpand", }, { "name": "expand-visible-columns", "description": "Expand fully visible columns", + "comment": "Expands fully visible columns to fill the screen", "defaultKeySequence": "Meta+Alt++", "action": "expandVisibleColumns", }, { "name": "shrink-visible-columns", "description": "Shrink visible columns", + "comment": "Shrinks fully and partially visible columns, making them fully visible and filling the screen", "defaultKeySequence": "Meta+Alt+-", "action": "shrinkVisibleColumns", }, { "name": "grid-scroll-focused", "description": "Center focused window", + "comment": "Scrolls so that the focused window is centered in the screen", "defaultKeySequence": "Meta+Alt+Return", "action": "gridScrollFocused", }, @@ -180,6 +187,7 @@ const numKeyBindings: NumKeyBinding[] = [ { "name": "window-move-to-column-", "description": "Move window to column ", + "comment": "Requires manual remapping according to your keyboard layout, e.g. Meta+Shift+1 -> Meta+!", "defaultModifiers": "Meta+Shift", "fKeys": false, "action": "windowMoveToColumn", @@ -187,6 +195,7 @@ const numKeyBindings: NumKeyBinding[] = [ { "name": "column-move-to-column-", "description": "Move column to position ", + "comment": "Requires manual remapping according to your keyboard layout, e.g. Meta+Ctrl+Shift+1 -> Meta+Ctrl+!", "defaultModifiers": "Meta+Ctrl+Shift", "fKeys": false, "action": "columnMoveToColumn", diff --git a/src/keyBindings/loader.ts b/src/keyBindings/loader.ts index 2295587..94f8580 100644 --- a/src/keyBindings/loader.ts +++ b/src/keyBindings/loader.ts @@ -1,6 +1,7 @@ interface KeyBinding { name: string; description: string; + comment?: string; defaultKeySequence: string; action: keyof ReturnType; } @@ -8,6 +9,7 @@ interface KeyBinding { interface NumKeyBinding { name: string; description: string; + comment?: string; defaultModifiers: string; fKeys: boolean; action: keyof ReturnType;