diff options
author | Bram Moolenaar <Bram@vim.org> | 2005-01-14 21:53:12 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2005-01-14 21:53:12 +0000 |
commit | 8c711458a6affdad1cbae635694ff0a014850a27 (patch) | |
tree | 1645457d30b263a5eb31ea79bd62230a1cb4caa0 /runtime/tools | |
parent | d8b0273231d69a2a6c24844c1acc938330acf035 (diff) | |
download | vim-git-8c711458a6affdad1cbae635694ff0a014850a27.tar.gz |
updated for version 7.0038v7.0038
Diffstat (limited to 'runtime/tools')
-rwxr-xr-x | runtime/tools/tcltags | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/runtime/tools/tcltags b/runtime/tools/tcltags deleted file mode 100755 index 952415279..000000000 --- a/runtime/tools/tcltags +++ /dev/null @@ -1,159 +0,0 @@ -#!/bin/sh -# vim:ts=4: -# Generates a tag file for TCL code. Slow, but gets the job done. -# -# Written by Darren Hiebert <darren@hiebert.com> - -program_name=`basename $0` -program_version="0.3" -program_author="Darren Hiebert" -author_email="darren@hiebert.com" -tmp_tagfile=/tmp/${program_name}.$$ - -usage="\ -Usage: $program_name [-au] [-{f|o} tagfile] [--format=n] file(s) - -a append to current tag file - -f tagfile specify output tag file name (default=tags) - -o alternative for -f - -u unsorted - --format=n specify tag file format (default=2) - --help print this help message -" - -# defaults -# -append=0 -format=2 -sorted=1 -tagfile=tags -filelist= - -# read options -# -getparam() -{ - if [ -n "$1" ]; then - # set variable to word passed in - echo "$2='$1'; opt=" - else - # set variable to next word on command line - echo "$2="'$1'"; shift" - fi -} - -finished=0 -while [ $# -gt 0 -a $finished -eq 0 ] -do - case "$1" in - --*) - opt=`echo "$1" | cut -c 3-` - shift - opt_name=`echo "$opt" | awk -F= '{print $1}'` - opt_value=`echo "$opt" | awk -F= '{print $2}'` - case "$opt_name" in - format) case "$opt_value" in - 1|2) format=$opt_value;; - *) echo "--$opt: unsupported value" >&2; exit 1;; - esac - ;; - help) echo "$usage"; exit 0;; - *) echo "$opt_name: unsupported option" >&2; exit 1;; - esac - ;; - -*) - # chop off leading '-' - opt=`echo "$1" | cut -c 2-` - shift - while [ -n "$opt" ] - do - opt_char=`echo "$opt" | cut -c 1` - opt=`echo "$opt" | cut -c 2-` - case "$opt_char" in - a) append=1;; - u) sorted=0;; - o|f) eval `getparam "$opt" tagfile`;; - *) echo "$opt: unsupported option" >&2; exit 1;; - esac - done - ;; - *) filelist="$*"; break;; - esac -done - -if [ -z "$filelist" ] ;then - echo "$usage" >&2; exit 1 -fi - -# awk program for generating tags -# -ext_flags="" -ttype="" -if [ $format -eq 2 ] ;then - ext_flags=';\" %s' - ttype=", type" -fi -awkprg=' -function trim_comment(string) { - comment = index(string, "#") - if (comment != 0) - string = substr(string, 0, comment-1) - return string -} -function maketag(tagname, pattern, type, line_end) { - gsub(/\\/, "\\\\", pattern) - gsub(/\//, "\\/", pattern) - if (line_end) - terminator="$" - else - terminator="" - printf("%s\t%s\t/^%s%s/'"$ext_flags"'\n", \ - tagname, FILENAME, pattern, terminator'"$ttype"') -} -$1 == "proc" && $3 ~ /^{/ { - pattern = substr($0, 0, index($0, "{")) - maketag($2, pattern, "f", 0) -} -/^set[ \t]/ && $2 !~ /\(/ { - pattern = substr($0, 0, index($0, $2) + length($2)) - maketag($2, pattern, "v", 0) -} -/^array[ \t]*set[ \t]/ && $3 !~ /\(/ { - pattern = substr($0, 0, index($0, $3) + length($3)) - maketag($3, pattern, "v", 0) -}' - -# add or correct the pseudo tags -# -if [ "$tagfile" != "-" ] ;then - if [ $append -eq 1 ]; then - # ensure existing sort flag is correct - sed -e "/^!_TAG_FILE_SORTED/s/ [01] / $sorted /" \ - -e "/^!_TAG_FILE_FORMAT/s/ 1 / $format /" \ - $tagfile > $tmp_tagfile - else - echo -ne "\ -!_TAG_FILE_FORMAT $format /extended format; --format=1 will not append ;\" to lines/ -!_TAG_FILE_SORTED $sorted /0=unsorted, 1=sorted/ -!_TAG_PROGRAM_AUTHOR $program_author /$author_email/ -!_TAG_PROGRAM_NAME $program_name // -!_TAG_PROGRAM_VERSION $program_version // -" > $tmp_tagfile - fi -fi - -# generate tags -# -awk "$awkprg" $filelist >> $tmp_tagfile - -if [ $sorted -eq 1 ] ;then - sort -u -o $tmp_tagfile $tmp_tagfile -fi - -if [ "$tagfile" = '-' ] ;then - cat $tmp_tagfile -else - cp $tmp_tagfile $tagfile -fi -rm $tmp_tagfile - -exit 0 |