Zed allows a high degree of customization for many aspects of the operators it supports. Using the configuration customization framework, both end users and application developers can tailor operator editing behavior in a variety of ways. Six general categories of operator configuration information can be customized: menus, palettes, layout rules, template rules, traversal orders, and other properties. The configuration customization framework can be used to define custom menus and palettes for applications, to supply custom layout transformations for mathematical operators, to alter the default bindings for many of the keyboard accelerators used by the editor, or to supply editing behavior for anonymous function symbols.
The configuration information is associated with property values attached to the internal symbols representing MathML content elements and user-defined operators appearing in <apply> elements. Zed uses its generic expression data type for representing the configuration properties associated with each operator, both for convenience in the internal implementation and because it provides an easily implementable and uniform linear syntax for customizing the configuration properties. Dialog boxes allowing access to this internal expression encoding are provided, and are described in more detail below. Zed also supports storing the configuration expressions in a compressed form in an external configuration file, and provides methods for loading, saving, and creating such files, using methods in the Zed Custom API.








