Hi Wolfgang, On Tue, 04 Dec 2018 11:14:31 +0100 Wolfgang Denk <w...@denx.de> wrote:
> Dear Boris, > > In message <20181204105448.63b9af8c@bbrezillon> you wrote: > > > > > > It's pretty common to pass arguments that start with a $ and are then > > > > expanded by the shell, and I'm this kind of lazy guy that hits tab all > > > > the time and expects the shell to suggest something appropriate. So > > > > here is a patchset adding support for ${} auto-completion and using the > > > > new helper from the mtd command. > > > > > > You mean, this feature depends on MTD support? this is not goot. > > > > Not at all, MTD is just the first user of this dollar_complete() > > helper. That's what I meant. > > But is this not based on the code of mtd_name_complete() which is > only availabole when MTD is present? Nope. See patch 1, the code is completely independent from the mtd cmd. > > > > Also, you should make this feature configurable. Not everybody may > > > want to use it or may have the memory available. > > > > It already depends on CONFIG_AUTO_COMPLETE, and each command has to > > explicitly call the helper to support ${} auto-completion. Not that $ > > auto-completion only makes sense for some arguments, not all of them. > > It's the responsibility of the command itself to decide when it should > > be used. > > Um... this is not hat I would expect - if we implement > auto-completion for variables, it should IMO work similar to what a > standard shell is doing. > > In Bash, I can do: > > -> foo=1234 > -> echo $f<TAB> > $f $flag $foo And that's pretty much how it works except that right now, echo has to be patched to support $ auto-completion. > -> echo $f For the record, not all shell configs expand $foo, some require that foo be enclosed in ${} (${foo}), that's why the current proposal always auto-completes $ as ${. > > i. e. this is a feature of the shell and not of any command. > Implementing this a zillion times for each of the commands in > inacceptable. Also, implementing it for one command and not for > another makese no sense - that would violate the Principle of Least > Surprise, as you have something which looks convenient but does not > work everywhere. Okay, I understand. I can try to hook that up at the common/command.c level. > > > > Technically - should autocompletion not be prevented for escaped > > > '$' characters, i. e. hitting TAB after a '\$' sequence should NOT > > > expand? > > > > It's already the case. The argument has to start with $ or ${ to be > > auto-completed. > > We should implement this such that behaviour is similar to what we > see on a standard shell. Apart from the "make that available to everyone" comment, is there anything else you think should be changed? IOW, what is not compliant with a standard shell auto-completion in my proposal? Regards, Boris _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot