[Mesa-dev] [RFC mesa] Introduce .editorconfig

Nicolai Hähnle nhaehnle at gmail.com
Mon Jul 18 08:10:51 UTC 2016


On 18.07.2016 01:46, Eric Engestrom wrote:
> A few weeks ago, Jose Fonseca suggested [0] we use .editorconfig files
> to try and enforce the formatting of the code, to which Michel Dänzer
> suggested [1] we start by importing the existing .dir-locals.el
> settings.
>
> This is a first draft, with settings from the mentioned emacs files,
> augmented with what I could see was the current practice in various
> submodules.
> Note that it might not reflects the desired formatting. Please say so if
> this is the case. I expect several of these .editorconfig files are in
> this situation, so don't hesitate to just tell me "the current formatting
> for X is wrong, we want to eventually match the project-wide formatting,
> so don't create this .editorconfig".
>
> These .editorconfig are a first step, one that has the advantage of
> requiring little to no intervention from the devs once the settings
> files are in place, but the settings are very limited. This does have
> the advantage of applying while the code is being written.
> This doesn't replace the need for more comprehensive formatting tools
> such as clang-format & clang-tidy, but those reformat the code after
> the fact.

Makes sense to me, and

Acked-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

for the Radeon parts. (I don't think too many people care about 
src/mesa/drivers/dri/radeon anymore, so you might as well drop that one...)

Cheers,
Nicolai

