← Back to team overview

kicad-developers team mailing list archive

Re: Code style autoformat

 

Hi Zoltan,

I haven't used clang-format for formatting source files but I have used
uncrustify.  Unfortunately uncrustify has issues with certain macros
(most notably the internationaliztion macro _()) which requires some
manual clean up.  Please do not reformat entire files as uncrustify will
change things that we have not defined and result in large unnecessary
change sets.  I'm guessing clang-format and check_coding.py will have
the same issues.  I've only used the formatting tools for formatting new
source files.  I also have my editor (emacs) configured for kicad source
formatting so I don't have to worry about remembering to do it myself
and I can always format a selection rather than the entire source file.

Cheers,

Wayne

On 09/22/2018 07:18 AM, Zoltan Gyarmati wrote:
> Dear All,
> 
> I'm trying to get my first patch into Kicad, see this thread: 
> https://lists.launchpad.net/kicad-developers/msg37454.html
> 
> As Seth (rightfully) pointed out, my patch didn't fully follow the coding 
> guidelines. Before i started to manually fix the issues, i looked whether 
> there is any infrastructure for autoformatting in the source tree, and i 
> found:
> * a clang-format config file (_clang-format)
> * an uncrustify config file (uncrustify.cfg)
> * a script for checking code style in changed files (tools/checkcoding.py)
> 
> It seems to me that the uncrustify.cfg and the _clang-format files are not 
> totally consistent, and the  tools/checkcoding.py (which uses uncrustify with 
> the uncrustify.cfg file) is still based on bzr, while the official Kicad 
> sources are hosted on git since a while. I ported the script to use git (happy 
> to send a patch if needed), and ran it on my changeset, but it turned out that 
> also the existing codebase is violating the uncrustify rules. I ran the clang-
> format ruleset as well, at it also doesn't give a clear result.
> 
> So my questions are: 
> * Is there any canonized ruleset for autoformatting the code?
> * If yes, which one it is?
> * What is the policy if the file(s) I'm modifying in my patch violate the 
> coding guidelines? Should i send a patch first to fix the format of the 
> existing version, and then send my actual patch against this cleaned up 
> version?
> 
> 
> Thanks in advance, regards
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References