This looks a little bit differently than the forth version for the time being, just to get off the ground- rather than a paging system, it's implemented as a simple carousel like the kernel selector.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
stand/lua/core.lua | ||
---|---|---|
202–203 ↗ | (On Diff #39494) | Might insert a nil check for curenv in here, before the unique check. (Or not, it shouldn't happen based on the corresponding C code.) |
229 ↗ | (On Diff #39494) | I might name this differently to make it clear it is a predicate rather than a verb. |
stand/lua/menu.lua | ||
61 ↗ | (On Diff #39494) | spaces around .. |
65 ↗ | (On Diff #39494) | I don't really understand how the menu data works, so I am skipping this part. I'll take your word for it. |
304 ↗ | (On Diff #39494) | spaces around .. |
Ship it, modulo this menu system has grown really large and isn't exactly data driven any more due to all of the embedded lambda functions. I'm not sure there's a better way to encompass all of this, though. We've basically got a novel, barebones UI toolkit.
I think for its lifespan in the tree it's debatable whether it's grown any less data driven than it already was. =) It already had quite a few lambdas in the form that I took it over from [1], I just added another interpretation for name/func and a couple more lambdas to bring it into parity with its Forth fourth cousin.
I also am not sure there's a better way to encompass all this. Forth had some dynamic stuff (swapping of menu entries and hiding of others) that would be kind of hard to capture if I simplified it much further.
[1] https://svnweb.freebsd.org/base/head/stand/lua/menu.lua?revision=329167&view=markup