xref: /Universal-ctags/main/keyword.h (revision 9a224e2e11fb14f4a942e6e34ad6e36ca26660fc)
1 /*
2 *   Copyright (c) 1998-2002, Darren Hiebert
3 *
4 *   This source code is released for free distribution under the terms of the
5 *   GNU General Public License version 2 or (at your option) any later version.
6 *
7 *   External interface to keyword.c
8 */
9 #ifndef CTAGS_MAIN_KEYWORD_H
10 #define CTAGS_MAIN_KEYWORD_H
11 
12 /*
13 *   INCLUDE FILES
14 */
15 #include "general.h"  /* must always come first */
16 #include "types.h"
17 
18 /*
19 *   MACROS
20 */
21 #define KEYWORD_NONE -1
22 
23 /*
24 *   FUNCTION PROTOTYPES
25 */
26 extern void addKeyword (const char *const string, langType language, int value);
27 extern int lookupKeyword (const char *const string, langType language);
28 extern int lookupCaseKeyword (const char *const string, langType language);
29 
30 /*
31 * KEYWORD GROUP API: Adding keywords for value in batch
32 */
33 struct keywordGroup {
34 	int value;
35 	bool addingUnlessExisting;
36 	const char *keywords []; 	/* NULL terminated */
37 };
38 
39 extern void addKeywordGroup (const struct keywordGroup *const groupdef,
40 							 langType language);
41 #endif  /* CTAGS_MAIN_KEYWORD_H */
42