Rezi
    Preparing search index...

    Interface App<S>

    interface App<S> {
        dispose(): void;
        draw(fn: DrawFn): void;
        getMode(): string;
        keys(bindings: BindingMap<KeyContext<S>>): void;
        modes(modes: ModeBindingMap<KeyContext<S>>): void;
        onEvent(handler: EventHandler): () => void;
        setMode(modeName: string): void;
        setTheme(
            theme:
                | Readonly<{ colors: ThemeColors; spacing: ThemeSpacing }>
                | Readonly<{ colors: ColorTokens; name: string }>,
        ): void;
        start(): Promise<void>;
        stop(): Promise<void>;
        update(updater: S | ((prev: Readonly<S>) => S)): void;
        view(fn: ViewFn<S>): void;
    }

    Type Parameters

    • S
    Index

    Methods

    • Get the current keybinding mode name.

      Returns string

      Current mode name (default: "default")

    • Register multiple keybinding modes (e.g., Vim-like normal/insert).

      Parameters

      Returns void

      app.modes({
      normal: {
      "i": () => app.setMode("insert"),
      "j": (ctx) => ctx.update(moveCursorDown),
      },
      insert: {
      "escape": () => app.setMode("normal"),
      },
      });
      app.setMode("normal");
    • Switch to a different keybinding mode.

      Parameters

      • modeName: string

        Name of the mode to switch to

      Returns void

    • Parameters

      • updater: S | ((prev: Readonly<S>) => S)

      Returns void