Commit Graph

32 Commits

Author SHA1 Message Date
Jan Nieuwenhuizen 8f12c6a562 test: 50-redirect-sed.sh 2018-12-02 06:56:17 +01:00
Jan Nieuwenhuizen 1162f37d19 test: 07-variable-or-empty. 2018-11-25 11:53:29 +01:00
Jan Nieuwenhuizen 7f6b88c43b implement shift. 2018-11-25 08:46:10 +01:00
Jan Nieuwenhuizen 2f5de56cfd test: add 50-redirect-merge.sh 2018-11-24 21:57:34 +01:00
Jan Nieuwenhuizen f3fc92c266 test: add failing redirect/pipe test. 2018-11-24 21:05:59 +01:00
Jan Nieuwenhuizen 29ae8bc570 test: add substitution tests. 2018-11-24 20:48:21 +01:00
Jan Nieuwenhuizen 3c7b22febf test: add 42-sh.sh 2018-11-24 13:17:21 +01:00
Jan Nieuwenhuizen 9ac8140cf4 test: 07-variable-or-doublequete.sh: New failing parse test. 2018-11-24 12:57:07 +01:00
Jan Nieuwenhuizen b2f5004eb6 01-script-$0.sh, 01-script-$@.sh: add test and fix. 2018-11-24 12:25:24 +01:00
Jan Nieuwenhuizen f81b526bd0 fix and test cd builtin. 2018-11-24 11:32:33 +01:00
Jan Nieuwenhuizen 2df901d337 50-redirect-append.sh: New failing parse test. 2018-11-24 11:05:46 +01:00
Jan Nieuwenhuizen b9013153f2 test: 07-variable-or-variable.sh: New failing parse test. 2018-11-18 15:36:35 +01:00
Jan Nieuwenhuizen 992479b0a3 11-for-subshell: new failing parse test. 2018-11-17 20:08:01 +01:00
Jan Nieuwenhuizen 303746a4bc io-here. 2018-11-14 22:49:06 +01:00
Jan Nieuwenhuizen b6340bd612 io-redirect: some progress, some new tests. 2018-11-14 22:41:24 +01:00
Rutger van Beusekom d667922bbd narrow escape 2018-11-13 09:04:56 +01:00
Jan Nieuwenhuizen 6449c3424a check-parse: new target. 5 parse failures. 2018-11-12 10:52:39 +01:00
Jan Nieuwenhuizen 1e81a66926 test: 10-if-redirect. 2018-11-10 12:07:07 +01:00
Jan Nieuwenhuizen 5f2bcb9528 test: add failing 07-variable-or-slash.sh. 2018-11-10 11:55:50 +01:00
Jan Nieuwenhuizen 9a96816b5d Support elif. 2018-11-10 11:30:55 +01:00
Jan Nieuwenhuizen 90325b22a2 Support . script, source script. 2018-11-10 11:30:55 +01:00
Jan Nieuwenhuizen 726ca052a9 Support ${ / / }, ${ / }. 2018-11-10 11:30:55 +01:00
Jan Nieuwenhuizen 8ca428c7f2 Support ${ # ## % %% }. 2018-11-05 22:47:34 +01:00
Jan Nieuwenhuizen 8d0d50240b Support functions. 2018-11-05 20:16:39 +01:00
Jan Nieuwenhuizen 6250b22951 Support && and ||.
* gash/script.scm (and-terms, or-terms): New macros.
* gash/peg.scm (transform): Transform to use them.
(parse-): Parse && and || as binary term operator.
* test/20-and.sh: Test it.
* test/20-or.sh: Test it.
* check.sh (tests): Run it.
2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen 2a4e3ec71b Support escaped newline.
* gash/peg.scm (parse-): Support escaped newline.
* test/01-script-backslash.sh: Test it.
2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen bca65e807b Support ${foob-bar} and ${foo+bar}.
* gash/environment.scm (variable): Add default parameter.
(variable-or, variable-and): New function.
* test/07-variable-or.sh: Test it.
* test/07-variable-or-not.sh:
* test/08-variable-and.sh:
* test/08-variable-and-not.sh:
2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen 418652bee1 test: Refactor. 2018-11-05 20:13:26 +01:00
Jan Nieuwenhuizen 6224bbeefc test: tar. 2018-11-05 19:59:53 +01:00
Jan Nieuwenhuizen 6203f8cf07 test: Update test suite. 2018-11-05 19:59:53 +01:00
Jan Nieuwenhuizen f27cb9a192 sed: New builtin.
* gash/commands/sed.scm: New file.
* build-aux/build-guile.sh: Compile it.
* configure: Create script.
* gash/shell-utils.scm (with-atomic-file-replacement,
substitute*): New function, Import from Guix.
(substitute-port): New function.
2018-11-05 19:59:53 +01:00
Jan Nieuwenhuizen 9d1d2be6a6 test: Add expectations.
* check.sh: New file, from test.sh.
* test.sh: Run single test with expectations.
2018-11-03 08:02:49 +01:00