<<>> <> <> <> <> <> DIRECTORY Rope USING [ROPE], Tioga USING [CapChange, Location, Look, Looks, Node], TEditDocument USING [Selection, SelectionGrain, SelectionId], TEditLocks USING [Access]; TEditInputOps: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; Selection: TYPE ~ TEditDocument.Selection; SelectionGrain: TYPE ~ TEditDocument.SelectionGrain; SelectionId: TYPE ~ TEditDocument.SelectionId; CallWithLocks: PROC [ proc: PROC [root: Tioga.Node, tSel: Selection], access: TEditLocks.Access ¬ write]; CallWithBothLocked: PROC [ proc: PROC [sourceRoot, destRoot: Tioga.Node, tSel, srcSel, targetSel: Selection], targetSel, srcSel: Selection, sourceAccess: TEditLocks.Access]; InsertChar: PROC [char: CHAR]; <> InsertRope: PROC [rope: ROPE]; <> InsertLineBreak: PROC; <> BufferedInsertChar: PROC [char: CHAR]; <> <> BufferedInsertText: PROC [text: ROPE]; <> <> WaitForInsertToFinish: PROC; <> BackSpace: PROC [count: INT ¬ 1]; <> BackWord: PROC [count: INT ¬ 1]; <> DeleteNextChar: PROC [count: INT ¬ 1]; <> DeleteNextWord: PROC [count: INT ¬ 1]; <> GoToNextChar: PROC [count: INT ¬ 1]; GoToPreviousChar: PROC [count: INT ¬ 1]; GoToNextWord: PROC [count: INT ¬ 1]; GoToPreviousWord: PROC [count: INT ¬ 1]; GoToNextNode: PROC [count: INT ¬ 1]; GoToPreviousNode: PROC [count: INT ¬ 1]; <> FindPrevWord: PROC [node: Tioga.Node, offset: INT] RETURNS [nChars: CARDINAL]; FindNextWord: PROC [node: Tioga.Node, start: INT] RETURNS [nChars: CARDINAL]; MakeControlCharacter: PROC; UnMakeControlCharacter: PROC; MakeOctalCharacter: PROC; UnMakeOctalCharacter: PROC; DoPendingDelete: PROC; Delete: PROC [saveForPaste: BOOL ¬ TRUE]; <> Paste: PROC; <> SaveForPaste: PROC; <> SaveSpanForPaste: PROC [ startLoc, endLoc: Tioga.Location, grain: SelectionGrain]; <> <<>> Break: PROC; <> Join: PROC; <> <> Nest: PROC; <> UnNest: PROC; <> Move: PROC [target: SelectionId ¬ primary]; <> CheckReadonly: PROC [targetSel: Selection] RETURNS [BOOL]; Copy: PROC [target: SelectionId ¬ primary]; <> CopyLooks: PROC [target: SelectionId ¬ primary]; <> CopyFormat: PROC [target: SelectionId ¬ primary]; <> Transpose: PROC [target: SelectionId ¬ primary]; <> TransposeLooks: PROC [target: SelectionId ¬ primary]; <> TransposeFormat: PROC [target: SelectionId ¬ primary]; <> InsertBrackets: PROC [left, right: CHAR]; <> SelectMatchingBrackets: PROC [left, right: CHAR]; <> DoSelectMatchingBrackets: PROC [left, right: CHAR] RETURNS [found: BOOL]; <> NextViewer: PROC [forward: BOOL]; <> DoNextViewer: PROC [forward: BOOL] RETURNS [found: BOOL]; FindPlaceholders: PROC [next: BOOL]; DoFindPlaceholders: PROC [next, gotoend: BOOL, startBoundaryNode, endBoundaryNode: Tioga.Node ¬ NIL, startBoundaryOffset: INT ¬ 0, endBoundaryOffset: INT ¬ LAST[INT] ] RETURNS [found, wenttoend: BOOL]; InsertTime: PROC; <> Capitalise: PROC [flavor: Tioga.CapChange]; <> ModifyOp: TYPE = {add, remove}; ModifyLook: PROC [look: Tioga.Look, op: ModifyOp]; <> ModifyCaretLook: PROC [look: Tioga.Look, op: ModifyOp]; <> ChangeLooks: PROC [add, remove: Tioga.Looks]; <> ChangeCaretLooks: PROC [add, remove: Tioga.Looks]; <> SetStyle: PROC; <> SetStyleName: PROC [name: ROPE, node: Tioga.Node ¬ NIL]; <> <> ReloadStyle: PROC; <> ReloadStyleName: PROC [name: ROPE]; <> SetFormat: PROC; <> GetFormat: PROC; <> SetFormatName: PROC [name: ROPE, node: Tioga.Node ¬ NIL]; <> <> SetCommentProp: PROC [flag: BOOL]; RegisterAbbrevFailedProc: PROC [proc: PROC RETURNS [BOOL]]; <> <> <> ExpandAbbreviation: PROC; <> LoadAbbreviations: PROC [dictName: ROPE]; <> <> EditFailed: PROC [msg: ROPE ¬ NIL]; END.