file2gostring.sh 458 B

12345678910111213141516171819202122232425262728
  1. #!/bin/sh
  2. # this file is copied from doozerd.
  3. set -e
  4. munge() {
  5. printf %s "$1" | tr . _ | tr -d -c '[:alnum:]_'
  6. }
  7. quote() {
  8. sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | sed 's/$/\\n/' | tr -d '\n'
  9. }
  10. pkg_path=$1 ; shift
  11. file=$1 ; shift
  12. pkg=`basename $pkg_path`
  13. printf 'package %s\n' "$pkg"
  14. printf '\n'
  15. printf '// This file was generated from %s.\n' "$file"
  16. printf '\n'
  17. printf 'var '
  18. munge "`basename $file`"
  19. printf ' string = "'
  20. quote
  21. printf '"\n'