Go to the first, previous, next, last section, table of contents.


Syntactic Symbols

Here is a table of valid syntactic symbols for indentation in C and related modes, with their syntactic meanings. Normally, most of these symbols are assigned offsets in c-offsets-alist.

string
Inside a multi-line string.
c
Inside a multi-line C style block comment.
defun-open
On a brace that opens a function definition.
defun-close
On a brace that closes a function definition.
defun-block-intro
In the first line in a top-level defun.
class-open
On a brace that opens a class definition.
class-close
On a brace that closes a class definition.
inline-open
On a brace that opens an in-class inline method.
inline-close
On a brace that closes an in-class inline method.
extern-lang-open
On a brace that opens an external language block.
extern-lang-close
On a brace that closes an external language block.
func-decl-cont
The region between a function definition's argument list and the defun opening brace (excluding K&R function definitions). In C, you cannot put anything but whitespace and comments between them; in C++ and Java, throws declarations and other things can appear in this context.
knr-argdecl-intro
On the first line of a K&R C argument declaration.
knr-argdecl
In one of the subsequent lines in a K&R C argument declaration.
topmost-intro
On the first line in a topmost construct definition.
topmost-intro-cont
On the topmost definition continuation lines.
member-init-intro
On the first line in a member initialization list.
member-init-cont
On one of the subsequent member initialization list lines.
inher-intro
On the first line of a multiple inheritance list.
inher-cont
On one of the subsequent multiple inheritance lines.
block-open
On a statement block open brace.
block-close
On a statement block close brace.
brace-list-open
On the opening brace of an enum or static array list.
brace-list-close
On the closing brace of an enum or static array list.
brace-list-intro
On the first line in an enum or static array list.
brace-list-entry
On one of the subsequent lines in an enum or static array list.
brace-entry-open
On one of the subsequent lines in an enum or static array list, when the line begins with an open brace.
statement
On an ordinary statement.
statement-cont
On a continuation line of a statement.
statement-block-intro
On the first line in a new statement block.
statement-case-intro
On the first line in a case "block."
statement-case-open
On the first line in a case block starting with brace.
inexpr-statement
On a statement block inside an expression. This is used for a GNU extension to the C language, and for Pike special functions that take a statement block as an argument.
inexpr-class
On a class definition inside an expression. This is used for anonymous classes and anonymous array initializers in Java.
substatement
On the first line after an if, while, for, do, or else.
substatement-open
On the brace that opens a substatement block.
case-label
On a case or default label.
access-label
On a C++ private, protected, or public access label.
label
On any ordinary label.
do-while-closure
On the while that ends a do-while construct.
else-clause
On the else of an if-else construct.
catch-clause
On the catch and finally lines in try...catch constructs in C++ and Java.
comment-intro
On a line containing only a comment introduction.
arglist-intro
On the first line in an argument list.
arglist-cont
On one of the subsequent argument list lines when no arguments follow on the same line as the arglist opening parenthesis.
arglist-cont-nonempty
On one of the subsequent argument list lines when at least one argument follows on the same line as the arglist opening parenthesis.
arglist-close
On the closing parenthesis of an argument list.
stream-op
On one of the lines continuing a stream operator construct.
inclass
On a construct that is nested inside a class definition. The indentation is relative to the open brace of the class definition.
inextern-lang
On a construct that is nested inside an external language block.
inexpr-statement
On the first line of statement block inside an expression. This is used for the GCC extension to C that uses the syntax ({ ... }). It is also used for the special functions that takes a statement block as an argument in Pike.
inexpr-class
On the first line of a class definition inside an expression. This is used for anonymous classes and anonymous array initializers in Java.
cpp-macro
On the start of a cpp macro.
friend
On a C++ friend declaration.
objc-method-intro
On the first line of an Objective-C method definition.
objc-method-args-cont
On one of the lines continuing an Objective-C method definition.
objc-method-call-cont
On one of the lines continuing an Objective-C method call.
inlambda
Like inclass, but used inside lambda (i.e. anonymous) functions. Only used in Pike.
lambda-intro-cont
On a line continuing the header of a lambda function, between the lambda keyword and the function body. Only used in Pike.


Go to the first, previous, next, last section, table of contents.