]> git.tdb.fi Git - builder.git/blobdiff - source/buildercli.cpp
Properly support multiple choice features
[builder.git] / source / buildercli.cpp
index 7f6ee687728fbaeecc7ef526d0fb16bdb0b84f41..c0a4f06c8f10c1b692b39c7a79798cf361a362e6 100644 (file)
@@ -354,10 +354,21 @@ void BuilderCLI::package_help()
                for(Config::OptionMap::const_iterator i=options.begin(); i!=options.end(); ++i)
                {
                        const Config::Option &opt = i->second;
-                       IO::print("  %s: %s (%s)", opt.name, opt.description, opt.value);
-                       if(opt.value!=opt.default_value)
-                               IO::print(" [%s]", opt.default_value);
-                       IO::print("\n");
+                       string line = format("  %s: %s (%s)", opt.name, opt.description, opt.value);
+                       if(!opt.choices.empty())
+                       {
+                               line += " {";
+                               for(list<string>::const_iterator j=opt.choices.begin(); j!=opt.choices.end(); ++j)
+                               {
+                                       if(j!=opt.choices.begin())
+                                               line += ' ';
+                                       line += *j;
+                               }
+                               line += '}';
+                       }
+                       else if(opt.value!=opt.default_value)
+                               line += format(" [%s]", opt.default_value);
+                       IO::print("%s\n", line);
                }
        }
 }