> -----Original Message----- > From: Eric Blake [mailto:eblake@xxxxxxxxxx] > Sent: Tuesday, October 22, 2013 2:23 PM > To: Chen Hanxiao; 'Michal Privoznik' > Cc: libvir-list@xxxxxxxxxx > Subject: Re: [PATCH 5/5]virsh: mark '--shareable' as > VSH_OFLAG_IGNORE > > On 10/22/2013 07:13 AM, Chen Hanxiao wrote: > > >>> > >> > >> Wow, we've never wanted to hide any option before? I've recall > >> introducing VSH_OT_ALIAS, but there hasn't been anything else? > > We've always hidden one spelling that duplicates another, but this is a > case where a boolean option is a duplicate of a non-boolean option, so > I'm not sure if VSH_OT_ALIAS alone does what we want (or maybe it just > means we enhance VSH_OT_ALIAS to be able to express a boolean alias for > a non-boolean default). > > > > > Do you mean we just treat --shareable as an alias for --mode like this: > > > > {.name = "shareable", > > - .type = VSH_OT_BOOL, > > + .type = VSH_OT_ALIAS, > > - .help = N_("shareable between domains") > > + .help = "mode" > > If it works. Maybe even by having it be an alias for .help = > "mode=shareable" rather than just "mode", and teach VSH_OT_ALIAS to > handle '=' within the .help text. > Better choice. > > }, > > > > But with VSH_OT_ALIAS, auto complete could also get it. > > Command line completion is orthogonal. It needs fixing anyways (there > were patches posted last month, but I haven't seen any recent action on > them). > > Ideally, we want the following: > > attach-disk <TAB> > > to NOT show --shareable (because it can show --mode instead) > > attach-disk --sh <TAB> > > would show --shareable (just because it's deprecated and hidden by > default does NOT mean it must be hidden if the user explicitly requests > something that can't complete in any other way) > > attach-disk --mode=shareable --sh<TAB> > attach-disk --mode readonly --sh<TAB> > > would both complain about no possible completion (because --shareable > has already been eliminated by --mode appearing earlier). > > attach-disk --shareable --mo<TAB> > > would complain about no possible completion (--shareable implies > --mode=shareable, and --mode can't appear more than once). > > But getting that working in this patch series is NOT a prerequisite - > save it for everything else that needs fixing with completion. > Thanks for your elaborate explanation. I'll try to reach these goals, although they're a little complex. > > We still need new flag to hide it. > > I'm still not convinced we need VSH_OFLAG_IGNORE. VSH_OT_ALIAS, plus > new logic that lets a boolean be an alias to non-bool=value, ought to be > the way to do it (ie. fix our existing aliasing mechanism, rather than > adding a second aliasing mechanism). > Agree. I'll try to expand the logic of VSH_OT_ALIAS. Thanks! > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list