ctags.rb 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. data/Gemfile +2 -0
  2. data/Rakefile +23 -0
  3. data/ctags.rb.gemspec +23 -0
  4. data/ext/.gitignore +3 -0
  5. data/ext/extconf.rb +15 -0
  6. data/ext/vendor/exuberant-ctags/.gitignore +6 -0
  7. data/ext/vendor/exuberant-ctags/.indent.pro +31 -0
  8. data/ext/vendor/exuberant-ctags/COPYING +340 -0
  9. data/ext/vendor/exuberant-ctags/EXTENDING.html +386 -0
  10. data/ext/vendor/exuberant-ctags/FAQ +371 -0
  11. data/ext/vendor/exuberant-ctags/INSTALL +215 -0
  12. data/ext/vendor/exuberant-ctags/INSTALL.oth +73 -0
  13. data/ext/vendor/exuberant-ctags/MAINTAINERS +88 -0
  14. data/ext/vendor/exuberant-ctags/Makefile.in +222 -0
  15. data/ext/vendor/exuberant-ctags/NEWS +871 -0
  16. data/ext/vendor/exuberant-ctags/README +73 -0
  17. data/ext/vendor/exuberant-ctags/ant.c +42 -0
  18. data/ext/vendor/exuberant-ctags/argproc.c +505 -0
  19. data/ext/vendor/exuberant-ctags/args.c +274 -0
  20. data/ext/vendor/exuberant-ctags/args.h +63 -0
  21. data/ext/vendor/exuberant-ctags/asm.c +387 -0
  22. data/ext/vendor/exuberant-ctags/asp.c +328 -0
  23. data/ext/vendor/exuberant-ctags/awk.c +81 -0
  24. data/ext/vendor/exuberant-ctags/basic.c +203 -0
  25. data/ext/vendor/exuberant-ctags/beta.c +321 -0
  26. data/ext/vendor/exuberant-ctags/c.c +2932 -0
  27. data/ext/vendor/exuberant-ctags/cobol.c +50 -0
  28. data/ext/vendor/exuberant-ctags/config.h.in +277 -0
  29. data/ext/vendor/exuberant-ctags/configure +7704 -0
  30. data/ext/vendor/exuberant-ctags/configure.ac +532 -0
  31. data/ext/vendor/exuberant-ctags/ctags.1 +1186 -0
  32. data/ext/vendor/exuberant-ctags/ctags.h +28 -0
  33. data/ext/vendor/exuberant-ctags/ctags.html +2087 -0
  34. data/ext/vendor/exuberant-ctags/ctags.spec +40 -0
  35. data/ext/vendor/exuberant-ctags/debug.c +113 -0
  36. data/ext/vendor/exuberant-ctags/debug.h +70 -0
  37. data/ext/vendor/exuberant-ctags/descrip.mms +68 -0
  38. data/ext/vendor/exuberant-ctags/dosbatch.c +42 -0
  39. data/ext/vendor/exuberant-ctags/e_amiga.h +24 -0
  40. data/ext/vendor/exuberant-ctags/e_djgpp.h +47 -0
  41. data/ext/vendor/exuberant-ctags/e_mac.h +143 -0
  42. data/ext/vendor/exuberant-ctags/e_msoft.h +76 -0
  43. data/ext/vendor/exuberant-ctags/e_os2.h +37 -0
  44. data/ext/vendor/exuberant-ctags/e_qdos.h +34 -0
  45. data/ext/vendor/exuberant-ctags/e_riscos.h +58 -0
  46. data/ext/vendor/exuberant-ctags/e_vms.h +31 -0
  47. data/ext/vendor/exuberant-ctags/eiffel.c +1352 -0
  48. data/ext/vendor/exuberant-ctags/entry.c +847 -0
  49. data/ext/vendor/exuberant-ctags/entry.h +103 -0
  50. data/ext/vendor/exuberant-ctags/erlang.c +189 -0
  51. data/ext/vendor/exuberant-ctags/flex.c +2243 -0
  52. data/ext/vendor/exuberant-ctags/fortran.c +2197 -0
  53. data/ext/vendor/exuberant-ctags/general.h +127 -0
  54. data/ext/vendor/exuberant-ctags/get.c +669 -0
  55. data/ext/vendor/exuberant-ctags/get.h +50 -0
  56. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/all-wcprops +47 -0
  57. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/entries +112 -0
  58. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/README.txt.svn-base +5 -0
  59. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regcomp.c.svn-base +3818 -0
  60. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.c.svn-base +74 -0
  61. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex.h.svn-base +575 -0
  62. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.c.svn-base +1713 -0
  63. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regex_internal.h.svn-base +773 -0
  64. data/ext/vendor/exuberant-ctags/gnu_regex/.svn/text-base/regexec.c.svn-base +4338 -0
  65. data/ext/vendor/exuberant-ctags/gnu_regex/README.txt +5 -0
  66. data/ext/vendor/exuberant-ctags/gnu_regex/regcomp.c +3818 -0
  67. data/ext/vendor/exuberant-ctags/gnu_regex/regex.c +74 -0
  68. data/ext/vendor/exuberant-ctags/gnu_regex/regex.h +575 -0
  69. data/ext/vendor/exuberant-ctags/gnu_regex/regex_internal.c +1713 -0
  70. data/ext/vendor/exuberant-ctags/gnu_regex/regex_internal.h +773 -0
  71. data/ext/vendor/exuberant-ctags/gnu_regex/regexec.c +4338 -0
  72. data/ext/vendor/exuberant-ctags/html.c +49 -0
  73. data/ext/vendor/exuberant-ctags/jscript.c +1572 -0
  74. data/ext/vendor/exuberant-ctags/keyword.c +258 -0
  75. data/ext/vendor/exuberant-ctags/keyword.h +34 -0
  76. data/ext/vendor/exuberant-ctags/lisp.c +139 -0
  77. data/ext/vendor/exuberant-ctags/lregex.c +704 -0
  78. data/ext/vendor/exuberant-ctags/lua.c +133 -0
  79. data/ext/vendor/exuberant-ctags/mac.c +273 -0
  80. data/ext/vendor/exuberant-ctags/magic.diff +21 -0
  81. data/ext/vendor/exuberant-ctags/main.c +584 -0
  82. data/ext/vendor/exuberant-ctags/main.h +32 -0
  83. data/ext/vendor/exuberant-ctags/maintainer.mak +476 -0
  84. data/ext/vendor/exuberant-ctags/make.c +217 -0
  85. data/ext/vendor/exuberant-ctags/matlab.c +44 -0
  86. data/ext/vendor/exuberant-ctags/mk_bc3.mak +46 -0
  87. data/ext/vendor/exuberant-ctags/mk_bc5.mak +49 -0
  88. data/ext/vendor/exuberant-ctags/mk_djg.mak +18 -0
  89. data/ext/vendor/exuberant-ctags/mk_manx.mak +65 -0
  90. data/ext/vendor/exuberant-ctags/mk_mingw.mak +31 -0
  91. data/ext/vendor/exuberant-ctags/mk_mpw.mak +130 -0
  92. data/ext/vendor/exuberant-ctags/mk_mvc.mak +40 -0
  93. data/ext/vendor/exuberant-ctags/mk_os2.mak +104 -0
  94. data/ext/vendor/exuberant-ctags/mk_qdos.mak +100 -0
  95. data/ext/vendor/exuberant-ctags/mk_sas.mak +63 -0
  96. data/ext/vendor/exuberant-ctags/mkinstalldirs +40 -0
  97. data/ext/vendor/exuberant-ctags/ocaml.c +1842 -0
  98. data/ext/vendor/exuberant-ctags/options.c +1842 -0
  99. data/ext/vendor/exuberant-ctags/options.h +155 -0
  100. data/ext/vendor/exuberant-ctags/parse.c +677 -0
  101. data/ext/vendor/exuberant-ctags/parse.h +129 -0
  102. data/ext/vendor/exuberant-ctags/parsers.h +63 -0
  103. data/ext/vendor/exuberant-ctags/pascal.c +267 -0
  104. data/ext/vendor/exuberant-ctags/perl.c +382 -0
  105. data/ext/vendor/exuberant-ctags/php.c +237 -0
  106. data/ext/vendor/exuberant-ctags/python.c +771 -0
  107. data/ext/vendor/exuberant-ctags/qdos.c +106 -0
  108. data/ext/vendor/exuberant-ctags/read.c +569 -0
  109. data/ext/vendor/exuberant-ctags/read.h +116 -0
  110. data/ext/vendor/exuberant-ctags/readtags.c +959 -0
  111. data/ext/vendor/exuberant-ctags/readtags.h +252 -0
  112. data/ext/vendor/exuberant-ctags/rexx.c +39 -0
  113. data/ext/vendor/exuberant-ctags/routines.c +891 -0
  114. data/ext/vendor/exuberant-ctags/routines.h +134 -0
  115. data/ext/vendor/exuberant-ctags/ruby.c +408 -0
  116. data/ext/vendor/exuberant-ctags/scheme.c +111 -0
  117. data/ext/vendor/exuberant-ctags/sh.c +115 -0
  118. data/ext/vendor/exuberant-ctags/slang.c +41 -0
  119. data/ext/vendor/exuberant-ctags/sml.c +212 -0
  120. data/ext/vendor/exuberant-ctags/sort.c +230 -0
  121. data/ext/vendor/exuberant-ctags/sort.h +32 -0
  122. data/ext/vendor/exuberant-ctags/source.mak +122 -0
  123. data/ext/vendor/exuberant-ctags/sql.c +2112 -0
  124. data/ext/vendor/exuberant-ctags/strlist.c +281 -0
  125. data/ext/vendor/exuberant-ctags/strlist.h +54 -0
  126. data/ext/vendor/exuberant-ctags/tcl.c +116 -0
  127. data/ext/vendor/exuberant-ctags/tex.c +524 -0
  128. data/ext/vendor/exuberant-ctags/verilog.c +340 -0
  129. data/ext/vendor/exuberant-ctags/vhdl.c +835 -0
  130. data/ext/vendor/exuberant-ctags/vim.c +636 -0
  131. data/ext/vendor/exuberant-ctags/vstring.c +232 -0
  132. data/ext/vendor/exuberant-ctags/vstring.h +85 -0
  133. data/ext/vendor/exuberant-ctags/yacc.c +40 -0
  134. data/lib/ctags/exuberant.rb +45 -0
  135. data/lib/ctags/version.rb +3 -0
  136. data/lib/ctags.rb +6 -0
  137. data/test/test_ctags.rb +24 -0
  138. 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