summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* highlight the specific pipeline that is currently runningJesse Luehrs2022-01-116-14/+85
|
* add testsJesse Luehrs2022-01-102-5/+128
|
* implement globbingJesse Luehrs2022-01-102-29/+90
|
* implement expanding alternationsJesse Luehrs2022-01-102-19/+54
|
* parse alternationsJesse Luehrs2022-01-103-4/+85
|
* refactor the grammar a bitJesse Luehrs2022-01-102-17/+21
|
* fix testsJesse Luehrs2022-01-101-166/+45
|
* improve parsing error messagesJesse Luehrs2022-01-102-5/+40
|
* setenv/unsetenv -> set/unsetJesse Luehrs2022-01-101-11/+11
|
* also support it for output fdsJesse Luehrs2022-01-101-7/+11
|
* add more readable aliases for std fdsJesse Luehrs2022-01-102-2/+9
|
* also clear the variable when read hits eofJesse Luehrs2022-01-091-8/+7
|
* fix builtins wrapping builtinsJesse Luehrs2022-01-094-52/+14
|
* read builtin should return a failure exit code on eofJesse Luehrs2022-01-091-1/+6
|
* stop parsing command lines at all in the main shell processJesse Luehrs2022-01-094-90/+23
|
* renameJesse Luehrs2022-01-093-4/+4
|
* renameJesse Luehrs2022-01-097-17/+17
| | | | since this doesn't just run pipelines anymore
* update the environment after every pipelineJesse Luehrs2022-01-092-4/+6
|
* restore session leader to the foreground process on process group exitJesse Luehrs2022-01-091-0/+1
| | | | this way it can catch ^C etc
* restore the behavior of propagating SIGINTJesse Luehrs2022-01-091-0/+7
|
* fix std fd handlingJesse Luehrs2022-01-091-20/+20
|
* move to running the full command in the subprocessJesse Luehrs2022-01-092-196/+25
|
* block SIGTTOU when calling tcsetpgrpJesse Luehrs2022-01-091-1/+27
| | | | otherwise it'll fail if the session leader is a background process
* extend the session leader process to be able to run full command linesJesse Luehrs2022-01-092-23/+172
|
* don't busy loop when waiting for exit after exit eventJesse Luehrs2022-01-091-17/+22
|
* we also don't need to keep reading if we get an Exit eventJesse Luehrs2022-01-081-0/+2
|
* simplifyJesse Luehrs2022-01-081-5/+17
|
* cleanupsJesse Luehrs2022-01-086-45/+36
|
* remove a bunch of unwrapsJesse Luehrs2022-01-081-13/+9
|
* fix file descriptor leakJesse Luehrs2022-01-081-0/+1
|
* implement for loopsJesse Luehrs2022-01-082-20/+95
|
* fix for loop parsingJesse Luehrs2022-01-082-8/+17
|
* implement whileJesse Luehrs2022-01-081-6/+17
|
* implement ifJesse Luehrs2022-01-081-6/+54
|
* fix control statement parsingJesse Luehrs2022-01-082-5/+3
|
* refactorJesse Luehrs2022-01-081-28/+45
|
* also fix the other use of blocking::unblockJesse Luehrs2022-01-081-49/+65
|
* add parsing for control statementsJesse Luehrs2022-01-084-42/+108
|
* remove unnecessary codeJesse Luehrs2022-01-081-11/+4
|
* pull tests out into their own file againJesse Luehrs2022-01-082-352/+347
|
* remove pipeline from the environmentJesse Luehrs2022-01-083-25/+26
| | | | | it was only really here for convenience, but it doesn't really make a lot of sense
* more testsJesse Luehrs2022-01-081-0/+47
|
* there's no reason to eval at all in the main shellJesse Luehrs2022-01-083-27/+7
|
* safety commentsJesse Luehrs2022-01-082-6/+30
|
* implement read builtinJesse Luehrs2022-01-082-6/+43
|
* share stdin/stdout/stderr handles among builtins in a pipelineJesse Luehrs2022-01-085-55/+112
|
* more refactoringJesse Luehrs2022-01-082-66/+85
|
* refactor builtin fd handling a bitJesse Luehrs2022-01-084-68/+130
|
* add setenv and unsetenv builtinsJesse Luehrs2022-01-082-32/+105
|
* fix race condition when reading pipeline eventsJesse Luehrs2022-01-081-30/+55
| | | | | | | we can't actually create a new blocking::unblock in every loop iteration, because ones from the previous iteration are not actually cancelled when they are dropped. also if there is a lot of data to serialize, we might get the exit event before the read event