Revision: 3761 http://geany.svn.sourceforge.net/geany/?rev=3761&view=rev Author: ntrel Date: 2009-05-01 15:04:46 +0000 (Fri, 01 May 2009)
Log Message: ----------- Also print debug messages when loading a tag file manually or for default global tags files e.g. python.tags.
Modified Paths: -------------- branches/unstable/ChangeLog branches/unstable/src/symbols.c
Modified: branches/unstable/ChangeLog =================================================================== --- branches/unstable/ChangeLog 2009-05-01 14:45:31 UTC (rev 3760) +++ branches/unstable/ChangeLog 2009-05-01 15:04:46 UTC (rev 3761) @@ -3,6 +3,9 @@ * src/symbols.c: Show the number of tags in a user global tags file (instead of the running total) in the debug message. + * src/symbols.c: + Also print debug messages when loading a tag file manually or for + default global tags files e.g. python.tags.
2009-04-30 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: branches/unstable/src/symbols.c =================================================================== --- branches/unstable/src/symbols.c 2009-05-01 14:45:31 UTC (rev 3760) +++ branches/unstable/src/symbols.c 2009-05-01 15:04:46 UTC (rev 3761) @@ -128,6 +128,33 @@ }
+static gsize get_tag_count() +{ + GPtrArray *tags = tm_get_workspace()->global_tags; + gsize count = tags ? tags->len : 0; + + return count; +} + + +/* wrapper for tm_workspace_load_global_tags(). + * note that the tag count only counts new global tags added - if a tag has the same name, + * currently it replaces the existing tag, so loading a file twice will say 0 tags the 2nd time. */ +static gboolean symbols_load_global_tags(const gchar *tags_file, GeanyFiletype *ft) +{ + gboolean result; + gsize old_tag_count = get_tag_count(); + + result = tm_workspace_load_global_tags(tags_file, ft->lang); + if (result) + { + geany_debug("Loaded %s (%s), %u tag(s).", tags_file, ft->name, + get_tag_count() - old_tag_count); + } + return result; +} + + /* Ensure that the global tags file(s) for the file_type_idx filetype is loaded. * This provides autocompletion, calltips, etc. */ void symbols_global_tags_loaded(gint file_type_idx) @@ -172,10 +199,8 @@ if (! tfi->tags_loaded) { gchar *fname = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL); - gint tm_lang;
- tm_lang = filetypes[file_type_idx]->lang; - tm_workspace_load_global_tags(fname, tm_lang); + symbols_load_global_tags(fname, filetypes[file_type_idx]); tfi->tags_loaded = TRUE; g_free(fname); } @@ -1374,7 +1399,7 @@ utf8_fname = utils_get_utf8_from_locale(fname); ft = detect_global_tags_filetype(utf8_fname);
- if (ft != NULL && tm_workspace_load_global_tags(fname, ft->lang)) + if (ft != NULL && symbols_load_global_tags(fname, ft)) /* For translators: the first wildcard is the filetype, the second the filename */ ui_set_statusbar(TRUE, _("Loaded %s tags file '%s'."), ft->name, utf8_fname); else @@ -1457,22 +1482,13 @@ }
-static gsize get_tag_count() -{ - GPtrArray *tags = tm_get_workspace()->global_tags; - gsize count = tags ? tags->len : 0; - - return count; -} - - static void load_user_tags(filetype_id ft_id) { static guchar tags_loaded[GEANY_MAX_BUILT_IN_FILETYPES] = {0}; static GHashTable *lang_hash = NULL; GList *fnames; const GList *node; - const GeanyFiletype *ft = filetypes[ft_id]; + GeanyFiletype *ft = filetypes[ft_id];
g_return_if_fail(ft_id > 0); g_return_if_fail(ft_id < GEANY_MAX_BUILT_IN_FILETYPES); @@ -1488,15 +1504,9 @@
for (node = fnames; node != NULL; node = g_list_next(node)) { - const gint tm_lang = ft->lang; const gchar *fname = node->data; - gsize old_tag_count = get_tag_count();
- if (tm_workspace_load_global_tags(fname, tm_lang)) - { - geany_debug("Loaded %s (%s), %u tag(s).", fname, ft->name, - get_tag_count() - old_tag_count); - } + symbols_load_global_tags(fname, ft); } g_list_foreach(fnames, (GFunc) g_free, NULL); g_list_free(fnames);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.