ctags.rb 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -0
- data/Rakefile +23 -0
- data/ctags.rb.gemspec +23 -0
- data/ext/.gitignore +3 -0
- data/ext/extconf.rb +15 -0
- data/ext/vendor/exuberant-ctags/.gitignore +6 -0
- data/ext/vendor/exuberant-ctags/.indent.pro +31 -0
- data/ext/vendor/exuberant-ctags/COPYING +340 -0
- data/ext/vendor/exuberant-ctags/EXTENDING.html +386 -0
- data/ext/vendor/exuberant-ctags/FAQ +371 -0
- data/ext/vendor/exuberant-ctags/INSTALL +215 -0
- data/ext/vendor/exuberant-ctags/INSTALL.oth +73 -0
- data/ext/vendor/exuberant-ctags/MAINTAINERS +88 -0
- data/ext/vendor/exuberant-ctags/Makefile.in +222 -0
- data/ext/vendor/exuberant-ctags/NEWS +871 -0
- data/ext/vendor/exuberant-ctags/README +73 -0
- data/ext/vendor/exuberant-ctags/ant.c +42 -0
- data/ext/vendor/exuberant-ctags/argproc.c +505 -0
- data/ext/vendor/exuberant-ctags/args.c +274 -0
- data/ext/vendor/exuberant-ctags/args.h +63 -0
- data/ext/vendor/exuberant-ctags/asm.c +387 -0
- data/ext/vendor/exuberant-ctags/asp.c +328 -0
- data/ext/vendor/exuberant-ctags/awk.c +81 -0
- data/ext/vendor/exuberant-ctags/basic.c +203 -0
- data/ext/vendor/exuberant-ctags/beta.c +321 -0
- data/ext/vendor/exuberant-ctags/c.c +2932 -0
- data/ext/vendor/exuberant-ctags/cobol.c +50 -0
- data/ext/vendor/exuberant-ctags/config.h.in +277 -0
- data/ext/vendor/exuberant-ctags/configure +7704 -0
- data/ext/vendor/exuberant-ctags/configure.ac +532 -0
- data/ext/vendor/exuberant-ctags/ctags.1 +1186 -0
- data/ext/vendor/exuberant-ctags/ctags.h +28 -0
- data/ext/vendor/exuberant-ctags/ctags.html +2087 -0
- data/ext/vendor/exuberant-ctags/ctags.spec +40 -0
- data/ext/vendor/exuberant-ctags/debug.c +113 -0
- data/ext/vendor/exuberant-ctags/debug.h +70 -0
- data/ext/vendor/exuberant-ctags/descrip.mms +68 -0
- data/ext/vendor/exuberant-ctags/dosbatch.c +42 -0
- data/ext/vendor/exuberant-ctags/e_amiga.h +24 -0
- data/ext/vendor/exuberant-ctags/e_djgpp.h +47 -0
- data/ext/vendor/exuberant-ctags/e_mac.h +143 -0
- data/ext/vendor/exuberant-ctags/e_msoft.h +76 -0
- data/ext/vendor/exuberant-ctags/e_os2.h +37 -0
- data/ext/vendor/exuberant-ctags/e_qdos.h +34 -0
- data/ext/vendor/exuberant-ctags/e_riscos.h +58 -0
- data/ext/vendor/exuberant-ctags/e_vms.h +31 -0
- data/ext/vendor/exuberant-ctags/eiffel.c +1352 -0
- data/ext/vendor/exuberant-ctags/entry.c +847 -0
- data/ext/vendor/exuberant-ctags/entry.h +103 -0
- data/ext/vendor/exuberant-ctags/erlang.c +189 -0
- data/ext/vendor/exuberant-ctags/flex.c +2243 -0
- data/ext/vendor/exuberant-ctags/fortran.c +2197 -0
- data/ext/vendor/exuberant-ctags/general.h +127 -0
- data/ext/vendor/exuberant-ctags/get.c +669 -0
- data/ext/vendor/exuberant-ctags/get.h +50 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/all-wcprops +47 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/entries +112 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/README.txt.svn-base +5 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regcomp.c.svn-base +3818 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.c.svn-base +74 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.h.svn-base +575 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.c.svn-base +1713 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.h.svn-base +773 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regexec.c.svn-base +4338 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/README.txt +5 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regcomp.c +3818 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex.c +74 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex.h +575 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex_internal.c +1713 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regex_internal.h +773 -0
- data/ext/vendor/exuberant-ctags/gnu_regex/regexec.c +4338 -0
- data/ext/vendor/exuberant-ctags/html.c +49 -0
- data/ext/vendor/exuberant-ctags/jscript.c +1572 -0
- data/ext/vendor/exuberant-ctags/keyword.c +258 -0
- data/ext/vendor/exuberant-ctags/keyword.h +34 -0
- data/ext/vendor/exuberant-ctags/lisp.c +139 -0
- data/ext/vendor/exuberant-ctags/lregex.c +704 -0
- data/ext/vendor/exuberant-ctags/lua.c +133 -0
- data/ext/vendor/exuberant-ctags/mac.c +273 -0
- data/ext/vendor/exuberant-ctags/magic.diff +21 -0
- data/ext/vendor/exuberant-ctags/main.c +584 -0
- data/ext/vendor/exuberant-ctags/main.h +32 -0
- data/ext/vendor/exuberant-ctags/maintainer.mak +476 -0
- data/ext/vendor/exuberant-ctags/make.c +217 -0
- data/ext/vendor/exuberant-ctags/matlab.c +44 -0
- data/ext/vendor/exuberant-ctags/mk_bc3.mak +46 -0
- data/ext/vendor/exuberant-ctags/mk_bc5.mak +49 -0
- data/ext/vendor/exuberant-ctags/mk_djg.mak +18 -0
- data/ext/vendor/exuberant-ctags/mk_manx.mak +65 -0
- data/ext/vendor/exuberant-ctags/mk_mingw.mak +31 -0
- data/ext/vendor/exuberant-ctags/mk_mpw.mak +130 -0
- data/ext/vendor/exuberant-ctags/mk_mvc.mak +40 -0
- data/ext/vendor/exuberant-ctags/mk_os2.mak +104 -0
- data/ext/vendor/exuberant-ctags/mk_qdos.mak +100 -0
- data/ext/vendor/exuberant-ctags/mk_sas.mak +63 -0
- data/ext/vendor/exuberant-ctags/mkinstalldirs +40 -0
- data/ext/vendor/exuberant-ctags/ocaml.c +1842 -0
- data/ext/vendor/exuberant-ctags/options.c +1842 -0
- data/ext/vendor/exuberant-ctags/options.h +155 -0
- data/ext/vendor/exuberant-ctags/parse.c +677 -0
- data/ext/vendor/exuberant-ctags/parse.h +129 -0
- data/ext/vendor/exuberant-ctags/parsers.h +63 -0
- data/ext/vendor/exuberant-ctags/pascal.c +267 -0
- data/ext/vendor/exuberant-ctags/perl.c +382 -0
- data/ext/vendor/exuberant-ctags/php.c +237 -0
- data/ext/vendor/exuberant-ctags/python.c +771 -0
- data/ext/vendor/exuberant-ctags/qdos.c +106 -0
- data/ext/vendor/exuberant-ctags/read.c +569 -0
- data/ext/vendor/exuberant-ctags/read.h +116 -0
- data/ext/vendor/exuberant-ctags/readtags.c +959 -0
- data/ext/vendor/exuberant-ctags/readtags.h +252 -0
- data/ext/vendor/exuberant-ctags/rexx.c +39 -0
- data/ext/vendor/exuberant-ctags/routines.c +891 -0
- data/ext/vendor/exuberant-ctags/routines.h +134 -0
- data/ext/vendor/exuberant-ctags/ruby.c +408 -0
- data/ext/vendor/exuberant-ctags/scheme.c +111 -0
- data/ext/vendor/exuberant-ctags/sh.c +115 -0
- data/ext/vendor/exuberant-ctags/slang.c +41 -0
- data/ext/vendor/exuberant-ctags/sml.c +212 -0
- data/ext/vendor/exuberant-ctags/sort.c +230 -0
- data/ext/vendor/exuberant-ctags/sort.h +32 -0
- data/ext/vendor/exuberant-ctags/source.mak +122 -0
- data/ext/vendor/exuberant-ctags/sql.c +2112 -0
- data/ext/vendor/exuberant-ctags/strlist.c +281 -0
- data/ext/vendor/exuberant-ctags/strlist.h +54 -0
- data/ext/vendor/exuberant-ctags/tcl.c +116 -0
- data/ext/vendor/exuberant-ctags/tex.c +524 -0
- data/ext/vendor/exuberant-ctags/verilog.c +340 -0
- data/ext/vendor/exuberant-ctags/vhdl.c +835 -0
- data/ext/vendor/exuberant-ctags/vim.c +636 -0
- data/ext/vendor/exuberant-ctags/vstring.c +232 -0
- data/ext/vendor/exuberant-ctags/vstring.h +85 -0
- data/ext/vendor/exuberant-ctags/yacc.c +40 -0
- data/lib/ctags/exuberant.rb +45 -0
- data/lib/ctags/version.rb +3 -0
- data/lib/ctags.rb +6 -0
- data/test/test_ctags.rb +24 -0
- metadata +233 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
Summary: Exuberant Ctags - a multi-language source code indexing tool
|
2
|
+
Name: ctags
|
3
|
+
Version: @VERSION@
|
4
|
+
Release: 1
|
5
|
+
License: GPL
|
6
|
+
Group: Development/Tools
|
7
|
+
Source: http://prdownloads.sourceforge.net/ctags/ctags-%{version}.tar.gz
|
8
|
+
URL: http://ctags.sourceforge.net
|
9
|
+
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
10
|
+
|
11
|
+
%description
|
12
|
+
Exuberant Ctags generates an index (or tag) file of language objects
|
13
|
+
found in source files for many popular programming languages. This index
|
14
|
+
makes it easy for text editors and other tools to locate the indexed
|
15
|
+
items. Exuberant Ctags improves on traditional ctags because of its
|
16
|
+
multilanguage support, its ability for the user to define new languages
|
17
|
+
searched by regular expressions, and its ability to generate emacs-style
|
18
|
+
TAGS files.
|
19
|
+
|
20
|
+
Install ctags if you are going to use your system for programming.
|
21
|
+
|
22
|
+
%prep
|
23
|
+
%setup -q
|
24
|
+
|
25
|
+
%build
|
26
|
+
%configure
|
27
|
+
make
|
28
|
+
|
29
|
+
%install
|
30
|
+
rm -rf $RPM_BUILD_ROOT
|
31
|
+
%makeinstall
|
32
|
+
|
33
|
+
%clean
|
34
|
+
rm -rf $RPM_BUILD_ROOT
|
35
|
+
|
36
|
+
%files
|
37
|
+
%defattr(-,root,root)
|
38
|
+
%doc COPYING EXTENDING.html FAQ NEWS README ctags.html
|
39
|
+
%{_bindir}/ctags
|
40
|
+
%{_mandir}/man1/ctags*
|
@@ -0,0 +1,113 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: debug.c 558 2007-06-15 19:17:02Z elliotth $
|
3
|
+
*
|
4
|
+
* Copyright (c) 1996-2002, Darren Hiebert
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* This module contains debugging functions.
|
10
|
+
*/
|
11
|
+
|
12
|
+
/*
|
13
|
+
* INCLUDE FILES
|
14
|
+
*/
|
15
|
+
#include "general.h" /* must always come first */
|
16
|
+
|
17
|
+
#include <ctype.h>
|
18
|
+
#include <stdarg.h>
|
19
|
+
|
20
|
+
#include "debug.h"
|
21
|
+
#include "options.h"
|
22
|
+
#include "read.h"
|
23
|
+
|
24
|
+
/*
|
25
|
+
* FUNCTION DEFINITIONS
|
26
|
+
*/
|
27
|
+
|
28
|
+
#ifdef DEBUG
|
29
|
+
|
30
|
+
extern void lineBreak (void) {} /* provides a line-specified break point */
|
31
|
+
|
32
|
+
extern void debugPrintf (
|
33
|
+
const enum eDebugLevels level, const char *const format, ... )
|
34
|
+
{
|
35
|
+
va_list ap;
|
36
|
+
|
37
|
+
va_start (ap, format);
|
38
|
+
if (debug (level))
|
39
|
+
vprintf (format, ap);
|
40
|
+
fflush (stdout);
|
41
|
+
va_end (ap);
|
42
|
+
}
|
43
|
+
|
44
|
+
extern void debugPutc (const int level, const int c)
|
45
|
+
{
|
46
|
+
if (debug (level) && c != EOF)
|
47
|
+
{
|
48
|
+
if (c == STRING_SYMBOL) printf ("\"string\"");
|
49
|
+
else if (c == CHAR_SYMBOL) printf ("'c'");
|
50
|
+
else putchar (c);
|
51
|
+
|
52
|
+
fflush (stdout);
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
extern void debugParseNest (const boolean increase, const unsigned int level)
|
57
|
+
{
|
58
|
+
debugPrintf (DEBUG_PARSE, "<*%snesting:%d*>", increase ? "++" : "--", level);
|
59
|
+
}
|
60
|
+
|
61
|
+
extern void debugCppNest (const boolean begin, const unsigned int level)
|
62
|
+
{
|
63
|
+
debugPrintf (DEBUG_CPP, "<*cpp:%s level %d*>", begin ? "begin":"end", level);
|
64
|
+
}
|
65
|
+
|
66
|
+
extern void debugCppIgnore (const boolean ignore)
|
67
|
+
{
|
68
|
+
debugPrintf (DEBUG_CPP, "<*cpp:%s ignore*>", ignore ? "begin":"end");
|
69
|
+
}
|
70
|
+
|
71
|
+
extern void debugEntry (const tagEntryInfo *const tag)
|
72
|
+
{
|
73
|
+
const char *const scope = tag->isFileScope ? "{fs}" : "";
|
74
|
+
|
75
|
+
if (debug (DEBUG_PARSE))
|
76
|
+
{
|
77
|
+
printf ("<#%s%s:%s", scope, tag->kindName, tag->name);
|
78
|
+
|
79
|
+
if (tag->extensionFields.scope [0] != NULL &&
|
80
|
+
tag->extensionFields.scope [1] != NULL)
|
81
|
+
printf (" [%s:%s]", tag->extensionFields.scope [0],
|
82
|
+
tag->extensionFields.scope [1]);
|
83
|
+
|
84
|
+
if (Option.extensionFields.inheritance &&
|
85
|
+
tag->extensionFields.inheritance != NULL)
|
86
|
+
printf (" [inherits:%s]", tag->extensionFields.inheritance);
|
87
|
+
|
88
|
+
if (Option.extensionFields.fileScope &&
|
89
|
+
tag->isFileScope && ! isHeaderFile ())
|
90
|
+
printf (" [file:]");
|
91
|
+
|
92
|
+
if (Option.extensionFields.access &&
|
93
|
+
tag->extensionFields.access != NULL)
|
94
|
+
printf (" [access:%s]", tag->extensionFields.access);
|
95
|
+
|
96
|
+
if (Option.extensionFields.implementation &&
|
97
|
+
tag->extensionFields.implementation != NULL)
|
98
|
+
printf (" [imp:%s]", tag->extensionFields.implementation);
|
99
|
+
|
100
|
+
if (Option.extensionFields.typeRef &&
|
101
|
+
tag->extensionFields.typeRef [0] != NULL &&
|
102
|
+
tag->extensionFields.typeRef [1] != NULL)
|
103
|
+
printf (" [%s:%s]", tag->extensionFields.typeRef [0],
|
104
|
+
tag->extensionFields.typeRef [1]);
|
105
|
+
|
106
|
+
printf ("#>");
|
107
|
+
fflush (stdout);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
#endif
|
112
|
+
|
113
|
+
/* vi:set tabstop=4 shiftwidth=4: */
|
@@ -0,0 +1,70 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: debug.h 558 2007-06-15 19:17:02Z elliotth $
|
3
|
+
*
|
4
|
+
* Copyright (c) 1998-2002, Darren Hiebert
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* External interface to debug.c
|
10
|
+
*/
|
11
|
+
#ifndef _DEBUG_H
|
12
|
+
#define _DEBUG_H
|
13
|
+
|
14
|
+
/*
|
15
|
+
* Include files
|
16
|
+
*/
|
17
|
+
#include "general.h" /* must always come first */
|
18
|
+
|
19
|
+
#ifdef DEBUG
|
20
|
+
# include <assert.h>
|
21
|
+
#endif
|
22
|
+
#include "entry.h"
|
23
|
+
|
24
|
+
/*
|
25
|
+
* Macros
|
26
|
+
*/
|
27
|
+
|
28
|
+
#ifdef DEBUG
|
29
|
+
# define debug(level) ((Option.debugLevel & (long)(level)) != 0)
|
30
|
+
# define DebugStatement(x) x
|
31
|
+
# define PrintStatus(x) if (debug(DEBUG_STATUS)) printf x;
|
32
|
+
# define Assert(c) assert(c)
|
33
|
+
#else
|
34
|
+
# define DebugStatement(x)
|
35
|
+
# define PrintStatus(x)
|
36
|
+
# define Assert(c)
|
37
|
+
# ifndef NDEBUG
|
38
|
+
# define NDEBUG
|
39
|
+
# endif
|
40
|
+
#endif
|
41
|
+
|
42
|
+
/*
|
43
|
+
* Data declarations
|
44
|
+
*/
|
45
|
+
|
46
|
+
/* Defines the debugging levels.
|
47
|
+
*/
|
48
|
+
enum eDebugLevels {
|
49
|
+
DEBUG_READ = 0x01, /* echo raw (filtered) characters */
|
50
|
+
DEBUG_PARSE = 0x02, /* echo parsing results */
|
51
|
+
DEBUG_STATUS = 0x04, /* echo file status information */
|
52
|
+
DEBUG_OPTION = 0x08, /* echo option parsing */
|
53
|
+
DEBUG_CPP = 0x10, /* echo characters out of pre-processor */
|
54
|
+
DEBUG_RAW = 0x20 /* echo raw (filtered) characters */
|
55
|
+
};
|
56
|
+
|
57
|
+
/*
|
58
|
+
* Function prototypes
|
59
|
+
*/
|
60
|
+
extern void lineBreak (void);
|
61
|
+
extern void debugPrintf (const enum eDebugLevels level, const char *const format, ...) __printf__ (2, 3);
|
62
|
+
extern void debugPutc (const int level, const int c);
|
63
|
+
extern void debugParseNest (const boolean increase, const unsigned int level);
|
64
|
+
extern void debugCppNest (const boolean begin, const unsigned int level);
|
65
|
+
extern void debugCppIgnore (const boolean ignore);
|
66
|
+
extern void debugEntry (const tagEntryInfo *const tag);
|
67
|
+
|
68
|
+
#endif /* _DEBUG_H */
|
69
|
+
|
70
|
+
/* vi:set tabstop=4 shiftwidth=4: */
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# $Id: descrip.mms 2 2001-11-02 04:53:43Z darren $
|
2
|
+
#
|
3
|
+
# Makefile for building CTAGS under OpenVMS
|
4
|
+
#
|
5
|
+
# Maintained by by Zoltan Arpadffy <arpadffy@altavista.net>
|
6
|
+
#
|
7
|
+
# Edit the lines in the Configuration section below to select.
|
8
|
+
|
9
|
+
######################################################################
|
10
|
+
# Configuration section.
|
11
|
+
######################################################################
|
12
|
+
# Compiler selection.
|
13
|
+
# Comment out if you use the VAXC compiler
|
14
|
+
######################################################################
|
15
|
+
DECC = YES
|
16
|
+
|
17
|
+
######################################################################
|
18
|
+
# Uncomment if want a debug version. Resulting executable is DCTAGS.EXE
|
19
|
+
######################################################################
|
20
|
+
# DEBUG = YES
|
21
|
+
|
22
|
+
######################################################################
|
23
|
+
# End of configuration section.
|
24
|
+
#
|
25
|
+
# Please, do not change anything below without programming experience.
|
26
|
+
######################################################################
|
27
|
+
|
28
|
+
CC = cc
|
29
|
+
|
30
|
+
.IFDEF DECC
|
31
|
+
CC_DEF = $(CC)/decc/prefix=all
|
32
|
+
.ELSE
|
33
|
+
CC_DEF = $(CC)
|
34
|
+
.ENDIF
|
35
|
+
|
36
|
+
LD_DEF = link
|
37
|
+
|
38
|
+
.IFDEF DEBUG
|
39
|
+
TARGET = dctags.exe
|
40
|
+
CFLAGS = /debug/noopt/list/cross_reference/include=[]
|
41
|
+
LDFLAGS = /debug
|
42
|
+
.ELSE
|
43
|
+
TARGET = ctags.exe
|
44
|
+
CFLAGS = /include=[]
|
45
|
+
LDFLAGS =
|
46
|
+
.ENDIF
|
47
|
+
|
48
|
+
OBJEXT = obj
|
49
|
+
|
50
|
+
.SUFFIXES : .obj .c
|
51
|
+
|
52
|
+
.INCLUDE source.mak
|
53
|
+
|
54
|
+
EXTRA_OBJS = argproc.obj
|
55
|
+
|
56
|
+
all : $(TARGET)
|
57
|
+
! $@
|
58
|
+
|
59
|
+
.c.obj :
|
60
|
+
$(CC_DEF) $(CFLAGS) $<
|
61
|
+
|
62
|
+
$(TARGET) : $(OBJECTS) $(EXTRA_OBJS)
|
63
|
+
$(LD_DEF) $(LDFLAGS) /exe=$(TARGET) $+
|
64
|
+
|
65
|
+
clean :
|
66
|
+
-@ if F$SEARCH("*.obj") .NES. "" then delete/noconfirm/nolog *.obj.*
|
67
|
+
-@ if F$SEARCH("*.exe") .NES. "" then delete/noconfirm/nolog *.exe.*
|
68
|
+
-@ if F$SEARCH("config.h") .NES. "" then delete/noconfirm/nolog config.h.*
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/*
|
2
|
+
* $Id$
|
3
|
+
*
|
4
|
+
* Copyright (c) 2009, David Fishburn
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* This module contains functions for generating tags for DOS Batch language files.
|
10
|
+
*/
|
11
|
+
|
12
|
+
/*
|
13
|
+
* INCLUDE FILES
|
14
|
+
*/
|
15
|
+
#include "general.h" /* must always come first */
|
16
|
+
|
17
|
+
#include <string.h>
|
18
|
+
#include "parse.h"
|
19
|
+
|
20
|
+
/*
|
21
|
+
* FUNCTION DEFINITIONS
|
22
|
+
*/
|
23
|
+
|
24
|
+
static void installDosBatchRegex (const langType language)
|
25
|
+
{
|
26
|
+
addTagRegex (language,
|
27
|
+
"^:([A-Za-z_0-9]+)", "\\1", "l,label,labels", NULL);
|
28
|
+
addTagRegex (language,
|
29
|
+
"set[ \t]+([A-Za-z_0-9]+)[ \t]*=", "\\1", "v,variable,variables", NULL);
|
30
|
+
}
|
31
|
+
|
32
|
+
extern parserDefinition* DosBatchParser ()
|
33
|
+
{
|
34
|
+
static const char *const extensions [] = { "bat", "cmd", NULL };
|
35
|
+
parserDefinition* const def = parserNew ("DosBatch");
|
36
|
+
def->extensions = extensions;
|
37
|
+
def->initialize = installDosBatchRegex;
|
38
|
+
def->regex = TRUE;
|
39
|
+
return def;
|
40
|
+
}
|
41
|
+
|
42
|
+
/* vi:set tabstop=4 shiftwidth=4: */
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: e_amiga.h 136 2002-03-08 22:35:19Z darren $
|
3
|
+
*
|
4
|
+
* Copyright (c) 2002, Darren Hiebert
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* Configures ctags for Amiga environment.
|
10
|
+
*/
|
11
|
+
#ifndef E_AMIGA_H
|
12
|
+
#define E_AMIGA_H
|
13
|
+
|
14
|
+
#define HAVE_STDLIB_H 1
|
15
|
+
#define HAVE_SYS_STAT_H 1
|
16
|
+
#define HAVE_SYS_TYPES_H 1
|
17
|
+
#define HAVE_TIME_H 1
|
18
|
+
#define HAVE_CLOCK 1
|
19
|
+
#define HAVE_FGETPOS 1
|
20
|
+
#define HAVE_STRERROR 1
|
21
|
+
#define HAVE_STRICMP 1
|
22
|
+
#define HAVE_STRNICMP 1
|
23
|
+
|
24
|
+
#endif
|
@@ -0,0 +1,47 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: e_djgpp.h 375 2003-10-31 04:15:35Z darren $
|
3
|
+
*
|
4
|
+
* Copyright (c) 2002-2003, Darren Hiebert
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* Configures ctags for DJGPP environment.
|
10
|
+
*/
|
11
|
+
#ifndef E_DJGPP_H
|
12
|
+
#define E_DJGPP_H
|
13
|
+
|
14
|
+
#define CASE_INSENSITIVE_FILENAMES 1
|
15
|
+
#define MSDOS_STYLE_PATH 1
|
16
|
+
|
17
|
+
#define HAVE_DIR_H 1
|
18
|
+
#define HAVE_DIRENT_H 1
|
19
|
+
#define HAVE_FCNTL_H 1
|
20
|
+
#define HAVE_FNMATCH_H 1
|
21
|
+
#define HAVE_STDLIB_H 1
|
22
|
+
#define HAVE_STRING_H 1
|
23
|
+
#define HAVE_SYS_DIR_H 1
|
24
|
+
#define HAVE_SYS_STAT_H 1
|
25
|
+
#define HAVE_SYS_TIMES_H 1
|
26
|
+
#define HAVE_SYS_TYPES_H 1
|
27
|
+
#define HAVE_TIME_H 1
|
28
|
+
#define HAVE_UNISTD_H 1
|
29
|
+
|
30
|
+
#define HAVE_CLOCK 1
|
31
|
+
#define HAVE_FGETPOS 1
|
32
|
+
#define HAVE_FNMATCH 1
|
33
|
+
#define HAVE_MKSTEMP 1
|
34
|
+
#define HAVE_OPENDIR 1
|
35
|
+
#define HAVE_REGCOMP 1
|
36
|
+
#define HAVE_REMOVE 1
|
37
|
+
#define HAVE_SETENV 1
|
38
|
+
#define HAVE_STAT_ST_INO 1
|
39
|
+
#define HAVE_STRCASECMP 1
|
40
|
+
#define HAVE_STRERROR 1
|
41
|
+
#define HAVE_STRNCASECMP 1
|
42
|
+
#define HAVE_STRSTR 1
|
43
|
+
#define HAVE_TRUNCATE 1
|
44
|
+
#define NEED_PROTO_LSTAT 1
|
45
|
+
#define STDC_HEADERS 1
|
46
|
+
|
47
|
+
#endif
|
@@ -0,0 +1,143 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: e_mac.h 443 2006-05-30 04:37:13Z darren $
|
3
|
+
*
|
4
|
+
* Copyright (c) 2001, Maarten L. Hekkelman
|
5
|
+
*
|
6
|
+
* Author: Maarten L. Hekkelman <maarten@hekkelman.com>
|
7
|
+
* http://www.hekkelman.com
|
8
|
+
*
|
9
|
+
* This source code is released for free distribution under the terms of the
|
10
|
+
* GNU General Public License. It is provided on an as-is basis and no
|
11
|
+
* responsibility is accepted for its failure to perform as expected.
|
12
|
+
*
|
13
|
+
* Configures ctags for Macintosh environment.
|
14
|
+
*/
|
15
|
+
#ifndef E_MAC_H
|
16
|
+
#define E_MAC_H
|
17
|
+
|
18
|
+
#define BUILD_MPW_TOOL 1
|
19
|
+
|
20
|
+
#define MACROS_USE_PATTERNS 1
|
21
|
+
#define DEFAULT_FILE_FORMAT 2
|
22
|
+
#define INTERNAL_SORT 1
|
23
|
+
#define TMPDIR "/tmp"
|
24
|
+
#define NEED_PROTO_TRUNCATE 1
|
25
|
+
#define STDC_HEADERS 1
|
26
|
+
#define HAVE_CLOCK 1
|
27
|
+
#define HAVE_FGETPOS 1
|
28
|
+
#define HAVE_OPENDIR 1
|
29
|
+
#define HAVE_REMOVE 1
|
30
|
+
#define HAVE_SETENV 1
|
31
|
+
#define HAVE_STRERROR 1
|
32
|
+
#define HAVE_STRSTR 1
|
33
|
+
#define HAVE_FCNTL_H 1
|
34
|
+
#define HAVE_STDLIB_H 1
|
35
|
+
#define HAVE_STRING_H 1
|
36
|
+
#define HAVE_SYS_DIR_H 1
|
37
|
+
#define HAVE_SYS_TIMES_H 1
|
38
|
+
#define HAVE_TIME_H 1
|
39
|
+
#define HAVE_TYPES_H 1
|
40
|
+
#define HAVE_STDLIB_H 1
|
41
|
+
|
42
|
+
#include <time.h>
|
43
|
+
#include <errno.h>
|
44
|
+
#include <stdlib.h>
|
45
|
+
#include <fcntl.h>
|
46
|
+
#include <stdio.h>
|
47
|
+
|
48
|
+
#include <Files.h>
|
49
|
+
|
50
|
+
#if BUILD_MPW_TOOL
|
51
|
+
|
52
|
+
/*
|
53
|
+
The following defines are collected from various header files from some
|
54
|
+
Linux distribution
|
55
|
+
*/
|
56
|
+
|
57
|
+
typedef unsigned long mode_t;
|
58
|
+
typedef unsigned long ino_t;
|
59
|
+
typedef unsigned long dev_t;
|
60
|
+
typedef short nlink_t;
|
61
|
+
typedef unsigned long uid_t;
|
62
|
+
typedef unsigned long gid_t;
|
63
|
+
|
64
|
+
/* Encoding of the file mode. */
|
65
|
+
#define S_IFMT 0170000 /* These bits determine file type. */
|
66
|
+
|
67
|
+
/* File types. */
|
68
|
+
#define S_IFDIR 0040000 /* Directory. */
|
69
|
+
#define S_IFCHR 0020000 /* Character device. */
|
70
|
+
#define S_IFBLK 0060000 /* Block device. */
|
71
|
+
#define S_IFREG 0100000 /* Regular file. */
|
72
|
+
|
73
|
+
#define S_ISTYPE(mode, mask) (((mode) & S_IFMT) == (mask))
|
74
|
+
|
75
|
+
#define S_ISDIR(mode) S_ISTYPE((mode), S_IFDIR)
|
76
|
+
#define S_ISCHR(mode) S_ISTYPE((mode), S_IFCHR)
|
77
|
+
#define S_ISBLK(mode) S_ISTYPE((mode), S_IFBLK)
|
78
|
+
#define S_ISREG(mode) S_ISTYPE((mode), S_IFREG)
|
79
|
+
|
80
|
+
struct stat {
|
81
|
+
dev_t st_dev; /* Device. */
|
82
|
+
unsigned short int __pad1;
|
83
|
+
ino_t st_ino; /* File serial number. */
|
84
|
+
mode_t st_mode; /* File mode. */
|
85
|
+
nlink_t st_nlink; /* Link count. */
|
86
|
+
uid_t st_uid; /* User ID of the file's owner. */
|
87
|
+
gid_t st_gid; /* Group ID of the file's group.*/
|
88
|
+
off_t st_size; /* Size of file, in bytes. */
|
89
|
+
unsigned long int st_blksize; /* Optimal block size for I/O. */
|
90
|
+
long st_blocks; /* Number 512-byte blocks allocated. */
|
91
|
+
time_t st_atime; /* Time of last access. */
|
92
|
+
time_t st_mtime; /* Time of last modification. */
|
93
|
+
time_t st_ctime; /* Time of last status change. */
|
94
|
+
};
|
95
|
+
|
96
|
+
int fstat(int fildes, struct stat *buf);
|
97
|
+
|
98
|
+
#else
|
99
|
+
#include <console.h>
|
100
|
+
#include <stat.mac.h>
|
101
|
+
#endif
|
102
|
+
|
103
|
+
#ifndef PATH_MAX
|
104
|
+
#define PATH_MAX 1024
|
105
|
+
#endif
|
106
|
+
|
107
|
+
/*
|
108
|
+
Our own stat, accepts unix like paths.
|
109
|
+
*/
|
110
|
+
int mstat(const char *path, struct stat *buf);
|
111
|
+
|
112
|
+
struct dirent {
|
113
|
+
char d_name[64];
|
114
|
+
};
|
115
|
+
|
116
|
+
typedef struct {
|
117
|
+
FSSpec file;
|
118
|
+
int index;
|
119
|
+
struct dirent ent;
|
120
|
+
} DIR;
|
121
|
+
|
122
|
+
extern DIR* opendir(const char *dirname);
|
123
|
+
extern struct dirent* readdir(DIR* dirp);
|
124
|
+
extern int closedir(DIR* dirp);
|
125
|
+
extern void rewinddir(DIR* dirp);
|
126
|
+
extern char* getcwd(char*, int);
|
127
|
+
|
128
|
+
/*
|
129
|
+
Our own fopen, accepts unix like paths.
|
130
|
+
*/
|
131
|
+
extern FILE* mfopen(const char* file, const char* mode);
|
132
|
+
|
133
|
+
/*
|
134
|
+
Dirty, define the standard functions fopen, stat and lstat to map to our
|
135
|
+
own routines.
|
136
|
+
*/
|
137
|
+
#define fopen mfopen
|
138
|
+
#define stat(a,b) mstat(a,b)
|
139
|
+
#define lstat(a,b) mstat(a,b)
|
140
|
+
|
141
|
+
#endif
|
142
|
+
|
143
|
+
/* vi:set tabstop=4 shiftwidth=4: */
|
@@ -0,0 +1,76 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: e_msoft.h 577 2007-06-30 15:30:16Z dhiebert $
|
3
|
+
*
|
4
|
+
* Copyright (c) 2002-2003, Darren Hiebert
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* Configures ctags for Microsoft environment.
|
10
|
+
*/
|
11
|
+
#ifndef E_MSOFT_H
|
12
|
+
#define E_MSOFT_H
|
13
|
+
|
14
|
+
/* MS-DOS/Windows doesn't allow manipulation of standard error,
|
15
|
+
* so we send it to stdout instead.
|
16
|
+
*/
|
17
|
+
#define errout stdout
|
18
|
+
|
19
|
+
#define CASE_INSENSITIVE_FILENAMES 1
|
20
|
+
#define MANUAL_GLOBBING 1
|
21
|
+
#define MSDOS_STYLE_PATH 1
|
22
|
+
#define HAVE_DOS_H 1
|
23
|
+
#define HAVE_FCNTL_H 1
|
24
|
+
#define HAVE_IO_H 1
|
25
|
+
#define HAVE_STDLIB_H 1
|
26
|
+
#define HAVE_SYS_STAT_H 1
|
27
|
+
#define HAVE_SYS_TYPES_H 1
|
28
|
+
#define HAVE_TIME_H 1
|
29
|
+
#define HAVE_CLOCK 1
|
30
|
+
#define HAVE_CHSIZE 1
|
31
|
+
#define HAVE_FGETPOS 1
|
32
|
+
#define HAVE_STRICMP 1
|
33
|
+
#define HAVE_STRNICMP 1
|
34
|
+
#define HAVE_STRSTR 1
|
35
|
+
#define HAVE_STRERROR 1
|
36
|
+
#define HAVE_FINDNEXT 1
|
37
|
+
#define HAVE_TEMPNAM 1
|
38
|
+
#define tempnam(dir,pfx) _tempnam(dir,pfx)
|
39
|
+
#define TMPDIR "\\"
|
40
|
+
|
41
|
+
#ifdef __BORLANDC__
|
42
|
+
|
43
|
+
# define HAVE_DIR_H 1
|
44
|
+
# define HAVE_DIRENT_H 1
|
45
|
+
# define HAVE_FINDFIRST 1
|
46
|
+
|
47
|
+
#elif defined (_MSC_VER)
|
48
|
+
|
49
|
+
# define HAVE__FINDFIRST 1
|
50
|
+
# define HAVE_DIRECT_H 1
|
51
|
+
|
52
|
+
# if _MSC_VER >= 1300
|
53
|
+
# define findfirst_t intptr_t /* Visual Studio 7 */
|
54
|
+
# else
|
55
|
+
# define findfirst_t long /* Visual Studio 6 or earlier */
|
56
|
+
# endif
|
57
|
+
|
58
|
+
#elif defined (__MINGW32__)
|
59
|
+
|
60
|
+
# include <_mingw.h>
|
61
|
+
# if defined (__MSVCRT__) && __MINGW32_MAJOR_VERSION == 1 && __MINGW32_MINOR_VERSION < 2
|
62
|
+
/* Work-around for broken implementation of fgetpos()/fsetpos() on Mingw32 */
|
63
|
+
# undef HAVE_FGETPOS
|
64
|
+
# define NEED_PROTO_FGETPOS 1
|
65
|
+
# endif
|
66
|
+
# define HAVE_DIR_H 1
|
67
|
+
# define HAVE_DIRENT_H 1
|
68
|
+
# define HAVE__FINDFIRST 1
|
69
|
+
# define findfirst_t long
|
70
|
+
# define ffblk _finddata_t
|
71
|
+
# define FA_DIREC _A_SUBDIR
|
72
|
+
# define ff_name name
|
73
|
+
|
74
|
+
#endif
|
75
|
+
|
76
|
+
#endif
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: e_os2.h 136 2002-03-08 22:35:19Z darren $
|
3
|
+
*
|
4
|
+
* Copyright (c) 2002, Darren Hiebert
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* Configures ctags for OS/2 environment.
|
10
|
+
*/
|
11
|
+
#ifndef E_OS2_H
|
12
|
+
#define E_OS2_H
|
13
|
+
|
14
|
+
#define UNIX_PATH_SEPARATOR 1
|
15
|
+
#define CASE_INSENSITIVE_FILENAMES 1
|
16
|
+
#define HAVE_DIRENT_H 1
|
17
|
+
#define HAVE_FCNTL_H 1
|
18
|
+
#define HAVE_IO_H 1
|
19
|
+
#define HAVE_STDLIB_H 1
|
20
|
+
#define HAVE_SYS_STAT_H 1
|
21
|
+
#define HAVE_SYS_TYPES_H 1
|
22
|
+
#define HAVE_TIME_H 1
|
23
|
+
#define HAVE_UNISTD_H 1
|
24
|
+
#define HAVE_CLOCK 1
|
25
|
+
#define HAVE_CHSIZE 1
|
26
|
+
#define HAVE_FGETPOS 1
|
27
|
+
#define HAVE_FTRUNCATE 1
|
28
|
+
#define HAVE_OPENDIR 1
|
29
|
+
#define HAVE_REGCOMP 1
|
30
|
+
#define HAVE_REMOVE 1
|
31
|
+
#define HAVE_STRERROR 1
|
32
|
+
#define HAVE_STRICMP 1
|
33
|
+
#define HAVE_STRNICMP 1
|
34
|
+
#define HAVE_STRSTR 1
|
35
|
+
#define HAVE_TRUNCATE 1
|
36
|
+
|
37
|
+
#endif
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/*
|
2
|
+
* $Id: e_qdos.h 136 2002-03-08 22:35:19Z darren $
|
3
|
+
*
|
4
|
+
* Copyright (c) 2002, Darren Hiebert
|
5
|
+
*
|
6
|
+
* This source code is released for free distribution under the terms of the
|
7
|
+
* GNU General Public License.
|
8
|
+
*
|
9
|
+
* Configures ctags for QDOS environment.
|
10
|
+
*/
|
11
|
+
#ifndef E_QDOS_H
|
12
|
+
#define E_QDOS_H
|
13
|
+
|
14
|
+
#define HAVE_DIRENT_H 1
|
15
|
+
#define HAVE_STDLIB_H 1
|
16
|
+
#define HAVE_SYS_STAT_H 1
|
17
|
+
#define HAVE_SYS_TIMES_H 1
|
18
|
+
#define HAVE_SYS_TYPES_H 1
|
19
|
+
#define HAVE_TIME_H 1
|
20
|
+
#define HAVE_UNISTD_H 1
|
21
|
+
#define STDC_HEADERS 1
|
22
|
+
#define HAVE_CLOCK 1
|
23
|
+
#define HAVE_FGETPOS 1
|
24
|
+
#define HAVE_FTRUNCATE 1
|
25
|
+
#define HAVE_OPENDIR 1
|
26
|
+
#define HAVE_PUTENV 1
|
27
|
+
#define HAVE_REMOVE 1
|
28
|
+
#define HAVE_STRERROR 1
|
29
|
+
#define HAVE_STRSTR 1
|
30
|
+
#define HAVE_TIMES 1
|
31
|
+
#define HAVE_TRUNCATE 1
|
32
|
+
#define NON_CONST_PUTENV_PROTOTYPE 1
|
33
|
+
|
34
|
+
#endif
|