<type>documentation</type>
<domain>custom</domain>
<id>preferences-file-format</id>
<title>Preferences File Format</title>
<date>$Date$</date>
<version>$Revision$</version>
<product>pro+</product>

While we recommend using the `preferences dialog <script:show_preferences_gui>`__
to alter preferences, some users may wish to edit the underlying text files
manually.

The preferences file format consists of a series of sections separated by
bracketed headers such as ``[user-preferences]``.  These headers are used
internally to identify the file from which a value was read, when there are
multiple preferences files active.

The body of each section is a sequence of lines, each of which is a
``name=value`` pair.  All of these are read in from each preferences
file, with later like-named settings overwriting earlier ones.

Each preference name is in *domain.preference* form, where *domain* is the IDE
subsystem affected and *preference* is the name of the specific preference
(for example, ``edit.tab-size`` defines the source editor's tab size).

Preference values can be any Python expression that will evaluate to a
number, string, tuple, list, or dictionary.  The data type is defined
by each preference and will be verified as the file is read into Wing.
Long lines may be continued by placing a backslash
(``\\``) at the end of a line and comments may be placed anywhere on a
line by starting them with ``#``.

If you wish to write preferences files by hand, refer to the `Preferences 
Reference`__ for documentation of all available preferences.

__ ref:preferences/index

