jEdit looks for edit modes in two locations; the modes subdirectory of the jEdit settings directory, and the modes subdirectory of the jEdit install directory. The location of the settings directory is system-specific; see the section called "The jEdit Settings Directory".
Each mode directory contains a catalog file. All edit modes contained in that directory must be listed in the catalog, otherwise they will not be available to jEdit.
Catalogs, like modes themselves, are written in XML. They consist of a single MODES tag, with a number of MODE tags inside. Each mode tag associates a mode name with an XML file, and specifies the file name and first line pattern for the mode. A sample mode catalog looks like follows:
<?xml version="1.0"?> <!DOCTYPE CATALOG SYSTEM "catalog.dtd"> <MODES> <MODE NAME="shellscript" FILE="shellscript.xml" FILE_NAME_GLOB="*.sh" FIRST_LINE_GLOB="#!/*sh*" /> </MODES> |
In the above example, a mode named "shellscript" is defined, and is used for files whose names end with .sh, or whose first line starts with "#!/" and contains "sh".
The MODE tag supports the following attributes:
NAME - the name of the edit mode, as it will appear in the Buffer Options dialog box, the status bar, and so on
FILE - the name of the XML file containing the mode definition
FILE_NAME_GLOB - files whose names match this glob pattern will be opened in this edit mode. See Appendix D for information about glob patterns
FIRST_LINE_GLOB - files whose first line matches this glob pattern will be opened in this edit mode. See Appendix D for information about glob patterns
If an edit mode is defined in the user-specific catalog with the same name as an edit mode in the global catalog, the version in the user-specific catalog will be used instead of the other version.