ctags.rb 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|