Newsgroups: comp.unix.shell Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!psuvax1!news From: flee@cs.psu.edu (Felix Lee) Subject: Re: separate the command language and interactive she Message-ID: <-#8Gd-e*1@cs.psu.edu> Sender: news@cs.psu.edu (Usenet) Nntp-Posting-Host: dictionopolis.cs.psu.edu Organization: Penn State Computer Science References: <2749@optima.cs.arizona.edu> Date: Sun, 5 May 91 06:16:25 GMT Lines: 26 > ::= * | "set" = > ::= "-"* | "$" | > path-complete with "echo $path" > path-complete with "pwd" > list-complete with "variable-completion %s" Let's see. The syntax is naive: it doesn't do quoting of any sort, so you can't do file completion on files with special characters in it. How about completing filenames with variables embedded: "$HOME/$a/a". How about history completion: expand things like "!$" and "!vi". How about glob completion: expand things like "*" and "f*". A more serious problem: the shell isn't the only thing that wants/needs completion. gdb, for example, wants to do completion. Teaching the front-end about all this gets ugly. The simplest way to handle completion is to have a communication channel between the front-end and the current interactive process. (Which immediately has two problems in Unix: What's the "current interactive process"? How do I talk to it? (So how do we fix Unix?)) -- Felix Lee flee@cs.psu.edu