From: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
To: ihuguet@redhat.com
Cc: corbet@lwn.net, danny@kdrag0n.dev, jgg@nvidia.com,
joe@perches.com, linux-kernel@vger.kernel.org,
linux@rasmusvillemoes.dk, masahiroy@kernel.org, mic@digikod.net,
ojeda@kernel.org, willy@infradead.org
Subject: Re: [PATCH v3] Add .editorconfig file for basic formatting
Date: Tue, 16 May 2023 22:04:37 +0900 [thread overview]
Message-ID: <20230516130437.14753-1-mailhol.vincent@wanadoo.fr> (raw)
In-Reply-To: <20230414101052.11012-1-ihuguet@redhat.com>
Hi Íñigo,
Thank you very much for this patch. I would really love to see .editorconfig
added to the Linux tree.
I need to work on different project and so, since last year, I applied the v2 of
this series to my local tree and it works great.
On Fri, Apr 14, 2023 at 12:11 PM Íñigo Huguet <ihuguet@redhat.com> wrote:
> EditorConfig is a specification to define the most basic code formatting
> stuff, and it's supported by many editors and IDEs, either directly or
> via plugins, including VSCode/VSCodium, Vim, emacs and more.
>
> It allows to define formatting style related to indentation, charset,
> end of lines and trailing whitespaces. It also allows to apply different
> formats for different files based on wildcards, so for example it is
> possible to apply different configs to *.{c,h}, *.py and *.rs.
>
> In linux project, defining a .editorconfig might help to those people
> that work on different projects with different indentation styles, so
> they cannot define a global style. Now they will directly see the
> correct indentation on every fresh clone of the project.
>
> See https://editorconfig.org
>
> Link: https://lore.kernel.org/lkml/20200703073143.423557-1-danny@kdrag0n.dev/
> Link: https://lore.kernel.org/lkml/20230404075540.14422-1-ihuguet@redhat.com/
> Co-developed-by: Danny Lin <danny@kdrag0n.dev>
> Signed-off-by: Danny Lin <danny@kdrag0n.dev>
> Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
> ---
> v2:
> - added special rule for patch files so it doesn't remove
> trailing whitespaces, making them unusable.
> v3:
> - moved all rules from [*] section to all the individual
> sections so they doesn't affect to unexpected files.
I understand from from the past discussions that trim_trailing_whitespace or the
default indentation can not be apply broadly to all files. But what about those
three parameters?
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
Those looks safe to me. Are there files for which we do not want utf-8 or for
which we do not what a final empty newline?
> - added some extensions and files from a patch from Danny
> Lin that didn't get to be merged:
> https://lore.kernel.org/lkml/20200703073143.423557-1-danny@kdrag0n.dev/
> However, the following file types hasn't been added
> because they don't have a clear common style:
> rst,pl,cocci,tc,bconf,svg,xsl,manual pages
> ---
> .editorconfig | 30 ++++++++++++++++++++++++++
> .gitignore | 1 +
> Documentation/process/4.Coding.rst | 4 ++++
> Documentation/process/coding-style.rst | 4 ++++
> 4 files changed, 39 insertions(+)
> create mode 100644 .editorconfig
>
> diff --git a/.editorconfig b/.editorconfig
> new file mode 100644
> index 000000000000..dce20d45c246
> --- /dev/null
> +++ b/.editorconfig
> @@ -0,0 +1,30 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +root = true
> +
> +# 8 width tabs
> +[{*.{c,h},Kconfig,Makefile,Makefile.*,*.mk}]
> +charset = utf-8
> +end_of_line = lf
> +trim_trailing_whitespace = true
> +insert_final_newline = true
> +indent_style = tab
> +indent_size = 8
> +
> +# 4 spaces
> +[{*.{json,pm,py,rs},tools/perf/scripts/*/bin/*}]
> +charset = utf-8
> +end_of_line = lf
> +trim_trailing_whitespace = true
> +insert_final_newline = true
> +indent_style = space
> +indent_size = 4
> +
> +# 2 spaces
> +[{*.{rb,yaml},.clang-format}]
> +charset = utf-8
> +end_of_line = lf
> +trim_trailing_whitespace = true
> +insert_final_newline = true
> +indent_style = space
> +indent_size = 2
> diff --git a/.gitignore b/.gitignore
> index 70ec6037fa7a..e4b3fe1d029b 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -100,6 +100,7 @@ modules.order
> #
> !.clang-format
> !.cocciconfig
> +!.editorconfig
> !.get_maintainer.ignore
> !.gitattributes
> !.gitignore
> diff --git a/Documentation/process/4.Coding.rst b/Documentation/process/4.Coding.rst
> index 1f0d81f44e14..c2046dec0c2f 100644
> --- a/Documentation/process/4.Coding.rst
> +++ b/Documentation/process/4.Coding.rst
> @@ -66,6 +66,10 @@ for aligning variables/macros, for reflowing text and other similar tasks.
> See the file :ref:`Documentation/process/clang-format.rst <clangformat>`
> for more details.
>
> +Some basic editor settings, such as indentation and line endings, will be
> +set automatically if you are using an editor that is compatible with
> +EditorConfig. See the official EditorConfig website for more information:
> +https://editorconfig.org/
>
> Abstraction layers
> ******************
> diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst
> index 007e49ef6cec..ec96462fa8be 100644
> --- a/Documentation/process/coding-style.rst
> +++ b/Documentation/process/coding-style.rst
> @@ -735,6 +735,10 @@ for aligning variables/macros, for reflowing text and other similar tasks.
> See the file :ref:`Documentation/process/clang-format.rst <clangformat>`
> for more details.
>
> +Some basic editor settings, such as indentation and line endings, will be
> +set automatically if you are using an editor that is compatible with
> +EditorConfig. See the official EditorConfig website for more information:
> +https://editorconfig.org/
>
> 10) Kconfig configuration files
> -------------------------------
> --
> 2.39.2
next prev parent reply other threads:[~2023-05-16 13:05 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-14 10:10 Íñigo Huguet
2023-04-14 13:36 ` Miguel Ojeda
2023-05-08 8:58 ` Íñigo Huguet
2023-05-26 21:16 ` Miguel Ojeda
2023-05-30 7:52 ` Íñigo Huguet
2023-05-30 12:52 ` Joe Perches
2023-05-16 13:04 ` Vincent Mailhol [this message]
2023-05-18 7:53 ` Íñigo Huguet
2023-05-18 8:59 ` Vincent MAILHOL
2023-05-18 9:16 ` Íñigo Huguet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230516130437.14753-1-mailhol.vincent@wanadoo.fr \
--to=mailhol.vincent@wanadoo.fr \
--cc=corbet@lwn.net \
--cc=danny@kdrag0n.dev \
--cc=ihuguet@redhat.com \
--cc=jgg@nvidia.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=masahiroy@kernel.org \
--cc=mic@digikod.net \
--cc=ojeda@kernel.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®