lib/Tools/update_header
changeset 58872 f0f623005324
child 62446 5b749c31eb97
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/Tools/update_header	Sun Nov 02 16:47:45 2014 +0100
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+#
+# Author: Makarius
+#
+# DESCRIPTION: replace obsolete theory header command
+
+
+## diagnostics
+
+PRG="$(basename "$0")"
+
+function usage()
+{
+  echo
+  echo "Usage: isabelle $PRG [FILES|DIRS...]"
+  echo
+  echo "  Options are:"
+  echo "    -s COMMAND   alternative heading command (default 'section')"
+  echo
+  echo "  Recursively find .thy files and replace obsolete theory header commands"
+  echo "  by 'section' (default), or 'chapter', 'subsection', 'subsubsection'."
+  echo
+  echo "  Old versions of files are preserved by appending \"~~\"."
+  echo
+  exit 1
+}
+
+
+## process command line
+
+#options
+
+SECTION="section"
+
+while getopts "s:" OPT
+do
+  case "$OPT" in
+    s)
+      SECTION="$OPTARG"
+      ;;
+    \?)
+      usage
+      ;;
+  esac
+done
+
+shift $(($OPTIND - 1))
+
+
+# args
+
+[ "$#" -eq 0 -o "$1" = "-?" ] && usage
+
+SPECS="$@"; shift "$#"
+
+
+## main
+
+find $SPECS -name \*.thy -print0 | \
+  xargs -0 "$ISABELLE_TOOL" java isabelle.Update_Header "$SECTION"