mirror of
https://github.com/gnustep/libs-steptalk.git
synced 2025-02-23 19:40:55 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/steptalk/trunk@21701 72102866-910b-0410-8b05-ffd578937521
45 lines
990 B
Smalltalk
45 lines
990 B
Smalltalk
"
|
|
Script shell - shell written in script.
|
|
|
|
This is just an example.
|
|
|
|
Run it by: stexec shell.st
|
|
|
|
Author: Stefan Urbanek
|
|
Date: 2003 Oct 3
|
|
|
|
"
|
|
|
|
[| :done
|
|
|
|
main
|
|
| line env engine result |
|
|
|
|
Environment includeFramework:'StepTalk'.
|
|
Environment loadModule:'ReadlineTranscript'.
|
|
|
|
" Create environment "
|
|
env := STEnvironment defaultScriptingEnvironment.
|
|
env setObject:env forName:'Environment'.
|
|
env setObject:Transcript forName:'Transcript'.
|
|
env setObject:self forName:'Shell'.
|
|
|
|
" Create and setup engine "
|
|
engine := STEngine engineForLanguage:'Smalltalk'.
|
|
|
|
" Do the loop! "
|
|
|
|
[ done ] whileFalse: [
|
|
line := Transcript readLine:'Shell > '.
|
|
(line = 'exit') ifTrue: [ done := YES ].
|
|
result := engine executeCode: (line, ' ') inEnvironment:env.
|
|
Transcript showLine: result.
|
|
].
|
|
^self
|
|
!
|
|
|
|
exit
|
|
Transcript showLine: 'BLAH'.
|
|
done := YES.
|
|
^self
|
|
]
|