indent man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

indent(1)							     indent(1)

NAME
       indent - indent and format a C program source file

SYNOPSIS
       indent input-file [ output-file ] [ [ -bap | -nbap ]
       [ -bacc | -nbacc ] [ -bad | -nbad ] [ -bbb | -nbbb ]
       [ -bc | -nbc ] [ -bl ] [ -br ] [ -bs | -nbs ] [ -cn ]
       [ -cdn ]	 [ -cdb | -ncdb ]  [ -ce | -nce ]  [ -cin ]  [ -clin ] [ -dn ]
       [ -din ] [ -dj | -ndj ] [ -eei | -neei ]
       [ -ei | -nei ] [ -fc1 | -nfc1 ] [ -in ] [ -ip | -nip ]
       [ -ln ]	  [ -lcn ]    [ -lp | -nlp ]	[ -pcs | -npcs ]     [ -npro ]
       [ -psl | -npsl ] [ -sc | -nsc ] [ -sob | -nsob ] [ -st ]
       [ -T typename ] [ -troff ] [ -v | -nv ]

DESCRIPTION
       indent  is  a  C	 program formatter.  It reformats the C program in the
       input-file according to the switches.  The switches which can be speci‐
       fied  are  described  below.   They may appear before or after the file
       names.

       Note: if you only specify an input-file, the formatting	is  done  “in-
       place”, that is, the formatted file is written back into input-file and
       a backup copy of input-file is written in the  current  directory.   If
       input-file is named /blah/blah/file, the backup file is named file.BAK.

       If output-file is specified, indent checks to make sure it is different
       from input-file.

OPTIONS
       The options listed  below  control  the	formatting  style  imposed  by
       indent.

       -bacc,-nbacc
		 If  -bacc  is	specified, a blank line is forced around every
		 conditional compilation block.	  For  example,	 in  front  of
		 every	#ifdef and after every #endif.	Other blank lines sur‐
		 rounding these will be swallowed.  Default: -nbacc.

       -bad,-nbad
		 If -bad is specified, a blank	line  is  forced  after	 every
		 block of declarations.	 Default: -nbad.

       -bap,-nbap
		 If -bap is specified, a blank line is forced after every pro‐
		 cedure body.  Default: -nbap.

       -bbb,-nbbb
		 If -bbb is specified, a blank line  is	 forced	 before	 every
		 block comment.	 Default: -nbbb.

       -bc,-nbc	 If  -bc  is  specified,  then	a NEWLINE is forced after each
		 comma	in  a  declaration.   -nbc  turns  off	this   option.
		 Default: -bc.

       -br,-bl	 Specifying -bl lines up compound statements like this:
			if (...)
			{
					     code
			}

		 Specifying -br (the default) makes them look like this:
			if (...) {
					     code
			}

       -bs,-nbs
	      Enable (disable) the forcing of a blank after sizeof.  Some peo‐
	      ple believe that sizeof should appear as though it were a proce‐
	      dure call (-nbs, the default) and some people believe that since
	      sizeof is an operator, it should always be treated that way  and
	      should always have a blank after it.

       -cn    The column in which comments on code start.
	       Default: -c33.

       -cdn   The  column in which comments on declarations start. The default
	      is for these comments to start in the same column	 as  those  on
	      code.

       -cdb,-ncdb
	      Enable  (disable)	 the  placement of comment delimiters on blank
	      lines.  With this option enabled, comments look like this:
	      /*
	      * this is a comment
	      */

       Rather than like this:

	      /* this is a comment */

       This only affects block comments, not comments to the  right  of	 code.
       Default: -cdb.

       -ce,-nce
	      Enables  (disables)  forcing  else's to cuddle up to the immedi‐
	      ately preceding `}'.  Default: -ce.

       -cin   Sets the continuation indent to be the value of n.  Continuation
	      lines  will be indented the value of n from the beginning of the
	      first line of the	 statement.   Parenthesized  expressions  have
	      extra  indentation  added to indicate the nesting, unless -lp is
	      in effect.  -ci defaults to the same value as -i.

       -clin  Cause case labels to be indented n tab stops to the right of the
	      containing  switch  statement.  -cli0.5 causes case labels to be
	      indented half a tab stop.	 Default: -cli0.

       -dn    Control the placement of comments which are not to the right  of
	      code.  Default:  -d1  means  that	 such  comments are placed one
	      indentation level to the left of code.  Specifying -d0 lines  up
	      these comments with the code.  See the section on comment inden‐
	      tation below.

       -din   Specify the indentation, in character positions, from a declara‐
	      tion keyword to the following identifier. Default: -di16.

       -dj,-ndj
	      -dj  left justifies declarations.	 -ndj indents declarations the
	      same as code.  Default: -ndj.

       -ei,-nei
	      If -ei is enabled, ifs following elses will have the same inden‐
	      tation  as  the  preceding if statement.	If it is disabled, ifs
	      following elses will be indented one extra level. Default: -ei.

       -eei,-neei
	      If -eei is specified, an extra expression indent is  applied  on
	      continuation  lines  of the expression part of if() and while().
	      These continuation lines will be	indented  one  extra  level  —
	      twice  instead  of  just	once.	This is to avoid the confusion
	      between the continued expression and the statement that  follows
	      the if() or while().  Default: -neei.

       -fc1,-nfc1
	      Enables (disables) the formatting of comments that start in col‐
	      umn 1.  Often, comments whose leading `/' is in  column  1  have
	      been carefully hand formatted by the programmer.	In such cases,
	      -nfc1 should be used.  Default: -fc1.

       -in    The number of spaces for one indentation level. The  default  is
	      one tab stop, -i8.

       -ip,-nip
	      Enables  (disables)  the	indentation  of parameter declarations
	      from the left margin.  Default: -ip .

       -ln    Maximum length of	 an  output  line  with	 a  trailing  comment.
	      Default: -l78.

       -lcn   Sets  the	 line  length for block comments to n.	It defaults to
	      being the same as the usual line length as specified with -l.

       -lp,-nlp
	      Lines up code surrounded by parenthesis in  continuation	lines.
	      If  a  line  has	a left parenthesis which is not closed on that
	      line, then continuation lines will be lined up to start  at  the
	      character	 position  just after the left parenthesis.  For exam‐
	      ple, here is how a piece of continued code looks	with  -nlp  in
	      effect:
		     p1 = first_procedure(second_procedure(p2, p3),
			      third_procedure(p4, p5));

	      With  -lp	 in  effect  (the  default)  the  code	looks somewhat
	      clearer:
		     p1 = first_procedure(second_procedure(p2, p3),
				      third_procedure(p4, p5));

	      Inserting a couple more NEWLINE characters we get:
		     p1 = first_procedure(second_procedure(p2,
						  p3),
				      third_procedure(p4,
						p5));

	      This example was generated with -lp.

       -npro  Ignore the profile files, ./.indent.pro and ~/.indent.pro.

       -pcs , -npcs
	      If true (-pcs) all  procedure  calls  and	 declarations  in  the
	      source  code will have a space inserted between the name and the
	      '('.  Default: -npcs

       -psl , -npsl
	      If true (-psl) the names of procedures being defined are	placed
	      in  column 1 — their types, if any, will be left on the previous
	      lines. Default: -psl.

       -sc,-nsc
	      Enables (disables) the placement of asterisks (`*'s) at the left
	      edge of all comments. Default: -sc.

       -sob,-nsob
	      If  -sob is specified, indent will swallow optional blank lines.
	      You can use this to get rid of blank lines  after	 declarations.
	      Default: -nsob.

       -st    indent takes its input from the standard input, and put its out‐
	      put to the standard output.

       -T typename
	      Add typename to the list of type keywords.  Names accumulate: -T
	      can  be  specified  more than once.  You need to specify all the
	      typenames that appear in your program that are defined by	 type‐
	      defs — nothing will be harmed if you miss a few, but the program
	      won't be formatted as nicely as it should.  This sounds  like  a
	      painful  thing  to  have	to do, but it is really a symptom of a
	      problem in C: typedef causes a syntactic change in the  language
	      and indent cannot find all typedefs.

       -troff Causes indent to format the program for processing by troff.  It
	      will produce a fancy listing in much the same spirit as  vgrind.
	      If  the  output  file  is not specified, the default is standard
	      output, rather than formatting in place.	The usual way to get a
	      troffed listing is with the command

		     indent -troff program.c | troff -mindent

       -v,-nv -v  turns	 on “verbose” mode, -nv turns it off.  When in verbose
	      mode, indent reports when it splits one line of input  into  two
	      or  more lines of output, and gives some size statistics at com‐
	      pletion. Default: -nv.

USAGE
       You may set up your own “profile” of defaults to indent by  creating  a
       file  called  .indent.pro in either your login directory or the current
       directory and including whatever switches you like.  An .indent.pro  in
       the  current  directory	takes  precedence  over	 the one in your login
       directory.  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, always override profile switches.  The switches should be sepa‐
       rated by SPACE, TAB, or NEWLINE characters.

   Comments
       Boxed	      indent  assumes  that  any  comment  with a dash or star
		      immediately  after  the  start  of  comment  (that   is,
		      `/*-'or`/**') is a comment surrounded by a box of stars.
		      Each line of such a comment is  left  unchanged,	except
		      that  its indentation may be adjusted to account for the
		      change in indentation of the first line of the comment.

       Straight text  All other comments are treated as straight text.	indent
		      fits  as many words (separated by SPACE, TAB, or NEWLINE
		      characters) on a line as possible.   Blank  lines	 break
		      paragraphs.

   Comment indentation
       If  a  comment is on a line with code it is started in the comment col‐
       umn, which is set by the -cn command line  parameter.   Otherwise,  the
       comment is started at n indentation levels less than where code is cur‐
       rently being placed, where n is	specified  by  the  -dn	 command  line
       parameter.   If the code on a line extends past the comment column, the
       comment starts further to the right, and the right margin may be	 auto‐
       matically extended in extreme cases.

   Preprocessor lines
       In general, indent leaves preprocessor lines alone.  The only reformat‐
       ting that it will do is to straighten up trailing comments.  It	leaves
       imbedded	 comments alone.  Conditional compilation (#ifdef...#endif) is
       recognized and indent attempts to correctly compensate for the  syntac‐
       tic peculiarities introduced.

   C syntax
       indent  understands  a substantial amount about the syntax of C, but it
       has a “forgiving” parser.  It attempts to cope with the usual sorts  of
       incomplete  and	misformed  syntax.   In	 particular, the use of macros
       like:

	      #define forever for(;;)

       is handled properly.

   /*INDENT OFF*/ /*INDENT ON*/
       All text between these two comments gets left  alone.  Therefore,  when
       you  put source code between these comments, it will not be affected by
       the reformatting.

FILES
       ./.indent.pro	   profile file
       ~/.indent.pro	   profile file
SEE ALSO
       troff(1)
BUGS
       A common mistake that often causes grief is typing:
	      indent *.c
       to the shell in an attempt to indent all the C programs in a directory.

				  March 1998			     indent(1)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net