diff options
Diffstat (limited to 'src/caelestia/subcommands/scheme.py')
| -rw-r--r-- | src/caelestia/subcommands/scheme.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py new file mode 100644 index 0000000..c95df96 --- /dev/null +++ b/src/caelestia/subcommands/scheme.py @@ -0,0 +1,30 @@ +from argparse import Namespace + +from caelestia.utils.scheme import get_scheme +from caelestia.utils.theme import apply_colours + + +class Command: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + scheme = get_scheme() + + if self.args.random: + scheme.set_random() + apply_colours(scheme.colours, scheme.mode) + elif self.args.name or self.args.flavour or self.args.mode or self.args.variant: + if self.args.name: + scheme.name = self.args.name + if self.args.flavour: + scheme.flavour = self.args.flavour + if self.args.mode: + scheme.mode = self.args.mode + if self.args.variant: + scheme.variant = self.args.variant + apply_colours(scheme.colours, scheme.mode) + else: + print(scheme) |