-- VersionMapOps.mesa
-- Russ Atkinson, January 20, 1983 10:54 am

DIRECTORY
Rope USING [ROPE],
TimeStamp USING [Stamp],
UserExec USING [CommandProc],
VersionMap USING [Map, MapList];

VersionMapOps: CEDAR DEFINITIONS
= BEGIN OPEN Rope;

SourceFileList: TYPE = LIST OF SourceFileEntry;
SourceFileEntry: TYPE = RECORD
[map: VersionMap.Map, name: ROPE, stamp: TimeStamp.Stamp];

FindSource: PROC
[short: ROPE, mapList: VersionMap.MapList ← NIL, firstOnly: BOOLFALSE]
RETURNS [mnl: SourceFileList ← NIL];
-- finds all long names corresponding to the given short name
-- returns a list of version maps and names (NIL if no long names found)
-- mapList = NIL => use the list BBV uses (the obvious default)

OpenCommand: UserExec.CommandProc;
-- registered as 'openr' with the User Exec by VersionMapOpsImpl
-- Opens viewers on Cedar release source files given the short names (.mesa extension is the default). If a short name has multiple long names associated with it, the alternatives are listed, and no viewer is opened for that name. No spelling correction is performed.

FindCommand: UserExec.CommandProc;
-- registered as 'findr' with the User Exec by VersionMapOpsImpl
-- Finds Cedar release source file names given the short names (.mesa extension is the default). No spelling correction is performed.

END.