======Whitespace Suppression Directives====== Whitespace suppression Directives alter the behaviour of the [[PTPScript:Basic Syntax:Whitespace#Whitespace Suppression Symbols|whitespace suppression symbols]]. ^ Directive ^ Description ^ | **Linebreaks** || | ''NoLinebreakSuppression'' | Linebreaks will not be suppressed when the symbols are used | | ''LinebreakSuppression'' | Single linebreaks will be suppressed when the symbols are used (default) | | ''GreedyLinebreakSuppression'' | Multiple linebreaks will be suppressed when the symbols are used | | **Other whitespace** || | ''NoWhitespaceSuppression'' | Whitespace sequences will not be suppressed when the symbols are used (default) | | ''WhitespaceSuppression'' | Single whitespace sequences will be suppressed when the symbols are used | | ''GreedyWhitespaceSuppression'' | Multiple whitespace sequences will be suppressed when the symbols are used | For the purpose of these Directives, linebreaks are defined as either a carriage return (ASCII code 13) followed by a linefeed (ASCII code 10), or a single linefeed, or a single carriage return. Whitespace is defined as being all characters with ASCII codes from 0 to 32 inclusive, excluding linebreak characters, plus the character with ASCII code 160 (non-breaking space). A linebreak is a single linebreak, consisting of either one or two characters, whereas an whitespace sequence is an unbroken chain of whitespace characters, up until a linebreak of non-whitespace character. When single suppression mode is active for either linebreaks or other whitespace, only one such sequence will be suppressed, if found. They are not mutually exclusive - if both single suppresion modes are active, one linebreak will be removed, and one whitespace sequence. When greedy mode is active, as many linebreaks or whitespace sequences as possible will be removed, depending on which of them are active. Directives are case-insensitive.