From 5456bb0e41b30ff7f4b851f2eaec021502baf40f Mon Sep 17 00:00:00 2001 From: Evan Liu Date: Sat, 15 Feb 2025 08:46:46 +1300 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20[docs]=20Simplify=20leader=20key?= =?UTF-8?q?=20example=20conditions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/vim/nested-leader-key.md | 4 +-- examples/vim/nested-leader-key.ts | 53 ++++++++++++++++--------------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/examples/vim/nested-leader-key.md b/examples/vim/nested-leader-key.md index 293fc22..b4c80f5 100644 --- a/examples/vim/nested-leader-key.md +++ b/examples/vim/nested-leader-key.md @@ -4,7 +4,7 @@ title: Nested leader key To nest leader keys, use a variables: -- Set the variable on the leader key -- Set the variable to different value on each nested leader key +- Set the variable on the leader key (Default value 1; 0 when unset) +- Set the variable to different value on each nested leader key (other than 1 or 0) - Unset the variable on all action keys and escape key(s) - (optional) Use notification for hints diff --git a/examples/vim/nested-leader-key.ts b/examples/vim/nested-leader-key.ts index f7ab233..00957f3 100644 --- a/examples/vim/nested-leader-key.ts +++ b/examples/vim/nested-leader-key.ts @@ -13,36 +13,37 @@ let escape = [toUnsetVar('leader'), toRemoveNotificationMessage('leader')] let rules = [ rule('Leader Key').manipulators([ + // Leader key map('l', 'Hyper') // Or mapSimultaneous(['l', ';']) ... - .toVar('leader') - .toNotificationMessage('leader', 'Leader Key: Open, Raycast, ...'), + .toVar('leader', 1) + .toNotificationMessage('leader', 'Leader Key: Open, Raycast, ...') + .condition(ifVar('leader', 0)), - withCondition(ifVar('leader', 0).unless())([ - // Escape key(s) - map('escape').to(escape), + // Escape key(s) + map('escape').to(escape).condition(ifVar('leader', 0).unless()), - // Nested leader keys - withMapper(['o', 'r'])((x) => - map(x) - .toVar('leader', x) - .toNotificationMessage('leader', `leader ${x}`), - ), + // Nested leader keys + withMapper(['o', 'r'])((x) => + map(x) + .toVar('leader', x) + .toNotificationMessage('leader', `leader ${x}`) + .condition(ifVar('leader', 1)), + ), - // o - Open - withCondition(ifVar('leader', 'o'))( - [ - map('f').toApp('Finder'), - // f - Finder, ... - ].map((x) => x.to(escape)), - ), + // leader o - Open + withCondition(ifVar('leader', 'o'))( + [ + map('f').toApp('Finder'), + // f - Finder, ... + ].map((x) => x.to(escape)), + ), - // r - Raycast - withCondition(ifVar('leader', 'r'))( - [ - map('e').to$(`open raycast://extensions/${raycastEmoji}`), - // e - Emoji, ... - ].map((x) => x.to(escape)), - ), - ]), + // leader r - Raycast + withCondition(ifVar('leader', 'r'))( + [ + map('e').to$(`open raycast://extensions/${raycastEmoji}`), + // e - Emoji, ... + ].map((x) => x.to(escape)), + ), ]), ]