Re: [MSH] Tab Completion in MSH vs. Bash



Patrick Ogenstad wrote:
If this is the wrong forum for this please point me in the right direction.


Good Forum ;-)


As I wrote in my blog (http://ogenstad.net) I've just been using Monad for a few days and it looks very impressive! One thing that got my annoyed though was the command / tab completion. Since I'm no new to Monad I might just be wrong about this, but the completion in Monad seems to work the same way it did in Windows 2k/xp/2003. Since there are so many other improvements in monad I guess I was hoping for some better command completion.



It does the same as it uses the same host at the moment.



Some examples:



In Monad:



MSH C:\> ge[tab]

Result: Nothing happens

MSH C:\> get-[tab]

Result: MSH C:\> get-acl

MSH C:\> get-acl[tab]

Result: MSH C:\> get-alias


this is a Limitation of the Hosting environment (the "normal" shell),
this is a much discussed subject, (also that using Tab-completion will erase the rest of the line), it will not be in V1, but is realy looked at to host MSH different later.


that commandcompletion works after the "Verb"- is a fix for this


In Bash (on Linux):

ogenstad@manticore ~ $ ge[tab]

Result: Nothing happens

ogenstad@manticore ~ $ ge[tab][tab]

Result:

gedit         gencnval      getconf       getfattr      gettext.sh

gemtopbm      genrb         getconfig     getkeycodes   gettextize

gemtopnm      genxs         getconfig.pl  getopt

genbrk        genxs.exe     getent        getopts

gencat        geqn          getfacl       gettext

ogenstad@manticore ~ $ ge


you can do this in Monad by using the following command :

get-command -verb get



My point is that if I want to run a get- command but I'm not sure what it's called I have to tab through all the commands. I think it would be better (quicker) if it worked the same way as it does in bash, if I see all the options on screen I get where I want faster.




This also goes for files:



MSH C:\> notepad [tab]

This will tab through all files or if I type:

MSH C:\> notepad e[tab]

It only the ones starting with "e"



In Linux with bash

ogenstad@manticore ~ $ vi [tab][tab]

Would show me all the files in the current directory.



Further command completion only seems to work if you type the verb and -, like get- or add-. It doesn't work for other commands or aliases as it does in bash.




Does anyone else have some thoughts regarding this?


Guess we alll want this much, but even more that V1 goes life,
I think this is more important, so I will live with it and wait for another hosting environment in a later version



Hope .



Relevant Pages

  • [MSH] Tab Completion in MSH vs. Bash
    ... Since I'm no new to Monad I might just be ... monad I guess I was hoping for some better command completion. ... In Bash: ... Further command completion only seems to work if you type the verb and -, ...
    (microsoft.public.windows.server.scripting)
  • Re: OneFinger - the graphical shell
    ... >> i.e. bash, but bash is also very powerful and to me its powerfull enough ... >> (its also does caching, narrowing, ... tab completion has always been a kind of pain to me. ... options as with command completion when there is more than one ...
    (comp.os.linux.misc)
  • Re: Great SWT Program
    ... None of the nasty things that you have said or implied about me are at ... position to set up the relevant command. ... typing some more: either part of the name of the specific file ... itself so that it's the only possible selection for tab completion. ...
    (comp.lang.java.programmer)
  • Re: [MSH] Command completion character
    ... >> We don't currently have a way to customize the tab completion. ... >> have a beta ID please file a feature request. ... Ctrl-V into the command shell. ...
    (microsoft.public.windows.server.scripting)
  • Re: double-tab Command in Linux
    ... > I recently found out about a command in Linux and apparently Solaris that ... It's tab completion, and it's present in shells, editors, and surely ... Read the "programmable completion" part of man bash for ... In bash, it's far more powerful than just listing ...
    (comp.os.linux.misc)