mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
1 line
5.8 KiB
Plaintext
1 line
5.8 KiB
Plaintext
indent - indent and format a C program source indent ifile [
|
||
|
||
ofile ] [ args ] The arguments that can be specified follows.
|
||
|
||
They may appear before or after the file names.
|
||
|
||
|
||
|
||
ifile Input file specification.
|
||
|
||
|
||
|
||
ofile Output file specification. If omitted, then the indented
|
||
|
||
formatted file will be written back into the input file, and
|
||
|
||
there will be a "back-up" copy of ifile written in the current
|
||
|
||
directory. For an ifile named "/blah/blah/file", the backup file
|
||
|
||
will be named ".Bfile". (It will only be listed when the `-a'
|
||
|
||
argument is specified in ls.) If ofile is specified, indent
|
||
|
||
checks to make sure it is different from ifile.
|
||
|
||
|
||
|
||
-lnnn Maximum length of an output line. The default is 75.
|
||
|
||
|
||
|
||
-cnnn The column in which comments will start. The default is 33.
|
||
|
||
|
||
|
||
-cdnnn The column in which comments on declarations will start.
|
||
|
||
The default is for these comments to start in the same column as
|
||
|
||
other comments.
|
||
|
||
|
||
|
||
-innn The number of spaces for one indentation level. The de-
|
||
|
||
fault is 4.
|
||
|
||
|
||
|
||
-dj,-ndj -dj will cause declarations to be left justified. -ndj
|
||
|
||
will cause them to be indented the same as code. The default is
|
||
|
||
-ndj.
|
||
|
||
|
||
|
||
-v,-nv -v turns on "verbose" mode, -nv turns it off. When in ver-
|
||
|
||
bose mode, indent will report when it splits one line of input
|
||
|
||
into two or more lines of output, and it will give some size
|
||
|
||
statistics at completion. The default is -nv.
|
||
|
||
|
||
|
||
-bc,-nbc If -bc is specified, then a newline will be forced
|
||
|
||
after each comma in a declaration. -nbc will turn off this
|
||
|
||
option. The default is -bc.
|
||
|
||
|
||
|
||
-dnnn This option controls the placement of comments which are
|
||
|
||
not to the right of code. Specifying -d2 means that such comments
|
||
|
||
will be placed two indentation levels to the left of code. The
|
||
|
||
default -d0 lines up these comments with the code. See the
|
||
|
||
section on comment indentation below.
|
||
|
||
|
||
|
||
-br,-bl Specifying -bl will cause complex statements to be lined
|
||
|
||
up like this:
|
||
|
||
|
||
|
||
if (...)
|
||
|
||
{
|
||
|
||
code
|
||
|
||
}
|
||
|
||
|
||
|
||
Specifying -br (the default) will make them look like this:
|
||
|
||
|
||
|
||
if (...) {
|
||
|
||
code
|
||
|
||
}
|
||
|
||
|
||
|
||
You may set up your own `profile' of defaults to indent by
|
||
|
||
creating the file `/usr/yourname/.indent.pro' (where your-name
|
||
|
||
is your login name) and including whatever switches you like. If
|
||
|
||
indent is run and a profile file exists, then it is read to set
|
||
|
||
up the program's defaults. Switches on the command line, though,
|
||
|
||
will always over-ride profile switches. The profile file must be
|
||
|
||
a single line of not more than 127 characters. The switches
|
||
|
||
should be seperated on the line by spaces or tabs.
|
||
|
||
|
||
|
||
Indent is intended primarily as a C program indenter.
|
||
|
||
Specifically, indent will: indent code lines align comments
|
||
|
||
insert spaces around operators where necessary break up
|
||
|
||
declaration lists as in "int a,b,c;". It will not break up long
|
||
|
||
statements to make them fit within the maximum line length, but
|
||
|
||
it will flag lines that are too long. Lines will be broken so
|
||
|
||
that each statement starts a new line, and braces will appear
|
||
|
||
alone on a line. (See the -br option to inhibit this.) Also, an
|
||
|
||
attempt is made to line up identifiers in declarations.
|
||
|
||
|
||
|
||
Multi-line expressions
|
||
|
||
|
||
|
||
Indent will not break up complicated expressions that extend over
|
||
|
||
multiple lines, but it will usually correctly indent such
|
||
|
||
expressions which have already been broken up. Such an expression
|
||
|
||
might end up looking like this:
|
||
|
||
|
||
|
||
x =
|
||
|
||
(
|
||
|
||
(Arbitrary parenthesized expression)
|
||
|
||
+
|
||
|
||
(
|
||
|
||
(Parenthesized expression)
|
||
|
||
*
|
||
|
||
(Parenthesized expression)
|
||
|
||
)
|
||
|
||
);
|
||
|
||
|
||
|
||
Comments
|
||
|
||
|
||
|
||
Indent recognizes four kinds of comments. They are straight
|
||
|
||
text, "box" comments, UNIX-style comments, and comments that
|
||
|
||
should be passed thru unchanged. The action taken with these
|
||
|
||
various types is as follows:
|
||
|
||
|
||
|
||
"Box" comments: The DSG documentation standards specify that
|
||
|
||
boxes will be placed around section headers. Indent assumes that
|
||
|
||
any comment with a dash immediately after the start of comment
|
||
|
||
(i.e. "/*-") is such a box. Each line of such a comment will be
|
||
|
||
left unchanged, except that the first non-blank character of
|
||
|
||
each successive line will be lined up with the beginning slash of
|
||
|
||
the first line. Box comments will be indented (see below).
|
||
|
||
|
||
|
||
Unix-style comments: This is the type of section header which is
|
||
|
||
used extensively in the UNIX system source. If the start of
|
||
|
||
comment ('/*') appears on a line by itself, indent assumes that
|
||
|
||
it is a UNIX-style comment. These will be treated similarly to
|
||
|
||
box comments, except the first non-blank character on each line
|
||
|
||
will be lined up with the '*' of the '/*'.
|
||
|
||
|
||
|
||
Unchanged comments: Any comment which starts in column 1 will be
|
||
|
||
left completely unchanged. This is intended primarily for
|
||
|
||
documentation header pages. The check for unchanged comments is
|
||
|
||
made before the check for UNIX-style comments.
|
||
|
||
|
||
|
||
Straight text: All other comments are treated as straight text.
|
||
|
||
Indent will fit as many words (separated by blanks, tabs, or
|
||
|
||
newlines) on a line as possible. Straight text comments will be
|
||
|
||
indented.
|
||
|
||
|
||
|
||
Comment indentation Box, UNIX-style, and straight text comments
|
||
|
||
may be indented. If a comment is on a line with code it will be
|
||
|
||
started in the "comment column", which is set by the -cnnn
|
||
|
||
command line parameter. Otherwise, the comment will be started at
|
||
|
||
nnn indentation levels less than where code is currently being
|
||
|
||
placed, where nnn is specified by the -dnnn com- mand line
|
||
|
||
parameter. (Indented comments will never be placed in column 1.)
|
||
|
||
If the code on a line extends past the comment column, the
|
||
|
||
comment will be moved to the next line.
|
||
|
||
|
||
|
||
Diagnostic error messsages, mostly to tell that a text line has
|
||
|
||
been broken or is too long for the output line, will be printed
|
||
|
||
on the controlling tty. /usr/your-name/.indent.pro - profile file
|
||
|
||
Doesn't know how to format "long" declarations.
|
||
|
||
|
||
|
||
|