lib/Tools/keywords
author blanchet
Wed May 21 14:09:42 2014 +0200 (2014-05-21)
changeset 57037 c51132be8e16
parent 52443 725916b7dee5
permissions -rwxr-xr-x
avoid markup-generating @{make_string}
wenzelm@24875
     1
#!/usr/bin/env bash
wenzelm@24875
     2
#
wenzelm@24875
     3
# Author: Makarius
wenzelm@24875
     4
#
wenzelm@52439
     5
# DESCRIPTION: generate keyword files for Emacs Proof General
wenzelm@24875
     6
wenzelm@24875
     7
wenzelm@24875
     8
## diagnostics
wenzelm@24875
     9
wenzelm@24875
    10
PRG="$(basename "$0")"
wenzelm@24875
    11
wenzelm@24875
    12
function usage()
wenzelm@24875
    13
{
wenzelm@24875
    14
  echo
wenzelm@52439
    15
  echo "Usage: isabelle $PRG [OPTIONS] [SESSIONS ...]"
wenzelm@24875
    16
  echo
wenzelm@24875
    17
  echo "  Options are:"
wenzelm@52439
    18
  echo "    -d DIR       include session directory"
wenzelm@24875
    19
  echo "    -k NAME      specific name of keywords collection (default: empty)"
wenzelm@24875
    20
  echo
wenzelm@52439
    21
  echo "  Generate keyword files for Emacs Proof General from Isabelle sessions."
wenzelm@24875
    22
  echo
wenzelm@24875
    23
  exit 1
wenzelm@24875
    24
}
wenzelm@24875
    25
wenzelm@24875
    26
wenzelm@24875
    27
## process command line
wenzelm@24875
    28
wenzelm@24875
    29
# options
wenzelm@24875
    30
wenzelm@52439
    31
declare -a DIRS=()
wenzelm@24875
    32
KEYWORDS_NAME=""
wenzelm@24875
    33
wenzelm@52439
    34
while getopts "d:k:" OPT
wenzelm@24875
    35
do
wenzelm@24875
    36
  case "$OPT" in
wenzelm@52439
    37
    d)
wenzelm@52439
    38
      DIRS["${#DIRS[@]}"]="$OPTARG"
wenzelm@52439
    39
      ;;
wenzelm@24875
    40
    k)
wenzelm@24875
    41
      KEYWORDS_NAME="$OPTARG"
wenzelm@24875
    42
      ;;
wenzelm@24875
    43
    \?)
wenzelm@24875
    44
      usage
wenzelm@24875
    45
      ;;
wenzelm@24875
    46
  esac
wenzelm@24875
    47
done
wenzelm@24875
    48
wenzelm@24875
    49
shift $(($OPTIND - 1))
wenzelm@24875
    50
wenzelm@24875
    51
wenzelm@24875
    52
## main
wenzelm@24875
    53
wenzelm@52443
    54
isabelle_admin_build jars || exit $?
wenzelm@52439
    55
wenzelm@52439
    56
declare -a JAVA_ARGS; eval "JAVA_ARGS=($ISABELLE_BUILD_JAVA_OPTIONS)"
wenzelm@24875
    57
wenzelm@52439
    58
"$ISABELLE_TOOL" java "${JAVA_ARGS[@]}" isabelle.Keywords keywords \
wenzelm@52439
    59
  "$KEYWORDS_NAME" "${DIRS[@]}" $'\n' "$@"
wenzelm@52439
    60