summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* parse individual words from concatenated variables/barewords/etcJesse Luehrs2022-01-082-116/+139
|
* add support for special env varsJesse Luehrs2022-01-082-2/+25
|
* implement environment variablesJesse Luehrs2022-01-082-3/+17
|
* add basic variable parsingJesse Luehrs2022-01-082-14/+38
|
* large refactorJesse Luehrs2022-01-089-586/+687
|
* simplifyJesse Luehrs2022-01-071-54/+43
|
* split tests out into their own fileJesse Luehrs2022-01-072-292/+287
|
* implement escaping charactersJesse Luehrs2022-01-072-9/+112
|
* fix quoted redirect targetsJesse Luehrs2022-01-071-24/+55
|
* fix append redirection parsingJesse Luehrs2022-01-072-1/+8
|
* more testsJesse Luehrs2022-01-071-2/+87
|
* simplifyJesse Luehrs2022-01-071-45/+37
|
* implement appending in io redirectionJesse Luehrs2022-01-061-9/+36
|
* add some parsing testsJesse Luehrs2022-01-061-7/+167
|
* stop using implicit whitespaceJesse Luehrs2022-01-061-6/+9
| | | | | | the end of rule whitespace handling is weird and inconsistent, see https://github.com/pest-parser/pest/issues/396 and https://github.com/pest-parser/pest/issues/519
* simplifyJesse Luehrs2022-01-053-53/+35
|
* also support redirection for builtinsJesse Luehrs2022-01-052-0/+42
|
* safety commentsJesse Luehrs2022-01-051-0/+4
|