GPS keeps a set of case exceptions that is used by all case insensitive languages. When editing or reformatting a buffer for such a language the case exception dictionary will be checked first. If an exception is found for this word or a substring of the word, it will be used; otherwise the specified casing for keywords or identifiers is used. A substring is defined as a part of the word separated by underscores.
Note that this feature is not activated for entities (keywords or
identifiers) for which the casing is set to Unchanged. See
see The Preferences Dialog.
A contextual menu named Casing has the following entries:
To add or remove a substring exception into/from the dictionary you need to first select the substring on the editor. In this case the last two contextual menu entries will be: