Function: c-lineup-item-after-paren-at-boi
c-lineup-item-after-paren-at-boi is a byte-compiled function defined
in cc-align.el.gz.
Signature
(c-lineup-item-after-paren-at-boi LANGELEM)
Documentation
Line up to just after the surrounding open paren at boi.
This also works when there are only open parens between the surrounding paren and boi. "paren" here can also mean "brace", etc. We line up under the first non-whitespace text after the paren. If there is no such paren, or no such text, return nil, allowing another function to handle the construct.
Works with: brace-list-intro, enum-intro, constraint-cont.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-align.el.gz
(defun c-lineup-item-after-paren-at-boi (_langelem)
"Line up to just after the surrounding open paren at boi.
This also works when there are only open parens between the surrounding
paren and boi. \"paren\" here can also mean \"brace\", etc. We line up
under the first non-whitespace text after the paren. If there is no
such paren, or no such text, return nil, allowing another function to
handle the construct.
Works with: brace-list-intro, enum-intro, constraint-cont."
(save-excursion
(beginning-of-line)
(and
(if (c-langelem-2nd-pos c-syntactic-element)
;; brace-list-intro, enum-intro.
(progn (goto-char (c-langelem-2nd-pos c-syntactic-element))
t)
;; constraint-cont.
(c-go-up-list-backward nil (c-langelem-pos c-syntactic-element)))
(looking-at "\\s(")
(save-excursion
(skip-chars-backward " \t([{" (c-point 'boi))
(eq (point) (c-point 'boi)))
(progn (forward-char)
(c-forward-syntactic-ws (c-point 'eol))
(unless (eolp)
(vector (current-column)))))))