SF.net SVN: geany: [1250] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Tue Feb 6 16:13:57 UTC 2007
Revision: 1250
http://svn.sourceforge.net/geany/?rev=1250&view=rev
Author: ntrel
Date: 2007-02-06 08:13:57 -0800 (Tue, 06 Feb 2007)
Log Message:
-----------
Fix missing global tags for C files when a C++ source file was
loaded first.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/symbols.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-02-05 16:17:44 UTC (rev 1249)
+++ trunk/ChangeLog 2007-02-06 16:13:57 UTC (rev 1250)
@@ -1,3 +1,10 @@
+2007-02-06 Nick Treleaven <nick.treleaven at btinternet.com>
+
+ * src/symbols.c:
+ Fix missing global tags for C files when a C++ source file was
+ loaded first.
+
+
2007-02-05 Nick Treleaven <nick.treleaven at btinternet.com>
* src/treeviews.c:
Modified: trunk/src/symbols.c
===================================================================
--- trunk/src/symbols.c 2007-02-05 16:17:44 UTC (rev 1249)
+++ trunk/src/symbols.c 2007-02-06 16:13:57 UTC (rev 1250)
@@ -39,6 +39,15 @@
tm_tag_struct_t | tm_tag_typedef_t | tm_tag_union_t;
+static gchar **html_entities = NULL;
+
+
+typedef struct
+{
+ gboolean tags_loaded;
+ const gchar *tag_file;
+} TagFileInfo;
+
enum // Geany tag files
{
GTF_C,
@@ -49,14 +58,6 @@
GTF_MAX
};
-static gchar **html_entities = NULL;
-
-typedef struct
-{
- gboolean tags_loaded;
- const gchar *tag_file;
-} TagFileInfo;
-
static TagFileInfo tag_file_info[GTF_MAX] =
{
{FALSE, "global.tags"},
@@ -74,7 +75,7 @@
void symbols_global_tags_loaded(gint file_type_idx)
{
TagFileInfo *tfi;
- gint gtf, lt;
+ gint tag_type;
if (app->ignore_global_tags) return;
@@ -83,27 +84,32 @@
case GEANY_FILETYPES_HTML:
html_tags_loaded();
return;
- case GEANY_FILETYPES_C: gtf = GTF_C; break;
- case GEANY_FILETYPES_CPP: gtf = GTF_C; break;
- case GEANY_FILETYPES_PASCAL:gtf = GTF_PASCAL; break;
- case GEANY_FILETYPES_PHP: gtf = GTF_PHP; break;
- case GEANY_FILETYPES_LATEX: gtf = GTF_LATEX; break;
+ case GEANY_FILETYPES_CPP:
+ symbols_global_tags_loaded(GEANY_FILETYPES_C); // load C global tags
+ return; // no C++ tagfile yet
+ case GEANY_FILETYPES_C: tag_type = GTF_C; break;
+ case GEANY_FILETYPES_PASCAL:tag_type = GTF_PASCAL; break;
+ case GEANY_FILETYPES_PHP: tag_type = GTF_PHP; break;
+ case GEANY_FILETYPES_LATEX: tag_type = GTF_LATEX; break;
default:
return;
}
- lt = filetypes[file_type_idx]->lang;
- tfi = &tag_file_info[gtf];
+ tfi = &tag_file_info[tag_type];
if (! tfi->tags_loaded)
{
- gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
- tm_workspace_load_global_tags(file, lt);
+ 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);
tfi->tags_loaded = TRUE;
- g_free(file);
+ g_free(fname);
}
}
+// HTML tagfile is just a list of entities for autocompletion (e.g. '&')
static void html_tags_loaded()
{
TagFileInfo *tfi;
@@ -114,6 +120,7 @@
if (! tfi->tags_loaded)
{
gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
+
html_entities = utils_read_file_in_array(file);
tfi->tags_loaded = TRUE;
g_free(file);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list