Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-11-11 | chore: libunicode -> libutf | Nicholas | |
2021-11-08 | feat(rc): added back functionality of prompt, now unicode aware | Nicholas Noll | |
2021-10-29 | Prototype of unicode readline support | Nicholas Noll | |
The readline functionality operated on the assumption that 1 byte = 1 character. This is obviously wrong if you input a non-ascii character. This commit temporarily removes a lot of functionality but parses input bytes in a unicode-aware manner. The outstanding problem now is 1 unicode rune != 1 column. There are double wide characters, as well as zero width runes, that further break our assumption that 1 rune = 1 character = 1 column. This is the next iteration. | |||
2021-10-26 | Feat(libunicode): Added an explicit unicode library | Nicholas Noll | |
Refactored code to pull out utf8 functions from base into a standalone library. Also left the required function inside arg.c so that code that calls ARG_BEGIN doesn't have to link to libunicode. | |||
2021-10-26 | fix(rc): prompt during command entry | Nicholas Noll | |
2021-10-26 | feat(rc): keywords now recognized. for and while loop | Nicholas Noll | |
Prototypes for loops sketched. This required recognizing keywords and returning from yylex. Debugging/testing will be required. | |||
2021-10-26 | chore(rename): libn -> base | Nicholas Noll | |
2021-10-26 | proto(rc): control structures | Nicholas Noll | |
2021-10-21 | feat(rc): added a few builtins | Nicholas Noll | |
2021-10-21 | feat(rc): expanded tree printing | Nicholas Noll | |
2021-10-20 | Refactored interactivity to track with thread. | Nicholas Noll | |
Hit a bit of a stopping point. Specifically, the way XAsync runs currently is by forking the execution context and having the child run the async code while the parent runs the remainder. The problem with this architecture is it doesn't interact well with job control. When we fork, we create a new process group. Thus the Xasync fork becomes the new leader. In short, our traversal of the parse tree as to be less "preorder" and more "in order", i.e. from the leaves up. The "left" command of the pipeline should be the "leader" of the process group. | |||
2021-10-19 | Feat(rc): added subshell commands and cd builtin | Nicholas Noll | |
Slowly chipping away at a decent feature list. Subshell commands are executed by @{ ... }. | |||
2021-10-19 | feat(rc): prototype of async jobs | Nicholas Noll | |
2021-10-19 | feat(rc): cleaner process watching for each job | Nicholas Noll | |
2021-10-18 | feat(rc): job control prototype working for basic commands | Nicholas Noll | |
2021-10-15 | feat(rc): working prototype of input->compile->print loop | Nicholas Noll | |
2021-10-13 | RM(rc): old code. too many assumptions baked in | Nicholas Noll | |
2021-10-13 | Feat(rc): working(ish) version of rc shell | Nicholas Noll | |
Removed compile commands | |||
2021-10-13 | fix(email): bytes error. updated vendoring | Nicholas Noll | |
2021-10-09 | feat(rc): added shell | Nicholas Noll | |
2021-04-22 | chore: rm unfinished projects | Nicholas Noll | |
2020-06-20 | feat: file globbing in shell. added dynamic.mk | Nicholas Noll | |
2020-06-19 | fix: many small bug fixes with parser and lexer | Nicholas Noll | |
2020-06-18 | feat: working parser for rc shell language | Nicholas Noll | |