Next: Object Method Completion and Class Ambiguity, Previous: Completion, Up: Completion

#### 4.4.1 Case of Completed Words

IDL is a case-insensitive language, so casing is a matter of style only. IDLWAVE helps maintain a consistent casing style for completed items. The case of the completed words is determined by what is already in the buffer. As an exception, when the partial word being completed is all lower case, the completion will be lower case as well. If at least one character is upper case, the string will be completed in upper case or mixed case, depending on the value of the variable `idlwave-completion-case`. The default is to use upper case for procedures, functions and keywords, and mixed case for object class names and methods, similar to the conventions in the IDL manuals. For instance, to enable mixed-case completion for routines in addition to classes and methods, you need an entry such as `(routine . preserve)` in that variable. To enable total control over the case of completed items, independent of buffer context, set `idlwave-completion-force-default-case` to non-`nil`.

— User Option: idlwave-completion-case

> Association list setting the case (UPPER/lower/Capitalized/MixedCase...) of completed words.

— User Option: idlwave-completion-force-default-case (`nil`)

> Non-`nil` means completion will always honor the settings in `idlwave-completion-case`. When nil (the default), entirely lower case strings will always be completed to lower case, no matter what the settings in `idlwave-completion-case`.

— User Option: idlwave-complete-empty-string-as-lower-case (`nil`)

> Non-`nil` means the empty string is considered lower case for completion.