ncurses 5.5
[ncurses.git] / misc / ncu-indent
1 #!/bin/sh
2 # $Id: ncu-indent,v 1.12 2004/11/23 00:45:48 tom Exp $
3 NOOP=no
4 OPTS='
5 --blank-lines-after-procedures
6 --braces-on-if-line
7 --continuation-indentation0
8 --continue-at-parentheses
9 --cuddle-else
10 --indent-level4
11 --leave-preprocessor-space
12 --no-blank-lines-after-commas
13 --no-blank-lines-after-declarations
14 --no-space-after-function-call-names
15 --procnames-start-lines
16 --space-special-semicolon
17 --swallow-optional-blank-lines
18 --tab-size8
19
20 -T NCURSES_EXPORT_VAR
21 -T SCREEN
22 -T TERMTYPE
23 -T attr_t
24 -T cchar_t
25 -T chtype
26 -T inline
27 -T wchar_t
28 -T wint_t
29
30 -T BUFFER
31 -T CHARTYPE
32 -T FILE
33 -T GCC_NORETURN
34 -T LINE
35 -T MARK
36 -T RETSIGTYPE 
37 -T TBUFF
38 -T WINDOW
39 -T size_t
40 -T va_list
41
42 -T Cardinal
43 -T Widget
44 -T XtPointer
45 '
46 for name in $*
47 do
48         case $name in
49         -v|-n)
50                 NOOP=yes
51                 OPTS="$OPTS -v"
52                 ;;
53         -*)
54                 OPTS="$OPTS $name"
55                 ;;
56         *.[ch])
57                 save="${name}".a$$
58                 test="${name}".b$$
59                 rm -f "$save" "$test"
60                 mv "$name" "$save"
61                 sed \
62                         -e '/MODULE_ID(/s/)$/);/' \
63                         -e 's,\<GCC_NORETURN;,;//GCC_NORETURN;,' \
64                         -e 's,\(\<NCURSES_EXPORT_VAR\>\),//\1,' \
65                         "$save" >"$test"
66                 cp "$test" "$name"
67                 chmod u+w "$name"
68                 # ${INDENT_PROG-indent} --version
69                 ${INDENT_PROG-indent} -npro $OPTS "$name"
70                 sed \
71                         -e '/MODULE_ID(/s/);$/)/' \
72                         -e 's,;[        ]*//GCC_NORETURN;, GCC_NORETURN;,' \
73                         -e 's,//\(\<NCURSES_EXPORT_VAR\>\),\1,' \
74                         "$name" >"$test"
75                 mv "$test" "$name"
76                 rm -f "${name}~"
77                 if test $NOOP = yes ; then
78                         if (cmp -s "$name" "$save" ) then
79                                 echo "** no change: $name"
80                         else
81                                 diff -u "$save" "$name"
82                         fi
83                         rm -f "$name"
84                         mv "$save" "$name"
85                 elif ( cmp -s "$name" "$save" ) ; then
86                         echo "** unchanged $name"
87                         rm -f "${name}"
88                         mv "$save" "$name"
89                 else
90                         echo "** updated $name"
91                         rm -f "$save"
92                 fi
93                 ;;
94         *)
95                 echo "** ignored:   $name"
96                 ;;
97         esac
98 done