Next: Comment Line-Up, Previous: List Line-Up, Up: Line-Up Functions [Contents][Index]
The line-up functions here calculate the indentation for lines which start with an operator, by lining it up with something on the previous line.
Line up a continued argument. E.g.:
foo (xyz, aaa + bbb + ccc + ddd + eee + fff); <- c-lineup-argcont
Only continuation lines like this are touched, nil
is returned on
lines which are the start of an argument.
Within a gcc asm
block, :
is recognized as an argument
separator, but of course only between operand specifications, not in the
expressions for the operands.
Works with: arglist-cont
, arglist-cont-nonempty
.
Line up lines starting with an infix operator under the open paren.
Return nil
on lines that don’t start with an operator, to leave
those cases to other line-up functions. Example:
if ( x < 10
|| at_limit (x, <- c-lineup-arglist-operators list) <- c-lineup-arglist-operators returns nil )
Since this function doesn’t do anything for lines without an infix
operator you typically want to use it together with some other lineup
settings, e.g., as follows (the arglist-close
setting is just a
suggestion to get a consistent style):
(c-set-offset 'arglist-cont '(c-lineup-arglist-operators 0)) (c-set-offset 'arglist-cont-nonempty '(c-lineup-arglist-operators c-lineup-arglist)) (c-set-offset 'arglist-close '(c-lineup-arglist-close-under-paren))
Works with: arglist-cont
, arglist-cont-nonempty
.
Line up the current line after the assignment operator on the first line
in the statement. If there isn’t any, return nil
to allow stacking with
other line-up functions. If the current line contains an assignment
operator too, try to align it with the first one.
Works with: topmost-intro-cont
, statement-cont
,
arglist-cont
, arglist-cont-nonempty
.
Like c-lineup-assignments
but indent with c-basic-offset
if no assignment operator was found on the first line. I.e., this
function is the same as specifying a list (c-lineup-assignments
+)
. It’s provided for compatibility with old configurations.
Works with: topmost-intro-cont
, statement-cont
,
arglist-cont
, arglist-cont-nonempty
.
Line up “cascaded calls” under each other. If the line begins with
->
or .
and the preceding line ends with one or more
function calls preceded by the same token, then the arrow is lined up
with the first of those tokens. E.g.:
r = proc->add(17)->add(18)
->add(19) + <- c-lineup-cascaded-calls offset; <- c-lineup-cascaded-calls (inactive)
In any other situation nil
is returned to allow use in list
expressions.
Works with: topmost-intro-cont
, statement-cont
,
arglist-cont
, arglist-cont-nonempty
.
Line up C++ stream operators (i.e., ‘<<’ and ‘>>’).
Works with: stream-op
.
Line up a continued string under the one it continues. A continued string in this sense is where a string literal follows directly after another one. E.g.:
result = prefix + "A message " "string."; <- c-lineup-string-cont
nil
is returned in other situations, to allow stacking with other
lineup functions.
Works with: topmost-intro-cont
, statement-cont
,
arglist-cont
, arglist-cont-nonempty
.
Next: Comment Line-Up, Previous: List Line-Up, Up: Line-Up Functions [Contents][Index]