-- RegisterInterDocCommands.mesa -- written by Bill Paxton, 5-Oct-81 -- last edit by Bill Paxton, 5-Oct-81 9:54:03 DIRECTORY InterFile, PutGet, CVExecutive, Rope, WindowManager, TypeScript; RegisterInterDocCommands: PROGRAM IMPORTS InterFile, PutGet, CVExecutive, Rope, WindowManager, TypeScript = BEGIN WriteInterDoc: PROC [ts: TypeScript.Typescript, param: Rope.Ref] = { ok: BOOLEAN; destname, sourcename: Rope.Ref; [ok, destname, sourcename] _ GetArgs[ts, param]; IF ~ok THEN RETURN; WindowManager.WaitCursor[]; [] _ InterFile.ToFile[destname, PutGet.FromFile[sourcename]]; WindowManager.UnWaitCursor[]; TypeScript.ClientPutRope[ts, "Done."] }; ReadInterDoc: PROC [ts: TypeScript.Typescript, param: Rope.Ref] = { ok: BOOLEAN; destname, sourcename: Rope.Ref; [ok, destname, sourcename] _ GetArgs[ts, param]; IF ~ok THEN RETURN; WindowManager.WaitCursor[]; [] _ PutGet.ToFile[destname, InterFile.FromFile[sourcename]]; WindowManager.UnWaitCursor[]; TypeScript.ClientPutRope[ts, "Done."] }; GetArgs: PROC [ts: TypeScript.Typescript, param: Rope.Ref] RETURNS [ok: BOOLEAN, destname, sourcename: Rope.Ref] = { arrow: Rope.Ref; offset: LONG INTEGER; [destname, offset] _ CVExecutive.GetToken[param]; [arrow, offset] _ CVExecutive.GetToken[param, offset]; [sourcename, offset] _ CVExecutive.GetToken[param, offset]; IF ~Rope.Equal[arrow, "_"] OR Rope.Size[sourcename]=0 OR Rope.Size[destname]=0 THEN { TypeScript.ClientPutRope[ts, "Error. Command line must be of the form _ "]; ok _ FALSE } ELSE ok _ TRUE }; CVExecutive.AddCommand["WriteInterDoc", WriteInterDoc, "Reads Tioga format and writes InterDoc format. Command line of form _ "]; CVExecutive.AddCommand["ReadInterDoc", ReadInterDoc, "Reads InterDoc format and writes Tioga format. Command line of form _ "]; END.