Commit Graph

651 Commits

Author SHA1 Message Date
Jan Nieuwenhuizen 85b90e8537 job: disable backgrounding 2018-07-15 16:32:43 +02:00
Jan Nieuwenhuizen e6e03c6da2 parser: handle substitution in for sequence. 2018-07-15 16:08:26 +02:00
Jan Nieuwenhuizen c32034d13d command, builtin, glob, echo cleanup and fixes 2018-07-15 13:43:52 +02:00
Jan Nieuwenhuizen d065723221 parser: refactor, use `pipeline' instead of `expression'. 2018-07-15 12:49:59 +02:00
Jan Nieuwenhuizen 9623e014f0 builtins: [: New command.
* gash/builtins (bracket-command): New function.
  (%builtin-commands): Add it.
2018-07-15 12:23:27 +02:00
Jan Nieuwenhuizen 4bb60cc4c3 parse: handle empty script WIP 2018-07-14 23:16:27 +02:00
Jan Nieuwenhuizen b20306e123 builtins: grep: New command.
* gash/guix-build-utils.scm (<grep-match>): New record type.
  (grep): New function.
* gash/builtins.scm (grep-command): New command.
  (%builtin-commands): Add it.
2018-07-14 23:16:27 +02:00
Jan Nieuwenhuizen 0cab9321b2 builtins: test: Enhance with file tests.
* gash/guix-build-utils.scm (directory-exists?, executable-file?,
  symbolic-link?): Import from Guix.
* gash/builtins.scm (test-command): Use them to enhance with file test.
2018-07-14 23:16:27 +02:00
Jan Nieuwenhuizen 863b3b5908 builtins: test: New command.
* gash/builtins.scm (test-command): New command.
  (%builtin-commands): Add it.
  (builtin, command, doublequotes, expression, for, glob,
  singlequotes, substitution): Move from peg.scm.
* gash/peg.scm: Remove them.
2018-07-14 23:16:13 +02:00
Jan Nieuwenhuizen 48373edb3f WIP: IF hack 2018-07-14 22:48:55 +02:00
Jan Nieuwenhuizen de6d653c7c builtins: type: New command.
* gash/builtins.scm (type-command): New function.
  (%builtin-commands): Add it.
2018-07-14 22:48:55 +02:00
Jan Nieuwenhuizen 677deaf9b3 builtins: command: New command.
* gash/builtins.scm   (command-command): New command.
  (%builtin-commands): Add it.
  (builtin): Move from peg.
* gash/peg.scm (builtin): Remove.
2018-07-14 22:48:42 +02:00
Jan Nieuwenhuizen 0408463a13 bah, some uninformed error handling. WIP 2018-07-14 22:48:42 +02:00
Jan Nieuwenhuizen 870fc792d7 debug du WIP 2018-07-14 22:48:42 +02:00
Jan Nieuwenhuizen 2c30f3c4c6 builtins: find: First naive implementation.
* gash/builtins.scm (find-command-implementation): New function.
  (find-command): New command.
  (%builtin-commands): Add it.
* gash/guix-build-utils.scm (file-name-predicate, find-files): Import
  from Guix.
2018-07-14 22:48:42 +02:00
Jan Nieuwenhuizen e0169d0acd builtins: Support \non-builtin escape.
* gash/peg.scm (builtin): Add #:prefer-builtin? keyword argument.
  (transform): Support \non-builtin escape.
2018-07-14 15:57:02 +02:00
Jan Nieuwenhuizen e5c6324d82 remove debugging WIP: 2018-07-14 15:56:46 +02:00
Jan Nieuwenhuizen 43d418fab1 some builtin progress WIP 2018-07-14 15:41:03 +02:00
Jan Nieuwenhuizen 97a95ee002 builtins: cd: Support `cd -'.
* gash/builtins.scm (cd-command): Support `cd -'.
2018-07-14 15:23:52 +02:00
Jan Nieuwenhuizen 56a36baee5 factor-out environment.
* gash/environment.scm: New file.
* build-aux/build-guile.sh (SCM_FILES): Add it.
* gash/peg.scm: Include it.
  (assignment, %global-variables, set-shell-opt!, variable): Remove.
2018-07-14 15:23:52 +02:00
Jan Nieuwenhuizen 23a13b0890 builtins: resurrect pwd WIP 2018-07-14 15:23:52 +02:00
Jan Nieuwenhuizen 3ea368ab2f resurrect help WIP 2018-07-14 15:23:52 +02:00
Jan Nieuwenhuizen 40aa82fca9 builtins: ls: Support -a,--all,-1,--one-file-per-line,-h,--version.
* gash/bournish-commands.scm (ls-command-implementation): Support
  -a,--all,-1,--one-file-per-line,-h,--version.
2018-07-14 15:23:21 +02:00
Jan Nieuwenhuizen 512b848b11 build: Add config.scm.in.
* gash/config.scm.in:
* configure: Use it to generate gash/config.scm
* .gitignore: Ignore generated file.
* gash/gash.scm (display-version): Use it.
* build-aux/build-guile.sh: Compile it.
2018-07-14 15:10:44 +02:00
Jan Nieuwenhuizen c896015068 resurrect builtins: WIP 2018-07-14 13:34:10 +02:00
Rutger van Beusekom f5339a09f5 WIP: marginal 2018-07-14 12:34:42 +02:00
Jan Nieuwenhuizen 4d3751f654 resurrect builtins: WIP 2018-07-14 12:24:51 +02:00
Jan Nieuwenhuizen f3c8c2c7f0 exit-stati: WIP 2018-07-14 10:20:05 +02:00
Jan Nieuwenhuizen 42fbcb942a fix exit-status in `command' 2018-07-14 09:46:30 +02:00
Jan Nieuwenhuizen ff985aa083 verder aangehaakt 2018-07-14 09:34:57 +02:00
Jan Nieuwenhuizen 20196ccaf0 further WIP: resurrect interactive mode 2018-07-14 09:08:20 +02:00
Jan Nieuwenhuizen 1174445a08 more merge fu 2018-07-14 08:51:12 +02:00
Jan Nieuwenhuizen f98637b8aa oops, merge fix 2018-07-14 08:29:51 +02:00
Rutger van Beusekom 7054858d9a checkpoint 2018-07-13 22:54:22 +02:00
Rutger van Beusekom d5e7cb691d checkpoint 2018-07-13 22:54:22 +02:00
Rutger van Beusekom 745757cfd0 WIP FOO => rewrite me harder 2018-07-13 22:54:22 +02:00
Timothy Sample 2f5d074ca3 Add a parser test for redirects without commands
* tests/parser.scm: Add the test.
2018-07-11 21:54:43 -04:00
Timothy Sample 0afb2523f7 Make reference operators more consistent
* geesh/lexer.scm (get-parameter-expression): Use '#f' to signal an
omitted optional word instead of just omitting the word in the
resulting form.
* tests/lexer.scm: Add a test for omitted optional words.
2018-07-11 21:54:43 -04:00
Timothy Sample c802fd2fca Make reference operator names more "Scheme-y"
* geesh/lexer.scm (*parameter-operators*): Update the names of the
operators.
* tests/lexer.scm: Fix tests accordingly.
2018-07-11 21:54:35 -04:00
Jan Nieuwenhuizen 859a95efe2 doc: Add skeleton. 2018-07-10 00:11:50 +02:00
Jan Nieuwenhuizen 9f8daa3d3c guix: resurrect package build. 2018-07-10 00:11:24 +02:00
Jan Nieuwenhuizen 6aa17dd4ac cat: Support multiple arguments, support "-"
* gash/bournish-commands.scm (cat-implementation): Support multiple
  arguments, support "-".
  (wrap-command): New function.
2018-07-05 06:17:34 +02:00
Jan Nieuwenhuizen b8e41cfa55 typos 2018-07-04 21:11:27 +02:00
Jan Nieuwenhuizen 8c441105fe bournish: cp, rm: handle exit stati. 2018-07-04 21:04:36 +02:00
Jan Nieuwenhuizen d920fe1b4a oops: bugfix `cp' FIXUP: bournish commit. 2018-07-04 20:54:30 +02:00
Jan Nieuwenhuizen f5ee21eb36 Update help and root prompt. 2018-07-04 20:35:28 +02:00
Jan Nieuwenhuizen 41f723c417 Geiser support.
* .dir-locals.el: Geiser support.
2018-07-04 20:11:26 +02:00
Jan Nieuwenhuizen b5632a0103 remove BUGS 2018-07-04 20:10:06 +02:00
Jan Nieuwenhuizen 836f7627b2 Import bournish commands from GNU Guix.
* AUTHORS: New file.
* gash/bournish-commands.scm: New file.  Imported and adapted from GNU
  Guix.
* gash/bournish-commands.scm: Likewise.
* gash/gash.scm (%commands): Add commands from Bournish.
2018-07-04 20:03:11 +02:00
Jan Nieuwenhuizen 0bc6de34d1 bugfix: test/22-semi-pipe-exit-0.sh 2018-07-04 19:17:52 +02:00