On Thu, Mar 9, 2023 at 6:14 PM Ville Juven <ville.ju...@gmail.com> wrote:
> Hi all, > > I'm in the process of writing support for shell aliases into NSH, but since > the shell is the front end for NuttX I decided to make a post here for > opinions on this matter and to open discussion for requirements, mostly to > prevent unexpected regression issues that might arise from this. > > 1. Are shell aliases seen as something useful in the community ? I need > them for a project of mine which is the reason I started implementing > support but I'd like to know if they are seen as useful whatsoever by > others. > > 2. To properly support aliases, the shell parser needs to support single > quotes and double quotes. This support will generate a bit of extra code > into the parser, is this seen as OK ? > > alias foo='bar baz' > alias foo="bar $baz" > > In both cases, the parser stops on the first delimiter (whitespace) even > though it is quoted. > > 3. I will implement support for *single quotes* as this is a simple case > but not for double quotes as the rules are more complex (need to perform > variable expansions etc). Is this seen as a blocker / fatal issue? > > This feature already exist https://github.com/apache/nuttx-apps/blob/master/nshlib/Kconfig#L126-L146 > 4. I added a Kconfig option to turn alias support on/off, what should the > default state of this option be ? Currently it is defined as follows: > > config NSH_ALIAS > bool "Enable alias support" > default !DEFAULT_SMALL > > I noticed that many of the shell features are flagged behind DEFAULT_SMALL. > > Also the alias amount is configurable. > > 5. Currently aliases are implemented globally i.e. every shell shares the > same aliases, is this seen as a problem or should I make the aliases stick > to a shell session only ? > > It's better to follow the POSIX spec. This is my first time posting on this board, so apologies if I did > something improper. > > Br, Ville Juven >