153 lines
2.7 KiB
Bash
Executable file
153 lines
2.7 KiB
Bash
Executable file
#!/bin/sh
|
|
# $LynxId: indent.sh,v 1.6 2021/01/07 00:23:01 tom Exp $
|
|
# Indent LYNX files (for reference). See "lnx-indent" from
|
|
# https://invisible-island.net/cindent/
|
|
NOOP=no
|
|
OPTS='
|
|
--blank-lines-after-declarations
|
|
--blank-lines-after-procedures
|
|
--braces-on-if-line
|
|
--continue-at-parentheses
|
|
--cuddle-else
|
|
--dont-break-procedure-type
|
|
--indent-level4
|
|
--leave-preprocessor-space
|
|
--line-length80
|
|
--no-space-after-function-call-names
|
|
--parameter-indentation4
|
|
--space-after-cast
|
|
--space-special-semicolon
|
|
--swallow-optional-blank-lines
|
|
-T AddressDefList
|
|
-T BOOL
|
|
-T BOOLEAN
|
|
-T CSOfield_info
|
|
-T DIR
|
|
-T DocAddress
|
|
-T DocInfo
|
|
-T DocObj
|
|
-T EntryInfo
|
|
-T EditFieldData
|
|
-T FILE
|
|
-T GCC_NORETURN
|
|
-T GCC_UNUSED
|
|
-T GLOBALREF
|
|
-T GroupDef
|
|
-T GroupDefList
|
|
-T HTAAFailReasonType
|
|
-T HTAAProt
|
|
-T HTAARealm
|
|
-T HTAAServer
|
|
-T HTAssoc
|
|
-T HTAssocList
|
|
-T HTAtom
|
|
-T HTBTElement
|
|
-T HTBTree
|
|
-T HTChildAnchor
|
|
-T HTChunk
|
|
-T HTConverter
|
|
-T HTFormat
|
|
-T HTLine
|
|
-T HTLinkType
|
|
-T HTList
|
|
-T HTParentAnchor
|
|
-T HTParentAnchor0
|
|
-T HTPresentation
|
|
-T HTStream
|
|
-T HTStyle
|
|
-T HTStyleChange
|
|
-T HTStyleSheet
|
|
-T HText
|
|
-T HyperDoc
|
|
-T InitResponseAPDU
|
|
-T Item
|
|
-T ItemList
|
|
-T LYNX_ADDRINFO
|
|
-T LYNX_HOSTENT
|
|
-T LYUCcharset
|
|
-T LexItem
|
|
-T ProgramPaths
|
|
-T STable_cellinfo
|
|
-T STable_info
|
|
-T STable_rowinfo
|
|
-T STable_states
|
|
-T SearchAPDU
|
|
-T SearchResponseAPDU
|
|
-T TextAnchor
|
|
-T UCode_t
|
|
-T UserDefList
|
|
-T WAISDocumentCodes
|
|
-T WAISDocumentHeader
|
|
-T WAISDocumentHeadlines
|
|
-T WAISDocumentLongHeader
|
|
-T WAISDocumentShortHeader
|
|
-T WAISDocumentText
|
|
-T WAISInitResponse
|
|
-T WAISSearch
|
|
-T _cdecl
|
|
-T any
|
|
-T bit_map
|
|
-T boolean
|
|
-T bstring
|
|
-T data_tag
|
|
-T eServerType
|
|
-T lynx_list_item_type
|
|
-T pdu_type
|
|
-T query_term
|
|
-nbacc
|
|
'
|
|
for name in "$@"
|
|
do
|
|
case $name in
|
|
-n) NOOP=yes
|
|
OPTS="$OPTS -v"
|
|
;;
|
|
-*)
|
|
OPTS="$OPTS $name"
|
|
;;
|
|
*.[ch])
|
|
save="${name}".a$$
|
|
test="${name}".b$$
|
|
rm -f "$save" "$test"
|
|
mv "$name" "$save"
|
|
sed \
|
|
-e '/MODULE_ID(/s/)$/);/' \
|
|
-e 's,)[ ]*\<GCC_PRINTFLIKE,);//GCC_PRINTFLIKE,' \
|
|
-e 's,[ ]*\<GCC_NORETURN;,;//GCC_NORETURN;,' \
|
|
-e 's,[ ]*\<GCC_UNUSED;,;//GCC_UNUSED;,' \
|
|
"$save" >"$test"
|
|
cp "$test" "$name"
|
|
chmod u+w "$name"
|
|
${INDENT_PROG-indent} -npro $OPTS "$name"
|
|
sed \
|
|
-e '/MODULE_ID(/s/);$/)/' \
|
|
-e 's,;[ ]*//GCC_UNUSED;, GCC_UNUSED;,' \
|
|
-e 's,;[ ]*//GCC_NORETURN;, GCC_NORETURN;,' \
|
|
-e 's,);[ ]*//GCC_PRINTFLIKE,) GCC_PRINTFLIKE,' \
|
|
"$name" >"$test"
|
|
mv "$test" "$name"
|
|
rm -f "${name}~"
|
|
if test $NOOP = yes ; then
|
|
if ! ( cmp -s "$name" "$save" )
|
|
then
|
|
diff -u "$save" "$name"
|
|
fi
|
|
mv "$save" "$name"
|
|
rm -f "${name}~"
|
|
else
|
|
if ( cmp -s "$name" "$save" )
|
|
then
|
|
echo "** unchanged $name"
|
|
rm -f "${name}" "${name}~"
|
|
mv "$save" "$name"
|
|
else
|
|
echo "** updated $name"
|
|
rm -f "$save"
|
|
fi
|
|
fi
|
|
;;
|
|
*)
|
|
echo "** ignored: $name"
|
|
;;
|
|
esac
|
|
done
|