31 .writePtagEntry =
NULL,
32 .preWriteEntry =
NULL,
33 .postWriteEntry =
NULL,
35 .treatFieldAsFixed =
NULL,
36 .defaultFileName =
"geany_tags_file_which_should_never_appear_anywhere",
46 g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
format, ap);
61 for (kind = 0; kind < kind_num; kind++)
91 if (file->
lang != lang)
100 tag->
name = g_strdup(tag_entry->
name);
132 const gchar *parent_tag_name;
135 g_strcmp0(tag->
name,
"__init__") != 0)
138 parent_tag_name = strrchr(tag->
scope,
'.');
142 parent_tag_name = tag->
scope;
145 for (i = source_file->
tags_array->len; i > 0; i--)
148 if (g_strcmp0(prev_tag->
name, parent_tag_name) == 0)
165 if (!
init_tag(tm_tag, source_file, tag))
171 if (tm_tag->
lang == TM_PARSER_PYTHON)
174 g_ptr_array_add(source_file->
tags_array, tm_tag);
184 GPtrArray *tags_array = source_file->
tags_array;
186 if (tags_array->len > valid_tag_num)
189 for (i = valid_tag_num; i < tags_array->len; i++)
191 g_ptr_array_set_size(tags_array, valid_tag_num);
226 g_return_if_fail(buffer !=
NULL || file_name !=
NULL);
228 parseRawBuffer(file_name, buffer, buffer_size, language, source_file);
247 static gchar kinds[257];
250 for (i = 0; i < kind_num; i++)
261 return def ? def->
name :
"unknown";
268 return def ? def->
letter :
'-';
void getTagScopeInformation(tagEntryInfo *const tag, const char **kind, const char **name)
void setErrorPrinter(errorPrintFunc printer, void *data)
void initFieldObjects(void)
#define CTAGS_ATTR_UNUSED
void enableKind(kindDefinition *kind, bool enable)
langType getNamedLanguage(const char *const name, size_t len)
unsigned int countParsers(void)
kindDefinition * getLanguageKind(const langType language, int kindIndex)
void initializeParsing(void)
const char * getLanguageName(const langType language)
void initializeParser(langType lang)
kindDefinition * getLanguageKindForLetter(const langType language, char kindLetter)
bool parseRawBuffer(const char *fileName, unsigned char *buffer, size_t bufferSize, const langType language, void *clientData)
kindDefinition * getLanguageKindForName(const langType language, const char *kindName)
unsigned int countLanguageKinds(const langType language)
if(!stash_group_load_from_file(group, filename)) g_warning(_("Could not load keyfile %s!")
The TMSourceFile structure represents the source file and its tags in the tag manager.
GPtrArray * tags_array
Sorted tag array obtained by parsing the object.
The TMTag structure represents a single tag in the tag manager.
char * scope
Scope of tag.
char * inheritance
Parent classes.
char * var_type
Variable type (maps to struct for typedefs)
char * arglist
Argument list (functions/prototypes/macros)
TMSourceFile * file
These are tag attributes.
gulong line
Line number of the tag.
char access
Access type (public/protected/private/etc.)
char impl
Implementation (e.g.
gboolean local
Is the tag of local scope.
struct sTagEntryInfo::@3 extensionFields
const char * implementation
int(* writeEntry)(tagWriter *writer, MIO *mio, const tagEntryInfo *const tag, void *clientData)
TMTagType tm_parser_get_subparser_type(TMParserType lang, TMParserType sublang, TMTagType type)
TMTagType tm_parser_get_tag_type(gchar kind, TMParserType lang)
@ tm_tag_undef_t
Unknown type.
@ tm_tag_method_t
Class method (Java only)
@ tm_tag_macro_with_arg_t
Parameterized macro.
@ tm_tag_macro_t
Macro (without arguments)
gchar tm_source_file_get_tag_access(const gchar *access)
gchar tm_source_file_get_tag_impl(const gchar *impl)
void tm_tag_unref(TMTag *tag)
void initDefaultTrashBox(void)
static tagWriter * writer
void setTagWriter(writerType wtype, tagWriter *customWriter)
bool enableXtag(xtagType type, bool state)
void initXtagObjects(void)
@ XTAG_TAGS_GENERATED_BY_GUEST_PARSERS