lib/Tools/update_cartouches
author wenzelm
Tue, 20 Oct 2015 23:03:46 +0200
changeset 61492 3480725c71d2
parent 58610 fffdbce036db
child 61579 634cd44bb1d3
permissions -rwxr-xr-x
added isabelle update_cartouches option -t;

#!/usr/bin/env bash
#
# Author: Makarius
#
# DESCRIPTION: update theory syntax to use cartouches


## diagnostics

PRG="$(basename "$0")"

function usage()
{
  echo
  echo "Usage: isabelle $PRG [FILES|DIRS...]"
  echo
  echo "  Options are:"
  echo "    -t           replace @{text} antiquotations within text tokens"
  echo
  echo "  Recursively find .thy files and update theory syntax to use cartouches"
  echo "  instead of old-style {* verbatim *} or \`alt_string\` tokens."
  echo
  echo "  Old versions of files are preserved by appending \"~~\"."
  echo
  exit 1
}


## process command line

# options

TEXT="false"

while getopts "t" OPT
do
  case "$OPT" in
    t)
      TEXT="true"
      ;;
    \?)
      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_Cartouches "$TEXT"