You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -583,6 +583,15 @@ Internally, values are saved in one of the following types, and types are automa
583
583
-`BOOL` - 1 or 0 value
584
584
-`STRING` - a string _reference_. These strings can use interpolation, but this interpolation is always applied at the expansion site / time.
585
585
586
+
### Argument expansion:
587
+
588
+
Key actions can be parametrized with macro arguments. These arguments can be expanded in two ways:
589
+
590
+
-`$macroArg.<idx>` - in which case they are parsed as a single value. This is the normal and safe variant that prevents context corruption.
591
+
-`¯oArg.<idx>` - this variant substitutes the argument into current parser context. These allow substituing any string, including full commands or their parts. This is an experimental feature and might be unsafe in some contexts. Following limitations apply:
592
+
- the argument bounds must correspond to token bounds in the fully expanded string
593
+
- the argument cannot span multiple lines
594
+
586
595
### Configuration options:
587
596
588
597
-`set stickyModifiers {never|smart|always}` globally turns on or off sticky modifiers. This affects only standard scancode actions. Macro actions (both gui and command ones) are always nonsticky, unless `sticky` flag is included in `tapKey|holdKey|pressKey` commands. Default value is `smart`, which is the official behaviour - i.e., `<alt/ctrl/gui> + <tab/arrows>` are sticky.
0 commit comments