The language's brackets. This configuration implicitly affects pressing Enter around these brackets.
The language's comment settings.
The language's indentation settings.
The language's rules to be evaluated when pressing Enter.
The language's word definition. If the language supports Unicode identifiers (e.g. JavaScript), it is preferable to provide a word definition that uses exclusion of known separators. e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number): /(-?\d.\d\w)|([^`~!@#%^&*()-=+[{]}\|;:'",.<>/?\s]+)/g
The language configuration interfaces defines the contract between extensions and various editor features, like automatic bracket insertion, automatic indentation etc.