Bjorne completion will not complete empty tokens

Project:JNode Shell
Category:bug report
Assigned:Stephen Crawley

It works with the redirecting interp, so its something specific in the bjorne code.

If you try to complete anything without giving it at least a single character for the last token, then it won't provide any completions.

Steve, i haven't dug right into this yet, but it seems like it might be in some way related the issue of the aliases not completing. I believe you were mentioning something about extending the BjorneParser to be more intelligent in regards to completion. (I took what you said to mean that it would allow completion of the interprets own syntax, and add things like |, &&, > to the list of completions).

If this is something you'd prefer to handle, then i'll leave it open, otherwise I'd be willing to pick away at this.


Assigned to:Anonymous» Stephen Crawley

It is probably best if I took care of this. I was going to spend more time on isolates, but I guess it is more important that Bjorne completion is ... completed.


My last checkins deal with the case where the missing token is a command word; i.e. the command alias or a command argument. For example completing an empty command line now gives a list of (non-builtin) command aliases, and completing "if " will do the same.

I'm working on addressing other cases: completion of keywords / reserved words, completion of built-in command names and completion of pathnames following redirection keywords such as '>', '>>' and so on.


Just a brief note to say that I'm still working on keyword / reserved word completion. My unit testing suggests that this aspect is pretty much working ... but I still have a number of testcases to add to the unit test. I bet cluster is happy that I grabbed this issue Smiling.


Status:active» fixed

Bjorne completion now covers command names, command arguments, shell keywords / reserved words and filename completion of redirection pathnames and 'for' word lists.

While there are a couple of things still to implement (see tracking issue), I think I've done enough to mark this issue as 'fixed'.