@@ -13,6 +13,7 @@ def setup_parser(subparsers: Any) -> Any:
1313 subparsers = parser .add_subparsers ()
1414
1515 sub = cli_shared .add_command_subparser (subparsers , "config" , "dump" , "Dumps configuration." )
16+ sub .add_argument ('--defaults' , required = False , help = 'dump defaults instead of local config' , action = 'store_true' )
1617 sub .set_defaults (func = dump )
1718
1819 sub = cli_shared .add_command_subparser (subparsers , "config" , "get" , "Gets a configuration value." )
@@ -24,6 +25,10 @@ def setup_parser(subparsers: Any) -> Any:
2425 sub .add_argument ("value" , help = "the new value" )
2526 sub .set_defaults (func = set_value )
2627
28+ sub = cli_shared .add_command_subparser (subparsers , "config" , "delete" , "Deletes a configuration value." )
29+ _add_name_arg (sub )
30+ sub .set_defaults (func = delete_value )
31+
2732 sub = cli_shared .add_command_subparser (subparsers , "config" , "new" , "Creates a new configuration." )
2833 _add_name_arg (sub )
2934 sub .add_argument ("--template" , required = False , help = "template from which to create the new config" )
@@ -45,7 +50,11 @@ def _add_name_arg(sub: Any):
4550
4651
4752def dump (args : Any ):
48- data = config .get_active ()
53+ if args .defaults :
54+ data = config .get_defaults ()
55+ else :
56+ data = config .get_active ()
57+
4958 utils .dump_out_json (data , sys .stdout )
5059
5160
@@ -58,6 +67,10 @@ def set_value(args: Any):
5867 config .set_value (args .name , args .value )
5968
6069
70+ def delete_value (args : Any ):
71+ config .delete_value (args .name )
72+
73+
6174def new_config (args : Any ):
6275 config .create_new_config (name = args .name , template = args .template )
6376 dump (None )
0 commit comments