diff mbox series

.editorconfig: add editor-agnostic configuration

Message ID 5f5d6e6dbfc89ca509f3d73154d7e31d1b6659b5.1698759638.git.yann.morin@orange.com
State Accepted
Headers show
Series .editorconfig: add editor-agnostic configuration | expand

Commit Message

Yann E. MORIN Oct. 31, 2023, 1:40 p.m. UTC
From: "Yann E. MORIN" <yann.morin@orange.com>

EditorConfig [0] is an editor-agnostic configuration file, to set
preferences on how to edit text: tabs vs. spaces, tab width, indentation
size, line endings...

A large number of editors support EditorConfig, either natively [1] or
with the help of plugins [2].

Add a basic .editorconfig that provides defaults for most of the files
used by Buildroot. More can be added in the future if we can find more
matching patterns.

The values are chosen a bit arbitrarily, unless we already have a
(un)written rule about it. Notably, indentation defaults to using 4
spaces, and only a set of files for which we require TABs (Makefile,
essentially) or have already settled for TABs (Kconfig files, init
scripts...) are configured so. The traditional width of TABs is 8 char,
and we pair TAB indentation with TAB size.

Trailing spaces are usually useless, except in asciidoc source where
they can be used to force a new line without a new paragraph.

One of the limitations of .editorconfig, tough, is that it matches on
filenames (e.g. *.py), not on the content (e.g. no use of mimetype, or
libmagic, or such). Still, this is enough to cover a lot of files in
Buildroot.

[0] https://editorconfig.org/
[1] https://editorconfig.org/#pre-installed
[2] https://editorconfig.org/#download

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
---
 .editorconfig | 29 +++++++++++++++++++++++++++++
 DEVELOPERS    |  1 +
 2 files changed, 30 insertions(+)
 create mode 100644 .editorconfig

Comments

Thomas Petazzoni Nov. 1, 2023, 9:54 p.m. UTC | #1
On Tue, 31 Oct 2023 14:40:38 +0100
<yann.morin@orange.com> wrote:

> From: "Yann E. MORIN" <yann.morin@orange.com>
> 
> EditorConfig [0] is an editor-agnostic configuration file, to set
> preferences on how to edit text: tabs vs. spaces, tab width, indentation
> size, line endings...
> 
> A large number of editors support EditorConfig, either natively [1] or
> with the help of plugins [2].
> 
> Add a basic .editorconfig that provides defaults for most of the files
> used by Buildroot. More can be added in the future if we can find more
> matching patterns.
> 
> The values are chosen a bit arbitrarily, unless we already have a
> (un)written rule about it. Notably, indentation defaults to using 4
> spaces, and only a set of files for which we require TABs (Makefile,
> essentially) or have already settled for TABs (Kconfig files, init
> scripts...) are configured so. The traditional width of TABs is 8 char,
> and we pair TAB indentation with TAB size.
> 
> Trailing spaces are usually useless, except in asciidoc source where
> they can be used to force a new line without a new paragraph.
> 
> One of the limitations of .editorconfig, tough, is that it matches on
> filenames (e.g. *.py), not on the content (e.g. no use of mimetype, or
> libmagic, or such). Still, this is enough to cover a lot of files in
> Buildroot.
> 
> [0] https://editorconfig.org/
> [1] https://editorconfig.org/#pre-installed
> [2] https://editorconfig.org/#download
> 
> Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
> ---
>  .editorconfig | 29 +++++++++++++++++++++++++++++
>  DEVELOPERS    |  1 +
>  2 files changed, 30 insertions(+)
>  create mode 100644 .editorconfig

Applied to master, thanks.

Thomas
diff mbox series

Patch

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000..4acaf3486b
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,29 @@ 
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_style = space
+indent_size = 4
+tab_width = 8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[DEVELOPERS]
+indent_style = tab
+indent_size = tab
+
+[{Config*.in*,linux/Config.ext.in}]
+indent_style = tab
+indent_size = tab
+
+[{Makefile*,*.mk}]
+indent_style = tab
+indent_size = tab
+
+[S{0..9}{0..9}*]
+indent_style = tab
+indent_size = tab
+
+[*.adoc]
+trim_trailing_whitespace = false
diff --git a/DEVELOPERS b/DEVELOPERS
index 57015e245e..e180755fe4 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3169,6 +3169,7 @@  F:	package/zisofs-tools/
 F:	support/download/
 
 N:	Yann E. MORIN <yann.morin@orange.com>
+F:	.editorconfig
 F:	package/gpsd/
 
 N:	Yegor Yefremov <yegorslists@googlemail.com>