public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@sourceware.org>
To: bfd-cvs@sourceware.org, gdb-cvs@sourceware.org
Subject: [binutils-gdb] binutils-gdb/git: highlight whitespace errors in source files
Date: Mon, 25 Jul 2022 13:37:01 +0000 (GMT)	[thread overview]
Message-ID: <20220725133701.2A2B23875A24@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f7f904e4fda6fb571d40a3547ed03ec6028e6694

commit f7f904e4fda6fb571d40a3547ed03ec6028e6694
Author: Andrew Burgess <aburgess@redhat.com>
Date:   Mon Jul 18 15:35:40 2022 +0100

    binutils-gdb/git: highlight whitespace errors in source files
    
    For a long time I've had this in my ~/.gitconfig:
    
      [core]
              whitespace = space-before-tab,indent-with-non-tab,trailing-space
    
    which causes git to show me if I muck up and use spaces instead of
    tabs, or leave in trailing whitespace.  I find this really useful.
    
    I recently proposed adding something like this to the .gitattributes
    files for the GDB sub-directories (gdb, gdbsupport, and gdbserver)[1],
    however, the question was asked - couldn't this be done at the top
    level?
    
    So, in this commit, I propose to update the top-level .gitattributes
    file, after this commit, any git diff on a C, C++, Expect, or TCL
    source file, will highlight the following whitespace errors:
    
      (a) Use a space before a tab at the start of a line,
    
      (b) Use of spaces where a tab could be used at the start of a line,
      and
    
      (c) Any trailing whitespace.
    
    Errors are only highlighted in the diff on new or modified lines, so
    you don't get spammed for errors on context lines that you haven't
    modified.
    
    The only downside I see to adding this at the top level is if there
    are any sub-directories that don't follow the tabs/spaces indentation
    rules very well already, in those directories you'll end up hitting
    issues any time you edit a line.  For GDB we're usually pretty good,
    so having this highlighting isn't an issue.
    
    [1] https://sourceware.org/pipermail/gdb-patches/2022-July/190843.html

Diff:
---
 .gitattributes | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/.gitattributes b/.gitattributes
index 06d51d28a95..6f7c6d8ba52 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -18,3 +18,18 @@
 #     file gets renamed again ...
 
 ChangeLog       merge=merge-changelog
+
+# Setup whitespace error detection.
+#
+# (1) Spaces before tabs,
+#
+# (2) Use of spaces where a tab should be used,
+#
+# (3) Trailing whitespace,
+
+*.cxx whitespace=space-before-tab,indent-with-non-tab,trailing-space
+*.cc whitespace=space-before-tab,indent-with-non-tab,trailing-space
+*.cpp whitespace=space-before-tab,indent-with-non-tab,trailing-space
+*.[cChH] whitespace=space-before-tab,indent-with-non-tab,trailing-space
+*.exp whitespace=space-before-tab,indent-with-non-tab,trailing-space
+*.tcl whitespace=space-before-tab,indent-with-non-tab,trailing-space


                 reply	other threads:[~2022-07-25 13:37 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20220725133701.2A2B23875A24@sourceware.org \
    --to=aburgess@sourceware.org \
    --cc=bfd-cvs@sourceware.org \
    --cc=gdb-cvs@sourceware.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).