Script.mesa
Polle Zellweger (PTZ) October 30, 1986 6:43:58 pm PST
scriptUID => startEntry: EntryUID; db lookup
entryUID => entry: Entry; db lookup
Might be nice to be able to keep arbitrary (key, value) pairs in the database, so a person can view part of a script, then stop and resume in a later session. Supply
a) special Script.WriteValue, Script.ReadValue routines for this, or
b) parse actions looking for special names e.g. "?name", and fetch or store those as specified.
Could use a similar mechanism to record the history of a script session, for prevEntry impl.
Internal script stores LIST OF <scriptUID, entryUID> as char props; LIST OF <scriptName, scriptUID> on root. Store scriptUID in doc char props or in db scriptEntry??
External script does not modify document. Rely on location field in script entry; must look up applicable scripts from filename (& filedate).
scriptEntry
scriptUID: ??? here or in char props???
next: LIST OF <"cond", entryUID>
← "cond" can be evaluated by a Command Tool
entryUID: includes the original create time (or a close approximation thereto)
filename: global name only??
filedate
location: document position (Hint only for internal script)
action: LIST OF <"cond", "action">, where
← "cond" can be evaluated by a Command Tool, and
"action" can be evaluated by a Command Tool.
Might change these to use the Interpreter directly?
lastEdited: maybe
keywords: LIST OF keywords (more useful for annotations than script entries)
label: maybe - for user reference, rather than UID
comment: more explanation
extra: for expansion??