From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=55368 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ORNC5-0005AB-9e for qemu-devel@nongnu.org; Wed, 23 Jun 2010 06:28:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1ORNC4-000385-1u for qemu-devel@nongnu.org; Wed, 23 Jun 2010 06:28:33 -0400 Received: from thoth.sbs.de ([192.35.17.2]:21592) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1ORNC3-00037V-IL for qemu-devel@nongnu.org; Wed, 23 Jun 2010 06:28:32 -0400 Message-ID: <4C21E1CB.6040600@siemens.com> Date: Wed, 23 Jun 2010 12:28:27 +0200 From: Jan Kiszka MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v4 11/23] monitor: Add completion support for option lists References: <68962306385412f48130690d29a0349b322b9930.1276641524.git.jan.kiszka@web.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Anthony Liguori , Juan Quintela , "qemu-devel@nongnu.org" , Luiz Capitulino , Blue Swirl , Jan Kiszka , Avi Kivity Markus Armbruster wrote: > Jan Kiszka writes: > >> From: Jan Kiszka >> >> This enables command line completion inside option strings. A list of >> expected key names and their completion type can be appended to the 'O' >> inside parentheses ('O(key:type,...)'). The first use case is block >> device completion for the 'drive' option of 'device_add'. >> >> Signed-off-by: Jan Kiszka >> --- >> monitor.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++--------- >> qemu-monitor.hx | 2 +- >> 2 files changed, 58 insertions(+), 12 deletions(-) >> >> diff --git a/monitor.c b/monitor.c >> index c1006b4..3e0d862 100644 >> --- a/monitor.c >> +++ b/monitor.c >> @@ -68,6 +68,9 @@ >> * 'O' option string of the form NAME=VALUE,... >> * parsed according to QemuOptsList given by its name >> * Example: 'device:O' uses qemu_device_opts. >> + * Command completion for specific keys can be requested via >> + * appending '(NAME:TYPE,...)' with 'F', 'B' as type. >> + * Example: 'device:O(bus:Q)' to expand 'bus=...' as qtree path. >> * Restriction: only lists with empty desc are supported >> * TODO lift the restriction >> * 'i' 32 bit integer > > Ugh. > > Replacement of args_type by a proper data structure is long overdue. We > keep piling features into that poor, hapless string. > > Information on how to complete QemuOptsList options arguably belongs > into the option description, i.e. QemuOptDesc. For sure, that would be better. I just wonder how much of it should be stuffed into this series. I guess I will drop this part for now, just focusing on what device_show makes direct use of. Same for separate args for HMP and QMP. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux