Skip to content

Hot Strokes

We can register the handlers for the key strokes with _spy.stroke.register().

js
const {
  unregisterHotStroke,
} = _spy.stroke.register("hello", () => {
  console.log("world");
  unregisterHotStroke();
});

Hot Strokes that've been set as default

#strokewhat will happen
1spyshows spy log dialog
2styleshows ad hoc style editor
3codeshows ad hoc code editor
4helpshows reference document
5lifeshows life game

How to change the hot strokes

we can use _spy.stroke.replace() to change the strokes.

js
// spy -> myspy
_spy.stroke.replace("spy", "myspy");

// style -> mystyle
_spy.stroke.replace("style", "mystyle");

How to unregister all hot strokes

js
_spy.stroke.unregisterAll();

How to get the registered hot strokes

js
_spy.stroke.keys
// ["spy", "style", "somestroke"]

How to unregister a specified hot stroke

js
_spy.stroke.unregister("style");

stroke interface

ts
interface Spy {
  stroke: {
    keys: string[];
    register(stroke: string, handler: () => void): { unregisterHotStroke };
    unregister(stroke: string): void;
    unregisterAll(): void;
    replace(beforeStroke: string, afterStroke: string): { unregisterHotStroke } | null;
  };
}