## Buffer-Local Properties

Buffer-local properties provide an alternate way to change editor settings on a per-buffer basis. While changes made in the Buffer Options dialog box are lost after the buffer is closed, buffer-local properties take effect each time the file is opened, because they are embedded in the file itself.

When jEdit loads a file, it checks the first and last 10 lines for colon-enclosed name/value pairs. For example, placing the following in a buffer changes the indent width to 4 characters, enables soft tabs, and activates the Perl edit mode:

    :indentSize=4:noTabs=true:mode=perl:

Adding buffer-local properties to a buffer takes effect after the next time the buffer is saved.

The following table describes each buffer-local property in detail.

Property name | Description
--- | ---
`collapseFolds` | Folds with a level of this or higher will be collapsed when the buffer is opened. If set to zero, all folds will be expanded initially. See the section called “Folding”.
`deepIndent` | When set to “true”, multiple-line expressions delimited by parentheses are aligned like so:
    retVal.x = (int)(horizontalOffset
        + Chunk.offsetToX(info.chunks,
                          offset));
With this setting disabled, the text would look like so:
    retVal.x = (int)(horizontalOffset
        + Chunk.offsetToX(info.chunks,
        offset));
`folding` | The fold mode; one of “none”, “indent”, “explicit”, or the name of a plugin folding mode. See the section called “Folding”.
`indentSize` | The width, in characters, of one indent. Must be an integer greater than 0. See the section called “Tabbing and Indentation”.
`maxLineLen` | The maximum line length and wrap column position. Inserting text beyond this column will automatically insert a line break at the appropriate position. See the section called “Inserting and Deleting Text”.
`mode` | The default edit mode for the buffer. See the section called “Edit Modes”.
`noTabs` | If set to “true”, soft tabs (multiple space characters) will be used instead of “real” tabs. See the section called “Tabbing and Indentation”.
`noWordSep` | A list of non-alphanumeric characters that are not to be treated as word separators. Global default is “_”.
`tabSize` | The tab width. Must be an integer greater than 0. See the section called “Tabbing and Indentation”.
`wordBreakChars` | Characters, in addition to spaces and tabs, at which lines may be split when word wrapping. See the section called “Inserting and Deleting Text”.
`wrap` | The word wrap mode; one of “none”, “soft”, or “hard”. See the section called “Wrapping Long Lines”.