2 * tm_ctags_wrappers.h - this file is part of Geany, a fast and lightweight IDE
4 * Copyright 2016 Jiri Techet <techet(at)gmail(dot)com>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 #ifndef TM_CTAGS_WRAPPERS
22 #define TM_CTAGS_WRAPPERS
26 #include "tm_parser.h"
28 #include "entry.h" /* for sTagEntryInfo */
33 /* Callback invoked for every tag found by the parser. The return value is
34 * currently unused. */
35 typedef gboolean (*TMCtagsNewTagCallback
) (const tagEntryInfo
*const tag
,
38 /* Callback invoked at the beginning of every parsing pass. The return value is
40 typedef gboolean (*TMCtagsPassStartCallback
) (void *user_data
);
43 void tm_ctags_init(void);
45 void tm_ctags_parse(guchar
*buffer
, gsize buffer_size
,
46 const gchar
*file_name
, TMParserType lang
, TMCtagsNewTagCallback tag_callback
,
47 TMCtagsPassStartCallback pass_callback
, gpointer user_data
);
49 const gchar
*tm_ctags_get_lang_name(TMParserType lang
);
51 TMParserType
tm_ctags_get_named_lang(const gchar
*name
);
53 const gchar
*tm_ctags_get_lang_kinds(TMParserType lang
);
55 const gchar
*tm_ctags_get_kind_name(gchar kind
, TMParserType lang
);
57 gchar
tm_ctags_get_kind_from_name(const gchar
*name
, TMParserType lang
);
59 gboolean
tm_ctags_is_using_regex_parser(TMParserType lang
);
61 guint
tm_ctags_get_lang_count(void);
65 #endif /* TM_CTAGS_WRAPPERS */