From be9f72278f6b6826b75af4536b62743c5b37b737 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Tue, 31 Oct 2023 14:40:38 +0100 Subject: [PATCH] .editorconfig: add editor-agnostic configuration 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, though, 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 Signed-off-by: Thomas Petazzoni --- .editorconfig | 29 +++++++++++++++++++++++++++++ DEVELOPERS | 1 + 2 files changed, 30 insertions(+) create mode 100644 .editorconfig 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 ca812b3ae6..e7e4a59e94 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -3171,6 +3171,7 @@ F: package/zisofs-tools/ F: support/download/ N: Yann E. MORIN +F: .editorconfig F: package/gpsd/ N: Yegor Yefremov