* LANGUAGE SUPPORT FOR PASCAL
Language support for Pascal contains 3 main utilities to make coding in Pascal
faster and easier:

	@PATE[Template Editing]

	@PASI[Smart Indenting]

	@PACM[Construct Matching]

In order to utilize these language support utilities, you must configure the
@ME.HLP^FE[filename extension(s)] you use for Pascal for the language type ^BPASCAL^b.
PATE TEMPLATE EDITING FOR PASCAL
DEFAULT KEY: <AltT> or <AltF9>

Template editing is designed to reduce the about of redundant typing by
expanding a single character into one or more words, on one or more lines,
which normally constitute a language construct.  A typical situation is
where an "IF <condition> THEN" construct, common to most high level languages,
is desired.  Typing in the leading "I" character, then pressing the template
key will then complete the construct, placing the cursor in the proper spot
to define the conditional part of the construct.

Since pascal keywords are not case sensitive, the case of the templates will
be determined by the case of the character typed in.  NOTE:  Since 'FOR' and
'FUNCTION' both start with 'F' a prompt will appear for the one to use, unless
the second character is typed in.

	B   Builds a matching 'BEGIN/END' construct.
	I   Builds an 'IF () THEN' construct.
	W   Builds a 'WHILE () DO' construct.
	F   Prompts for 'FOR-NEXT' or 'FUNCTION'.
	FU  Builds a 'FUNCTION  () : ;' construct with matching 'BEGIN/END'.
	FO  Builds a 'FOR  :=  TO  DO' construct.
	P   Builds a 'PROCEDURE  ();' construct with matching 'BEGIN/END'.
	C   Builds a 'CASE  OF' construct with matching 'END'.
	R   Builds a 'REPEAT UNTIL ();' construct.

	Examples:
		Original line:
			I
		After template:
			IF () THEN

		Original line:
			r
		After template:
			repeat

			until ();
PASI SMART INDENTING FOR PASCAL
Invoked by pressing <ENTER>

Most high level languages are more readable if compound constructs and
iterative loops are progressively indented.  In order to automate this
process, Multi-Edit provides smart indenting.  When <ENTER> is pressed, the
current line is examined(sometimes lines above and below are also examined).
Based upon certain conditions, a decision is made whether to indent, undent,
or remain the same.

For Pascal, the following keywords are checked for on the current line:

	BEGIN
	IF
	WHILE
	FOR
	FUNCTION
	PROCEDURE
	REPEAT

If any of the above are found as the first word on the line, Multi-Edit will
indent the new line one tab stop beyond the indent of the previous line.

If the keyword:

	 END;

is found, Multi-Edit will undent one tab stop.
PACM CONSTRUCT MATCHING FOR PASCAL
MENU, Support, Match  or  <AltF6>  or  <AltM>

Construct matching is useful for finding the beginning or ending of a large
compound construct, and also to check to see if there is a missing opening or
closing to the construct.

In Pascal, placing the cursor on the following pairs of keywords and invoking
match will cause the matching keyword to be searched for:
	BEGIN	END

	CASE	END

	(	)

If successful, the message line will read "Match Found", and the cursor will
move to the matching keyword.  If unsuccessful "Match NOT Found" will appear
on the message line, and the cursor will not move.