Beginning with BBEdit 11.1, support for EditorConfig is built in to BBEdit. This document does not attempt to educate about EditorConfig basics; those are thoroughly covered on the EditorConfig web site. However, there are some variances from the core in BBEdit's support, and those are documented here.
EditorConfig settings, if present, will always override any application settings (including language-specific settings) or document state. This is as it should be, since the goal of EditorConfig is to help ensure consistency of document settings within a project.
BBEdit supports most of the core EditorConfig properties listed here. The
end_of_line property is not supported; nor is
In addition to the core EditorConfig properties, there are some BBEdit-specific additions. First, BBEdit supports the following keys originating in Emacs:
coding: similar to
charset, but allows you to specify
any IANA character set name.
mode: allows you to explicitly specify the language. Many
of the Emacs-style mode names work, as long as they
correspond to supported languages in BBEdit. In addition, any
installed language in BBEdit may be expressed as a mode name
by lowercasing its name and replacing spaces with dashes. For
example, "Ruby in HTML" becomes
ruby-in-html; or "Strings
make-backup-files: set to
0, determines whether
BBEdit makes a backup of the file when saving.
backup-inhibited: if present and set to
explicitly suppress the creation of backup files when saving.
Finally, there are some keys which are explicitly BBEdit-specific. All
of these keys have names that begin with
x- in order to prevent
collisions with any future core keys. These correspond directly to
individual document settings. As noted above, any of these keys will
override the global preferences or document state.
x-typographers-quotes: Use Typographer's Quotes
x-balance-while-typing: Balance While Typing
x-soft-wrap-text: Soft Wrap Text
x-soft-wrap-mode: (string) Must be one of
x-soft-wrap-limit: (integer) if the wrap mode is
CharacterWidth, specifies the number of characters
x-font-name: (string) the display font name
x-font-size: (integer) the display font point size
x-show-invisibles: Show Invisibles
x-show-spaces: Show Spaces
Unless otherwise noted, these application-specific keys are all Boolean flags.