>
> [0] https://lists.freedesktop.org/archives/mesa-dev/2016-June/121545.html
> [1] https://lists.freedesktop.org/archives/mesa-dev/2016-June/121639.html
>
> ---
>   .editorconfig                                    | 44 ++++++++++++++++++++++++
>   bin/.editorconfig                                |  3 ++
>   include/CL/.editorconfig                         |  3 ++
>   include/D3D9/.editorconfig                       |  2 ++
>   include/c11/.editorconfig                        |  3 ++
>   include/d3dadapter/.editorconfig                 |  3 ++
>   include/vulkan/.editorconfig                     |  3 ++
>   src/egl/drivers/haiku/.editorconfig              |  2 ++
>   src/egl/wayland/.editorconfig                    |  2 ++
>   src/gallium/drivers/freedreno/.editorconfig      |  2 ++
>   src/gallium/drivers/noop/.editorconfig           |  2 ++
>   src/gallium/drivers/r300/.editorconfig           |  3 ++
>   src/gallium/drivers/r600/.editorconfig           |  2 ++
>   src/gallium/drivers/radeon/.editorconfig         |  2 ++
>   src/gallium/drivers/radeonsi/.editorconfig       |  2 ++
>   src/gallium/drivers/vc4/.editorconfig            |  3 ++
>   src/gallium/drivers/vc4/kernel/.editorconfig     |  2 ++
>   src/gallium/state_trackers/hgl/.editorconfig     |  2 ++
>   src/gallium/state_trackers/nine/.editorconfig    |  3 ++
>   src/gallium/state_trackers/xa/.editorconfig      |  3 ++
>   src/gallium/targets/d3dadapter9/.editorconfig    |  3 ++
>   src/gallium/targets/haiku-softpipe/.editorconfig |  2 ++
>   src/gallium/winsys/freedreno/drm/.editorconfig   |  2 ++
>   src/gallium/winsys/nouveau/drm/.editorconfig     |  2 ++
>   src/gallium/winsys/radeon/drm/.editorconfig      |  3 ++
>   src/gallium/winsys/sw/hgl/.editorconfig          |  2 ++
>   src/getopt/.editorconfig                         |  2 ++
>   src/gtest/.editorconfig                          |  3 ++
>   src/hgl/.editorconfig                            |  2 ++
>   src/mesa/drivers/dri/nouveau/.editorconfig       |  2 ++
>   src/mesa/drivers/dri/radeon/.editorconfig        |  2 ++
>   31 files changed, 116 insertions(+)
>   create mode 100644 .editorconfig
>   create mode 100644 bin/.editorconfig
>   create mode 100644 include/CL/.editorconfig
>   create mode 100644 include/D3D9/.editorconfig
>   create mode 100644 include/c11/.editorconfig
>   create mode 100644 include/d3dadapter/.editorconfig
>   create mode 100644 include/vulkan/.editorconfig
>   create mode 100644 src/egl/drivers/haiku/.editorconfig
>   create mode 100644 src/egl/wayland/.editorconfig
>   create mode 100644 src/gallium/drivers/freedreno/.editorconfig
>   create mode 100644 src/gallium/drivers/noop/.editorconfig
>   create mode 100644 src/gallium/drivers/r300/.editorconfig
>   create mode 100644 src/gallium/drivers/r600/.editorconfig
>   create mode 100644 src/gallium/drivers/radeon/.editorconfig
>   create mode 100644 src/gallium/drivers/radeonsi/.editorconfig
>   create mode 100644 src/gallium/drivers/vc4/.editorconfig
>   create mode 100644 src/gallium/drivers/vc4/kernel/.editorconfig
>   create mode 100644 src/gallium/state_trackers/hgl/.editorconfig
>   create mode 100644 src/gallium/state_trackers/nine/.editorconfig
>   create mode 100644 src/gallium/state_trackers/xa/.editorconfig
>   create mode 100644 src/gallium/targets/d3dadapter9/.editorconfig
>   create mode 100644 src/gallium/targets/haiku-softpipe/.editorconfig
>   create mode 100644 src/gallium/winsys/freedreno/drm/.editorconfig
>   create mode 100644 src/gallium/winsys/nouveau/drm/.editorconfig
>   create mode 100644 src/gallium/winsys/radeon/drm/.editorconfig
>   create mode 100644 src/gallium/winsys/sw/hgl/.editorconfig
>   create mode 100644 src/getopt/.editorconfig
>   create mode 100644 src/gtest/.editorconfig
>   create mode 100644 src/hgl/.editorconfig
>   create mode 100644 src/mesa/drivers/dri/nouveau/.editorconfig
>   create mode 100644 src/mesa/drivers/dri/radeon/.editorconfig
>
> diff --git a/.editorconfig b/.editorconfig
> new file mode 100644
> index 0000000..eeb0875
> --- /dev/null
> +++ b/.editorconfig
> @@ -0,0 +1,40 @@
> +# To use this config on you editor, follow the instructions on:
> +# http://editorconfig.org
> +
> +root = true
> +
> +[*]
> +charset = utf-8
> +end_of_line = lf
> +insert_final_newline = true
> +trim_trailing_whitespace = true
> +max_line_length = 80
> +
> +[*.{c,h,cpp,hpp}]
> +indent_style = space
> +indent_size = 3
> +
> +[{Makefile*,*.mk}]
> +indent_style = tab
> +
> +[*.py,SCons*]
> +indent_style = space
> +indent_size = 4
> +
> +[*.pl]
> +indent_style = space
> +indent_size = 4
> +
> +[*.m4]
> +indent_style = space
> +indent_size = 2
> +
> +[*.yml]
> +indent_style = space
> +indent_size = 2
> +
> +[*.patch]
> +trim_trailing_whitespace = false
> +
> +[*.{dsp,dsw,sln,vcproj}]
> +end_of_line = crlf
> diff --git a/bin/.editorconfig b/bin/.editorconfig
> new file mode 100644
> index 0000000..b9a948f
> --- /dev/null
> +++ b/bin/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.sh]
> +indent_style = space
> +indent_size = 2
> diff --git a/include/CL/.editorconfig b/include/CL/.editorconfig
> new file mode 100644
> index 0000000..da2afc4
> --- /dev/null
> +++ b/include/CL/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.{h,hpp}]
> +indent_style = space
> +indent_size = 4
> diff --git a/include/D3D9/.editorconfig b/include/D3D9/.editorconfig
> new file mode 100644
> index 0000000..0dcc752
> --- /dev/null
> +++ b/include/D3D9/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.h]
> +indent_style = tab
> diff --git a/include/c11/.editorconfig b/include/c11/.editorconfig
> new file mode 100644
> index 0000000..bdbea00
> --- /dev/null
> +++ b/include/c11/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.h]
> +indent_style = space
> +indent_size = 4
> diff --git a/include/d3dadapter/.editorconfig b/include/d3dadapter/.editorconfig
> new file mode 100644
> index 0000000..bdbea00
> --- /dev/null
> +++ b/include/d3dadapter/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.h]
> +indent_style = space
> +indent_size = 4
> diff --git a/include/vulkan/.editorconfig b/include/vulkan/.editorconfig
> new file mode 100644
> index 0000000..bdbea00
> --- /dev/null
> +++ b/include/vulkan/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.h]
> +indent_style = space
> +indent_size = 4
> diff --git a/src/egl/drivers/haiku/.editorconfig b/src/egl/drivers/haiku/.editorconfig
> new file mode 100644
> index 0000000..5ae8c6f
> --- /dev/null
> +++ b/src/egl/drivers/haiku/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.cpp]
> +indent_style = tab
> diff --git a/src/egl/wayland/.editorconfig b/src/egl/wayland/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/egl/wayland/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/drivers/freedreno/.editorconfig b/src/gallium/drivers/freedreno/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/drivers/freedreno/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/drivers/noop/.editorconfig b/src/gallium/drivers/noop/.editorconfig
> new file mode 100644
> index 0000000..a01ed77
> --- /dev/null
> +++ b/src/gallium/drivers/noop/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.c]
> +indent_style = tab
> diff --git a/src/gallium/drivers/r300/.editorconfig b/src/gallium/drivers/r300/.editorconfig
> new file mode 100644
> index 0000000..01e39c8
> --- /dev/null
> +++ b/src/gallium/drivers/r300/.editorconfig
> @@ -0,0 +1,3 @@
> +[*{c,h}]
> +indent_style = space
> +indent_size = 4
> diff --git a/src/gallium/drivers/r600/.editorconfig b/src/gallium/drivers/r600/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/drivers/r600/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/drivers/radeon/.editorconfig b/src/gallium/drivers/radeon/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/drivers/radeon/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/drivers/radeonsi/.editorconfig b/src/gallium/drivers/radeonsi/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/drivers/radeonsi/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/drivers/vc4/.editorconfig b/src/gallium/drivers/vc4/.editorconfig
> new file mode 100644
> index 0000000..f3d8c47
> --- /dev/null
> +++ b/src/gallium/drivers/vc4/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.{c,h}]
> +indent_style = space
> +indent_size = 8
> diff --git a/src/gallium/drivers/vc4/kernel/.editorconfig b/src/gallium/drivers/vc4/kernel/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/drivers/vc4/kernel/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/state_trackers/hgl/.editorconfig b/src/gallium/state_trackers/hgl/.editorconfig
> new file mode 100644
> index 0000000..f391def
> --- /dev/null
> +++ b/src/gallium/state_trackers/hgl/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h,cpp,hpp}]
> +indent_style = tab
> diff --git a/src/gallium/state_trackers/nine/.editorconfig b/src/gallium/state_trackers/nine/.editorconfig
> new file mode 100644
> index 0000000..7b12a40
> --- /dev/null
> +++ b/src/gallium/state_trackers/nine/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.{c,h}]
> +indent_style = space
> +indent_size = 4
> diff --git a/src/gallium/state_trackers/xa/.editorconfig b/src/gallium/state_trackers/xa/.editorconfig
> new file mode 100644
> index 0000000..7b12a40
> --- /dev/null
> +++ b/src/gallium/state_trackers/xa/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.{c,h}]
> +indent_style = space
> +indent_size = 4
> diff --git a/src/gallium/targets/d3dadapter9/.editorconfig b/src/gallium/targets/d3dadapter9/.editorconfig
> new file mode 100644
> index 0000000..7b12a40
> --- /dev/null
> +++ b/src/gallium/targets/d3dadapter9/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.{c,h}]
> +indent_style = space
> +indent_size = 4
> diff --git a/src/gallium/targets/haiku-softpipe/.editorconfig b/src/gallium/targets/haiku-softpipe/.editorconfig
> new file mode 100644
> index 0000000..f391def
> --- /dev/null
> +++ b/src/gallium/targets/haiku-softpipe/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h,cpp,hpp}]
> +indent_style = tab
> diff --git a/src/gallium/winsys/freedreno/drm/.editorconfig b/src/gallium/winsys/freedreno/drm/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/winsys/freedreno/drm/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/winsys/nouveau/drm/.editorconfig b/src/gallium/winsys/nouveau/drm/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/winsys/nouveau/drm/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gallium/winsys/radeon/drm/.editorconfig b/src/gallium/winsys/radeon/drm/.editorconfig
> new file mode 100644
> index 0000000..7b12a40
> --- /dev/null
> +++ b/src/gallium/winsys/radeon/drm/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.{c,h}]
> +indent_style = space
> +indent_size = 4
> diff --git a/src/gallium/winsys/sw/hgl/.editorconfig b/src/gallium/winsys/sw/hgl/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/gallium/winsys/sw/hgl/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/getopt/.editorconfig b/src/getopt/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/getopt/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/gtest/.editorconfig b/src/gtest/.editorconfig
> new file mode 100644
> index 0000000..0880bac
> --- /dev/null
> +++ b/src/gtest/.editorconfig
> @@ -0,0 +1,3 @@
> +[*.{cc,h}]
> +indent_style = space
> +indent_size = 2
> diff --git a/src/hgl/.editorconfig b/src/hgl/.editorconfig
> new file mode 100644
> index 0000000..0a01d20
> --- /dev/null
> +++ b/src/hgl/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{cpp,h}]
> +indent_style = tab
> diff --git a/src/mesa/drivers/dri/nouveau/.editorconfig b/src/mesa/drivers/dri/nouveau/.editorconfig
> new file mode 100644
> index 0000000..cc8e11f
> --- /dev/null
> +++ b/src/mesa/drivers/dri/nouveau/.editorconfig
> @@ -0,0 +1,2 @@
> +[*.{c,h}]
> +indent_style = tab
> diff --git a/src/mesa/drivers/dri/radeon/.editorconfig b/src/mesa/drivers/dri/radeon/.editorconfig
> new file mode 100644
> index 0000000..a851cbe
> --- /dev/null
> +++ b/src/mesa/drivers/dri/radeon/.editorconfig
> @@ -0,0 +1,3 @@
> +# Coin toss?  Leaving this one empty (ie. global rules) for now because
> +# there are files with 3-spaces, 4-spaces and tab indentations.
> +# Tell me what you'd prefer if not the 3-space style of the rest of Mesa.
>


More information about the mesa-dev mailing list