Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Development

This chapter contains developer notes, to-dos, known issues, and other information for those who want to contribute to the crate.

Aspirations

  • Derive pattern (Added in v0.3.0) - Describe commands with clap's derive pattern.
  • Support for games with rendering and windowing (Added in v0.3.0) - The REPL is designed to work from the terminal, but the terminal normally prints logs when there is a window too. The REPL still works from the terminal while using the window for rendering if the console is enabled.
  • Printing to stdout (Added in v0.4.0) - The REPL should print to stdout instead of the TUI screen unless the user explicitly enables a TUI context that uses the alternate screen.
  • Toggleable (Added in v0.4.1) - The REPL is disabled by default and can be toggled. When disabled, the app runs normally in the terminal, no REPL systems run, and the prompt is hidden.
  • Scrollable TUI output - The terminal output on the TUI screen should scroll to show past messages like a normal terminal screen printing to stdout.
  • Support for games with TUIs - The REPL is designed to work as a sort of sidecar to the normal terminal output, so in theory it should be compatible with games that use an alternate TUI screen. I don't know if it actually works, probably only with the minimal renderer or perhaps a custom renderer.
  • Customizable keybinds (Added in v0.4.1) - Allow the user to configure the REPL keybinds for all REPL controls, not just the toggle key.
  • Command history - Use keybindings to navigate past commands and insert them in the prompt buffer.
  • Help text and command completion - Use clap's help text and completion features to provide a better REPL experience and allow for command discovery.
  • Customizable prompt - Allow the user to configure the REPL prompt for all REPL controls, not just the toggle key.