rustzx icon indicating copy to clipboard operation
rustzx copied to clipboard

Improved configuration & CLI

Open pacmancoder opened this issue 3 years ago • 0 comments

To improve the usability of the emulator, the following configuration sources should be introduced:

  • Global emulator configuration, used as the default for all files
  • Per-asset (tap, sna, etc.) configuration for keeping asset-specific settings

These settings should be located in user-specific config folder (directories crate can be used)

Configuration sources should have the following priority (from the highest)

  • Options specified in CLI
  • Per-asset configuration
  • Global configuration
  • Emulator defaults

Additional change for this task will be CLI refactoring

Current commands related to starting emulator should be moved to run subcommand: rustzx run --tap jetpac.tap

Additional run subcommand args

--remember - save provided asset-specific settings

config subcommand

Subcommands:

  • set - set global or asset-specific settings. Global options can be selected with --global flag
  • defaults - reset asset settings for asset or globally.

Basically, part of run arguments should be moved to the different structopt structure and re-used for configuration commands

pacmancoder avatar May 16 '21 20:05 pacmancoder