mirror of
https://github.com/ksherlock/mpw-shell.git
synced 2024-12-29 00:30:57 +00:00
A shell for those that prefer Macintosh Programmer's Workshop.
cxx | ||
etc | ||
.gitignore | ||
.travis.yml | ||
builtins.cpp | ||
builtins.h | ||
CMakeLists.txt | ||
command.cpp | ||
command.h | ||
environment.cpp | ||
environment.h | ||
error.h | ||
fdset.h | ||
lemon_base.h | ||
lempar.cxx | ||
make-version.rb | ||
mpw-shell-command.rl | ||
mpw-shell-commands.c | ||
mpw-shell-execute.cpp | ||
mpw-shell-expand.rl | ||
mpw-shell-parser.cpp | ||
mpw-shell-quote.rl | ||
mpw-shell-read.rl | ||
mpw-shell-token.rl | ||
mpw-shell.cpp | ||
mpw-shell.h | ||
mpw-shell.text | ||
pathnames.rl | ||
phase1.h | ||
phase1.rl | ||
phase2-parser.lemon | ||
phase2.h | ||
phase2.rl | ||
README.md | ||
value.h | ||
value.rl | ||
version.h |
MPW Shell
MPW Shell is a re-implementation of the Macintosh Programmer's Workshop shell. The primary reason is to support MPW Make (which generated shell script). It may also be useful for other things.
Supported features
- If ... [Else If] ... [Else] ... End
- Begin ... End
- Loop ... End
- For name In [word...] ... End
- Break [If], Continue [If]
- ( ... )
- ||
- &&
- redirection
Not supported
- pipes (|)
- subshells (
...
,...
) - text-editing commands (search forward/backward, regular expressions, et cetera)
Builtin Commands
- AboutBox
- Directory
- Echo
- Exists
- Export
- Parameters
- Quote
- Set
- Unexport
- Unset
- Version
- Which
Setup
- Install MPW. The mpw binary should be somewhere in your
$PATH
. It also checks/usr/local/bin/mpw
and$HOME/mpw/bin/mpw
- Copy the
Startup
script to$HOME/mpw/
. This script is executed when mpw-shell (or mpw-make) starts up (imagine that) and should be used to set environment variables.