git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 1/2] editorconfig: provide editor settings for Git developers

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Oct 8, 2018, 20:53 UTC
Message-ID
<87sh1gcg7z.fsf@evledraar.gmail.com>
In-Reply-To
<20181008202903.100166-2-sandals@crustytoothpaste.net>
On Mon, Oct 08 2018, brian m. carlson wrote:
Show 54 quoted lines
> Contributors to Git use a variety of editors, each with their own
> configuration files.  Because C lacks the defined norms on how to indent
> and style code that other languages, such as Ruby and Rust, have, it's
> possible for various contributors, especially new ones, to have
> configured their editor to use a style other than the style the Git
> community prefers.
>
> To make automatically configuring one's editor easier, provide an
> EditorConfig file.  This is an INI-style configuration file that can be
> used to specify editor settings and can be understood by a wide variety
> of editors.  Some editors include this support natively; others require
> a plugin.  Regardless, providing such a file allows users to
> automatically configure their editor of choice with the correct settings
> by default.
>
> Provide global settings to set the character set to UTF-8 and insert a
> final newline into files.  Provide language-specific settings for C,
> Shell, Perl, and Python files according to what CodingGuidelines already
> specifies.  Since the indentation of other files varies, especially
> certain AsciiDoc files, don't provide any settings for them until a
> clear consensus forward emerges.
>
> Set the line length for commit messages to 72 characters, which is the
> generally accepted line length for emails, since we send patches by
> email.
>
> Don't specify an end of line type.  While the Git community uses
> Unix-style line endings in the repository, some Windows users may use
> Git's auto-conversion support and forcing Unix-style line endings might
> cause problems for those users.
>
> Finally, leave out a root directive, which would prevent reading other
> EditorConfig files higher up in the tree, in case someone wants to set
> the end of line type for their system in such a file.
>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
>  .editorconfig | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>  create mode 100644 .editorconfig
>
> diff --git a/.editorconfig b/.editorconfig
> new file mode 100644
> index 0000000000..83227fa0b2
> --- /dev/null
> +++ b/.editorconfig
> @@ -0,0 +1,14 @@
> +[*]
> +charset = utf-8
> +insert_final_newline = true
> +
> +[*.{c,h,sh,perl}]
> +indent_style = tab
> +tab_width = 8
It looks like we can add at least "pm" and "pl" to that pattern:
    $ git ls-files|grep -E -v -e '\.(c|h|sh|perl)$' | grep -F .| sed 's/.*\.//'|sort|uniq -c|sort -nr|head -n 15
        631 txt
         56 expect
         48 po
         41 test
         40 tcl
         34 gitignore
         24 pm
         18 patch
         18 diff
         16 pl
         15 side
         14 gitattributes
         12 dump
         11 sample
          9 master
Show 6 quoted lines
> +[*.py]
> +indent_style = space
> +indent_size = 4
> +
> +[COMMIT_EDITMSG]
> +max_line_length = 72
Previous: brian m. carlsonNext: brian m. carlson
Message 4 of 5 in “EditorConfig file”
  1. 0/2 EditorConfig filebrian m. carlson, Oct 8, 2018
  2. 2/2 editorconfig: indicate settings should be kept in syncbrian m. carlson, Oct 8, 2018
  3. 1/2 editorconfig: provide editor settings for Git developersbrian m. carlson, Oct 8, 2018
  4. Ævar Arnfjörð BjarmasonOct 8, 2018
  5. brian m. carlsonOct 8, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.