On 22/06/16 13:25, Emil Velikov wrote:
Hi All,

Seems like we have a few people are keen on the idea of having some
form of at least semi-automated way to handle coding style issues.

Some options/ideas:
  - Combine the emacs .dir-local.el + emacs -batch to do the checking:
Pros: rules aren't duplicated in multiple places (like the second
option). Cons: not everyone has emacs




  - or, check-in a few (as needed) xa-indent style scripts based on indent.
Pros: indent seems (imho) more widely spread. Cons: the style rules
are duplicated.

IMHO we don't have to 'enforce' one or the other throughout the tree.
Having either one would be beneficial, but definitely not a
requirement.

Once we're happy with that, we could have a simple toplevel
"check-all-style" script, which can be used by both developers and git
hooks. And with time patchwork/other solution will be able to
pre-emptively run these and provide feedback, at which time we'll
toggle the git hooks to reject 'non-compliant' pushes (or even before
the pw stuff is in place) ?

There's a couple small catches
  - I cannot convince emacs to honour .dir-locals.el in batch mode. Any takers ?
  - We might have a couple of initial "x: unify coding style" commits.

Rob, seems like most (all?) of your mode lines in freedreno are busted
(missing : after tab-width, typo(s) in tab-width). Considering there's
a fdno .dir-locals.el are you ok with just nuking them all together ?

Thanks
Emil
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev



I like the idea of using automated checks to check style, and maybe in the future do even more things like check for common errors (e.g., particularly portability issues that are not caught by any compiler warning, using unsafe functions, etc)


But using Emacs seems at odds with not enforcing. Not enforcing means it must be easy for developers to runs the checks/formatters. So a more lightweight dependency would be better.


BTW, I've been using http://editorconfig.org/ on several projects. It's widely supported by many editors including Emacs.

There's even Python based tools to check editorconfig ( https://github.com/editorconfig/editorconfig/wiki/FAQ#my-files-are-not-automatically-reformatted-the-editorconfig-plugin-is-not-working ). We already require Python, downloading a Python package is trivial to do nowadays with pip, so we could easily standardize on .editorconfig files everywhere.


Another solution could be http://clang.llvm.org/extra/clang-tidy/ . I read it can handle C too. And this could be a tool we could use beyond formatting.


Jose

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to