17 votes

clang-format pour les options du programme boost

clang-format semble faire un gros gâchis de blocs comme celui-ci :

desc.add_options()("help", "output usage")
      ("inputDirectory", po::value<boost::filesystem::path>()->required(), "The input path")
      ("outputDirectory", po::value<boost::filesystem::path>()->required(), "The output path");

Je suis au courant // clang-format off pour ne pas formater explicitement un bloc, mais existe-t-il un ensemble de règles de configuration pour lui faire faire quelque chose de raisonnable à ce sujet ?

4voto

mtszkw Points 1934

Je ne suis pas sûr que vous puissiez le gérer en configurant seulement .clang-format options. Cependant, il y a encore quelque chose que vous pouvez faire sur la syntaxe boost::program_options. Au lieu de chaîner operator(), vous pouvez créer l'objet program_optionso::options_description et ajouter des options sur plusieurs lignes :

namespace po = boost::program_options;

po::options_description desc;
desc.add_options()("inputDirectory", po::value<boost::filesystem::path>()->required(), "The input path");

Maintenant, même si clang-format casse votre formatage, je crois que cela sera un peu mieux qu'avant. Si ce n'est pas suffisant pour vous et que le formatage est votre casse-tête, je vous suggérerais de définir une fonction ou autre pour raccourcir ces lignes (dans notre projet, nous avons un vecteur de structures ConfigField qui contient value_semantic, names etc. et nous l'itérons en appelant add_options - cela semble plus court).

Pas d'autre moyen, j'en ai peur.

BTW : Oui, c'est une vieille question, mais il n'y a pas de réponse et nous avons eu un problème similaire récemment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X