rustzx
rustzx copied to clipboard
Improved configuration & CLI
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--globalflagdefaults- 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