Syntax


MASK



Operands


None


Description

The MASK line command displays the =MASK> line. On this line, you can type characters that you want to have automatically inserted into a file. These characters, which are called the mask, are inserted whenever you use the I (insert) or TS (text split) line commands.


Notes:


    • The SPFLite N line command always inserts permanent blank lines that are completely blank, and it will not use the definition of the MASK line when it creates those blank lines.



    • IBM ISPF also inserts MASK lines when you first edit a new file. SPFLite does not implement that action, nor does it initially fill the screen with temporary blank lines of any kind for a new file. To get that effect, you must manually enter an I line command yourself. If you wanted to achieve the effect of completely filling an edit screen with temporary blank lines, you can issue a line command like I99 on the Top of Data line, or at the top-most line being displayed. SPFLite will fill-out the displayed screen with blank lines - as many as will fit - and any "extras" that don't fit are simply ignored.


The default initial value for the mask line is blank. Whenever you create a new PROFILE for a new file type, the mask value is always initially set to blank.


To define a non-blank mask:


    • Enter or update any characters you wish on the the =MASK> line when it is being displayed.


Note: You may include symbolic variables on the line, both SPFLite =xxx style variables, and normal Windows style variables %yyy%. The substitution process will attempt to keep the location of the substituted variable aligned with the left-hand position of the symbolic variable. i.e. it will try to maintain column positioning whenever possible.


Example:

Using SPFLite variables AAA = Hello and BBBB = Yes


Model =BBBB    TEXTA   =AAA     TEXTB


Would be substituted as follows, note the maintained column positions.


Model Yes      TEXTA   Hello    TEXTB


    • Press Enter. The mask is now defined.


Once a mask is defined, the contents of the =MASK> line are displayed whenever a new line is inserted. This occurs when you use the I (insert) and TS (text split) line commands. You can change the mask definition whenever you wish by repeating the preceding steps.


The mask line is not saved as part of the data nor as part of the STATE information, since it is associated with a file's type as part of the PROFILE, and is not stored with any individual data file. 


The mask remains in effect whether it is being displayed or not.


When you type MASK in the line command area, =MASK> is displayed in the sequence area, along with any previously defined mask line. 


To remove the =MASK> line, use the D (delete) line command or the RESET primary command, or end the edit session. When you delete the MASK with a D line command or with a RESET primary command, you are merely causing the display of the MASK line to go away; it does not remove the definition of the MASK line itself.


Technically, for any given file type, there is always a MASK definition present. The only question is whether it is blank or not.


The =MASK> line data is saved as part of the PROFILE data for the file type.  


The MASK line provides a model text line which will be used to fill in newly inserted lines in the edit session created by the I or TS line commands.


Using inserted lines with MASK data


The data you define on the MASK line acts like a "prototype" or "overlay" of what each new inserted line will look like. A common use for MASK lines is to insert comments on one side of a source program as new lines of code are written.


It is necessary that you type some original data on such inserted lines, in addition to what the MASK line specifies, even when the MASK line is non-blank.  If you don't, SPFLite will assume it's a temporary "blank" line that you don't want, and it will remove it. Any non-blank characters on a MASK line are not considered original data in and of itself.


Example


If you request display of the MASK line, and fill it in with the follows:


/*                                         */


then when new lines are inserted, those inserted lines would be initialized using the provided MASK prototype line, like this:


Created with the Personal Edition of HelpNDoc: Revolutionize Your Documentation Review with HelpNDoc's Project Analyzer