arduino / arduino-language-server

An Arduino Language Server based on Clangd to Arduino code autocompletion
GNU Affero General Public License v3.0
133 stars 11 forks source link

Sync sketch formatter configuration from source #133

Closed per1234 closed 2 years ago

per1234 commented 2 years ago

Arduino Language Server's embedded ClangFormat configuration is designed to produce the standard Arduino sketch formatting style, as established by the Arduino IDE 1.x formatter.

The configuration is consumed by several other projects. In order to provide all the consumers with a single canonical source and to locate the infrastructure and activity related to the maintenance of the file in a more appropriate repository, it is now hosted in a permanent location in the arduino/tooling-project-assets repository:

https://github.com/arduino/tooling-project-assets/tree/main/other/clang-format-configuration

The following changes have been made to the source configuration:

This last item did result in some functional changes to the configuration which will result in minor differences in the formatter output.

These are actually reversions of unwanted differences from the Arduino IDE 1.x formatter output, which were unavoidable when using the 11.0.1 version of ClangFormat in use at the time of the configuration's creation. The default output of the Arduino IDE 1.x formatter will continue to be considered the "gold standard" until Arduino IDE 2.x graduates from "pre-release" status, at which time its output (which is produced via the same configuration) will become the new standard.

The Arduino Language Server supports overriding the embedded default configuration with user provided configuration files. Those already using custom configurations will not be affected in any way (though they are encouraged to sync their configuration files from the source to bring them into compliance with the configuration API of the clangd version 14.0.0 Arduino Language Server is intended to be used with).

See the documentation and commit history of the source file for details on the configuration changes:

https://github.com/arduino/tooling-project-assets/tree/main/other/clang-format-configuration


Related: https://github.com/arduino/arduino-ide/pull/1285