diff --git a/README.md b/README.md new file mode 100644 index 0000000..2bc344c --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +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 +* ( ... ) +* || +* && +* redirection + +Not supported +------------- +* pipes (|) +* subshells (`...`, ``...``) +* text-editing commands (search forward/backward, regular expressions, et cetera) + +Builtin Commands +---------------- +* Directory +* Echo +* Export +* Parameters +* Quote +* Set +* Unexport +* Unset +* Which + + +Setup +----- +1. Install MPW. The mpw binary should be somewhere in your `$PATH`. +It also checks `/usr/local/bin/mpw` and `$HOME/mpw/bin/mpw` +2. 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. diff --git a/etc/MPW Shell.terminal b/etc/MPW Shell.terminal new file mode 100644 index 0000000..42b120d --- /dev/null +++ b/etc/MPW Shell.terminal @@ -0,0 +1,74 @@ + + + + + CharacterEncoding + 30 + CommandString + /usr/local/bin/mpw-shell + CursorBlink + + CursorType + 2 + Font + + YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QVk5TU2l6ZVhOU2ZGbGFnc1ZOU05hbWVWJGNs + YXNzI0AsAAAAAAAAEBCAAoADVk1vbmFjb9ITFBUWWiRjbGFzc25hbWVYJGNsYXNzZXNW + TlNGb250ohUXWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RobVHJvb3SAAQgRGiMt + Mjc8QktSW2JpcnR2eH+Ej5ifoqu9wMUAAAAAAAABAQAAAAAAAAAcAAAAAAAAAAAAAAAA + AAAAxw== + + FontAntialias + + ProfileCurrentVersion + 2.04 + RunCommandAsShell + + ShowRepresentedURLInTitle + + ShowRepresentedURLPathInTitle + + ShowShellCommandInTitle + + TextBoldColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NGMCAw + IDAAEAGAAtIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVj + dF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FITltiaWttcn2GjpGa + rK+0AAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY= + + TextColor + + YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS + AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NGMCAw + IDEAEAGAAtIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVj + dF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FITltiaWttcn2GjpGa + rK+0AAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY= + + columnCount + 100 + name + MPW Shell + noWarnProcesses + + + ProcessName + screen + + + ProcessName + tmux + + + ProcessName + mpw-shell + + + rowCount + 50 + type + Window Settings + + diff --git a/etc/Startup b/etc/Startup new file mode 100644 index 0000000..621883f --- /dev/null +++ b/etc/Startup @@ -0,0 +1,51 @@ +# MPW Shell start up script. +# only built-in commands are executed. +# +# {MPW} is pre-defined. + +if {MPWVersion}=="" + set -e MPWVersion 3.5 +end + +set -e ShellDirectory "{MPW}{MPWVersion}:" +set -e Commands "{ShellDirectory}Tools:,{MPW}Tools:,:" + +set -e SysTempFolder "/tmp/" +set -e TempFolder "/tmp/" + +# MPW IIgs +set -e AIIGSIncludes "{MPW}Interfaces:AIIGSIncludes:" +set -e RIIGSIncludes "{MPW}Interfaces:RIIGSIncludes:" +set -e CIIGSIncludes "{MPW}Interfaces:CIIGSIncludes:" +set -e CIIGSLibraries "{MPW}Libraries:CIIGSLibraries:" +set -e PIIGSIncludes "{MPW}Interfaces:PIIGSIncludes:" +set -e PIIGSLibraries "{MPW}Libraries:PIIGSLibraries:" + +# MPW Macintosh compilers +set -e SCIncludes "{ShellDirectory}:Interfaces:CIncludes:" +set -e CIncludes "{ShellDirectory}:Interfaces:CIncludes:" +set -e AIncludes "{ShellDirectory}Interfaces:AIncludes:" +set -e RIncludes "{ShellDirectory}Interfaces:RIncludes:" +set -e PInterfaces "{ShellDirectory}Interfaces:PInterfaces:" + +set -e Libraries "{ShellDirectory}Libraries:Libraries:" +set -e PLibraries "{ShellDirectory}Libraries:PLibraries:" +set -e CLibraries "{ShellDirectory}Libraries:CLibraries:" + +set -e PPCLibraries "{ShellDirectory}Libraries:PPCLibraries:" +set -e SharedLibraries "{ShellDirectory}Libraries:SharedLibraries:" +set -e CFM68KLibraries "{ShellDirectory}Libraries:CFM68KLibraries:" + +#MetroWerks +set -e MW68KLibraries "{MPW}Libraries:MW68KLibraries:" +set -e MWPPCLibraries "{MPW}Libraries:MWPPCLibraries:" + +set -e CWCIncludes "{MPW}Interfaces:CWCIncludes:" +set -e CWANSIIncludes "{MPW}Interfaces:CWANSIIncludes:" +set -e MWCIncludes "{CIncludes}" + + +#Newton Tools +set -e ARMCIncludes "{MPW}Interfaces:ARMCIncludes:" + +set -e AsmMatOpts "-t 4"