[Toybox] Editors and such.

Rob Landley rob at landley.net
Thu Oct 25 17:56:51 PDT 2012


On 09/05/2012 05:49:37 AM, David Seikel wrote:
> On Sun, 01 Jul 2012 22:20:24 -0500 Rob Landley <rob at landley.net>
> wrote:
> 
> > On 07/01/2012 12:14 PM, David Seikel wrote:
> > > On Sun, 01 Jul 2012 11:58:05 -0500 Rob Landley <rob at landley.net>
> > > wrote:
> > > 
> > >> I'm adding a chunk at a time and checking it in. I have somewhat
> > >> elaborate plans, but they change as I go along.
> > >>
> > >> Your design of course takes into account none of _my_ elaborate
> > >> plans, but since I haven't checked them in yet they're fair 
> game.
> > >>
> > >> But I'm a bit nervous about impedence matching a giant code 
> drop.
> > > 
> > > My design is changing as I go along as well.  I'm trying to shake
> > > out a proper design for all of this with some real world sanity
> > > checking.
> > 
> > Aren't we all. :)
> > 
> > > The first code drop will just be a single toy, which is just a
> > > prototype.  A work in progress for commenting on.  Later it 
> should
> > > probably be split up into a few library bits that can be left out
> of
> > > the build if not needed.
> > 
> > Yay trail of breadcrumbs. I look forward to it.
> 
> Here's a code drop, warts and all.  I should have done this a month
> ago,
> which is the last time I looked at it.

I looked at this when you posted it, but it's way too big for me to 
really do much with.

Can we start with a minimal application? How about just enough 
infrastructure to do command line editing ala shell history? (Not even 
the shell history part, just the cursor left/right to insert, the 
ability to backspace up to the previous line once you've typed enough 
to wrap?)

I can glue that into toysh (which I've been meaning to get back to 
banging at: the next big chunks are to wean it off toybuf (it shouldn't 
have size limits), add quote parsing, and add basic environment 
variable support. Then I'll need to tackle flow control and functions, 
which oddly enough are about the same thing for reasons I can blather 
about here if you're interested.

So much to do...

> Keep in mind what I said
> above, this is a work in progress, proof of concept, playground,

You've just described teh whole of toybox.

Which is why plugging it into the aboriginal linux build is so 
important. That's a use case where I can see if waht I've written 
actually _works_ when things try to use it.

> Please don't actually include this in toybox.  Just look at it and
> sneer / giggle, depending on your nature.  Drop it into the toys
> directory to try it out, it's just one big toy.

I need to fix the infrastructure a bit. Elie bumped into the fact that 
combining two toys into one command file is... fiddly. I just hit it
again myself with md5sum/sha1sum, which are 90% the same command logic 
(so much so that putting it in lib/ seems silly), but right now I can't 
get separate help text for the two commands.

I'm not sure how to _indicate_ that in the command header data.

I should also describe some of the work I've done in the repo while my 
email was out.  (The menuconfig subdirectories corresponding to
toys/*/*.c subdirectories, for example. I want to add help text to the 
start of each menu, but I _don't_ want people to have to cursor through 
stuff that they can't select in menuconfig. Right now kconfig doesn't 
support that, and I don't really want to hack it up too much if I'm 
replacing it...)

I also got a fresh git checkout of toolbox and redid my analyis there. 
Plus I've added sash-plus-patches to my list of things I need to be 
better than...

Stuff. Lots of stuff. Grinding away at it. Last night I did the start 
of a "umount" command; if I can get mount/umount/losetup in I think 
that's good for a release. (And I need to recreate the static 
binaries...)

> I've not even looked at it in the last month, just thought it was 
> past
> time to show the code.  I'll get back to working on it when I can.

Heh. I got to that point, and quit my day job to make time to work on 
open source. (I am weird.)

Rob
 1351213011.0


More information about the Toybox mailing list