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.
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