indent(1): new option -lpl
With -lpl, code surrounded by parentheses in continuation lines is lined up even if it would extend past the right margin. With -nlpl (the default), such a line that would extend past the right margin is moved left to keep it within the margin, if that does not require placing it to the left of the prevailing indentation level. These switches have no effect if -nlp is selected. Submitted by: Tom Lane
This commit is contained in:
parent
50a2976094
commit
aac30b753f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=334590
@ -125,6 +125,7 @@ struct pro {
|
||||
{"i", PRO_INT, 8, 0, &ps.ind_size},
|
||||
{"lc", PRO_INT, 0, 0, &block_comment_max_col},
|
||||
{"ldi", PRO_INT, -1, 0, &ps.local_decl_indent},
|
||||
{"lpl", PRO_BOOL, false, ON, &lineup_to_parens_always},
|
||||
{"lp", PRO_BOOL, true, ON, &lineup_to_parens},
|
||||
{"l", PRO_INT, 78, 0, &max_col},
|
||||
{"nbacc", PRO_BOOL, false, OFF, &blanklines_around_conditional_compilation},
|
||||
@ -143,6 +144,7 @@ struct pro {
|
||||
{"nfc1", PRO_BOOL, true, OFF, &format_col1_comments},
|
||||
{"nfcb", PRO_BOOL, true, OFF, &format_block_comments},
|
||||
{"nip", PRO_BOOL, true, OFF, &ps.indent_parameters},
|
||||
{"nlpl", PRO_BOOL, false, OFF, &lineup_to_parens_always},
|
||||
{"nlp", PRO_BOOL, true, OFF, &lineup_to_parens},
|
||||
{"npcs", PRO_BOOL, false, OFF, &proc_calls_space},
|
||||
{"npro", PRO_SPECIAL, 0, IGN, 0},
|
||||
|
@ -73,6 +73,7 @@
|
||||
.Op Fl \&lc Ns Ar n
|
||||
.Op Fl \&ldi Ns Ar n
|
||||
.Op Fl \&lp | Fl nlp
|
||||
.Op Fl \&lpl | Fl nlpl
|
||||
.Op Fl npro
|
||||
.Op Fl P Ns Ar file
|
||||
.Op Fl pcs | Fl npcs
|
||||
@ -355,7 +356,9 @@ The default is for local variable names to be indented
|
||||
by the same amount as global ones.
|
||||
.It Fl \&lp , nlp
|
||||
Lines up code surrounded by parentheses in continuation lines.
|
||||
If a line
|
||||
With
|
||||
.Fl \&lp ,
|
||||
if a line
|
||||
has a left paren which is not closed on that line, then continuation lines
|
||||
will be lined up to start at the character position just after the left
|
||||
paren.
|
||||
@ -382,6 +385,19 @@ p1\ =\ first_procedure(second_procedure(p2,
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ third_procedure(p4,
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ p5));
|
||||
.Ed
|
||||
.It Fl \&lpl , nlpl
|
||||
With
|
||||
.Fl \&lpl ,
|
||||
code surrounded by parentheses in continuation lines is lined up even if it
|
||||
would extend past the right margin.
|
||||
With
|
||||
.Fl \&nlpl
|
||||
(the default), such a line that would extend past the right margin is moved
|
||||
left to keep it within the margin, if that does not require placing it to
|
||||
the left of the prevailing indentation level.
|
||||
These switches have no effect if
|
||||
.Fl nlp
|
||||
is selected.
|
||||
.It Fl npro
|
||||
Causes the profile files,
|
||||
.Sq Pa ./.indent.pro
|
||||
|
@ -174,6 +174,7 @@ main(int argc, char **argv)
|
||||
#ifdef undef
|
||||
max_col = 78; /* -l78 */
|
||||
lineup_to_parens = 1; /* -lp */
|
||||
lineup_to_parens_always = 0; /* -nlpl */
|
||||
ps.ljust_decl = 0; /* -ndj */
|
||||
ps.com_ind = 33; /* -c33 */
|
||||
star_comment_cont = 1; /* -sc */
|
||||
|
@ -186,6 +186,8 @@ int continuation_indent;/* set to the indentation between the edge of
|
||||
* code and continuation lines */
|
||||
int lineup_to_parens; /* if true, continued code within parens will
|
||||
* be lined up to the open paren */
|
||||
int lineup_to_parens_always; /* if true, do not attempt to keep
|
||||
* lined-up code within the margin */
|
||||
int Bill_Shannon; /* true iff a blank should always be inserted
|
||||
* after sizeof */
|
||||
int blanklines_after_declarations_at_proctop; /* This is vaguely
|
||||
|
@ -226,6 +226,8 @@ compute_code_target(void)
|
||||
if (!lineup_to_parens)
|
||||
target_col += continuation_indent
|
||||
* (2 * continuation_indent == ps.ind_size ? 1 : ps.paren_level);
|
||||
else if (lineup_to_parens_always)
|
||||
target_col = paren_target;
|
||||
else {
|
||||
int w;
|
||||
int t = paren_target;
|
||||
|
Loading…
Reference in New Issue
Block a user