File: otags

package info (click to toggle)
octave2.1 1%3A2.1.73-13
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 37,028 kB
  • ctags: 20,874
  • sloc: cpp: 106,508; fortran: 46,978; ansic: 5,720; sh: 4,800; makefile: 3,186; yacc: 3,132; lex: 2,892; lisp: 1,715; perl: 778; awk: 174; exp: 134
file content (29 lines) | stat: -rw-r--r-- 1,194 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#! /bin/sh

# Generate a TAGS file from a set of Octave .m files for use with Emacs.
#
# Run as '$ otags' in the given Octave directory to generate a
# TAGS file.  If you want to include another directory, add a line
# prior to the "*.m" line containing something like
#  `--include=/path/to/other/directory/TAGS" \'.

# Tags are generated for function names and for global variables. For
# global variables it doesn't work for more than one line global
# variables.  :-(

# Tags are also created for lines of the form '###key foobar' so that
# you can jump to this specific place just by typing `M-. foobar'.
# Note that tags are not generated for scripts so that you have to add
# a line by yourself of the form `###key <script-name>' if you want to
# jump to it.  :-(

# Author: Mario Storti <mstorti@minerva.unl.edu.ar>

etags --lang=none \
      --regex='/[ \t]*function.*=[ \t]*\([^ \t()]*\)[ \t]*(/\1/' \
      --regex='/[ \t]*function.*=[ \t]*\([^ \t()]*\)[ \t]*$/\1/' \
      --regex='/[ \t]*function[ \t]*\([^ \t()]*\)[ \t]*(/\1/' \
      --regex='/[ \t]*function[ \t]*\([^ \t()]*\)[ \t]*$/\1/' \
      --regex='/###key \(.*\)/\1/' \
      --regex='/[ \t]*global[ \t].*/' \
      *.m