I also recommend -T ExampleType
for every 'typedef', so that you get: example(int foo, char *bar, ExampleType *aligned_here) and not example(int foo, char *bar, ExampleType * aligned_here) -- Peter David Hampton wrote: > > There's been some discussion on IRC about using the indent program to > reformat the sources into something consistent from file to file. I'd > like to propose the following options as a starting point for > discussion. I think some of these options will be agreed upon by all, > and I'm sure others will be contentious. :-) > > Indentation > > -nut No tabs. Indentation is done with spaces. > -i4 Add four spaces for each indent level > -ci4 Continuation lines are indented by four spaces > -cli4 Case labels are indented by four spaces > -ppi4 Nested pre-processor defines are indented by four spaces > -nbc Do not force newlines after commas in declarations (default) > -nbfda Don´t put each argument in a function declaration > on a separate line (default) > -lp Line up continued lines at parentheses (default) > -psl Put the type of a procedure on the line before its name. > -bbo Prefer to break long lines before boolean operators. > > Blank Lines > > -nsob Do not swallow optional blank lines (default) > -bad Force a blank line after a declaration. > -bbb Force a blank line before a block comment. > -bap Force blank lines after procedure bodies. > > Comments > > -fca Reformat all comments except those starting in column 1 > -fc1 Reformat comments starting in column 1 > -sc Continuation lines in a comments start with a '*' > > Statements > > -npcs Do not put space after the function in function calls. > -nprs Do not put a space after every ´(´ and before every ´)´. > > -ncs Do not put a space after cast operators. > -saf Put a space after each for. > -sai Put a space after each if. > -saw Put a space after each while. > > -brs Put braces on struct declaration line. > -br Put braces on line with if, etc. > -ce Cuddle else and preceeding `}´. > -cdw Cuddle while of do {} while; and preceeding `}´. > > Other > > -l80 Line width of 80. > > Attached is a small source file formatted with the above options. > > Let the discussion begin. :-) > > Of the above list of options, the ones I feel strongly about are lining > up continued lines at parentheses (-lp), the space-after-keyword group > (saf, -sai, -saw), and the cuddling-of-braces group (-br, -ce, -cdw). I > feel most strongly about this last group. The parts of an if/then/else > statement are clearly delineated by the indentation of the keywords vs. > the indentation of the code blocks. I believe it a complete waste to > additionally add vertical separation my making the "else" take up three > lines. One for a closing parenthesis, one for the word "else", and one > for an opening parenthesis. Maybe that's just me. > > What do the rest of the developers think? > > David > > > #ifdef A > # ifdef B > # define C > # else > # define D > # endif > #else > # define E > #endif > > > /*** > * * > ***/ > struct foo { > int i, j; > char *s; > }; > > char *a; > char *b; > > /* kssf */ > char *g; > > > /* > * Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod > * tempor incididunt ut labore et dolore magna aliqua. > . */ > static void > example(int foo, char *bar, ExampleType * aligned_here) > { > Foo *bar = { 1, "foo" }; /* lorem ipsum */ > > for (int i = 0; i < 10; i++) { > if (is_is_a_reasonable_value(i) > && (i < 10 || i < 11)) { > // ... > } else { > break; > } > } > > this_is_a_long_function_name(and_this, function, has_a_very, large, > number_of, arguments); > > switch (foobar) { > case 0: > z = is_is_a_reasonable_value(i); > break; > default: > z = !is_is_a_reasonable_value(i); > break; > } > > while (TRUE) { > // ... > } > > do { > // ... > } while (TRUE); > } > > static void > another_example(int and_this, char *function, ExampleType * has_a_very, > char *large, double number_of, int arguments) > { > } _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel