SF.net SVN: geany: [1174] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Fri Jan 12 12:33:18 UTC 2007
Revision: 1174
http://svn.sourceforge.net/geany/?rev=1174&view=rev
Author: ntrel
Date: 2007-01-12 04:33:17 -0800 (Fri, 12 Jan 2007)
Log Message:
-----------
Use '::' context separator for C also (so C/C++ share the same
syntax, and C++ .h headers use correct syntax).
Add symbols_get_context_separator() and use for calltips and the
symbol list.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/sci_cb.c
trunk/src/symbols.c
trunk/src/symbols.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-01-11 11:59:40 UTC (rev 1173)
+++ trunk/ChangeLog 2007-01-12 12:33:17 UTC (rev 1174)
@@ -1,3 +1,12 @@
+2007-01-12 Nick Treleaven <nick.treleaven at btinternet.com>
+
+ * src/sci_cb.c, src/symbols.c, src/symbols.h:
+ Use '::' context separator for C also (so C/C++ share the same
+ syntax, and C++ .h headers use correct syntax).
+ Add symbols_get_context_separator() and use for calltips and the
+ symbol list.
+
+
2007-01-11 Nick Treleaven <nick.treleaven at btinternet.com>
* src/sci_cb.c:
Modified: trunk/src/sci_cb.c
===================================================================
--- trunk/src/sci_cb.c 2007-01-11 11:59:40 UTC (rev 1173)
+++ trunk/src/sci_cb.c 2007-01-12 12:33:17 UTC (rev 1174)
@@ -537,7 +537,7 @@
}
-static gchar *tag_to_calltip(const TMTag *tag, gint ft_id)
+static gchar *tag_to_calltip(const TMTag *tag, filetype_id ft_id)
{
GString *str;
gchar *result;
@@ -559,11 +559,10 @@
}
if (tag->atts.entry.scope)
{
+ const gchar *cosep = symbols_get_context_separator(ft_id);
+
g_string_append(str, tag->atts.entry.scope);
- if (ft_id == GEANY_FILETYPES_D)
- g_string_append_c(str, '.');
- else
- g_string_append(str, "::");
+ g_string_append(str, cosep);
}
g_string_append(str, tag->name);
g_string_append_c(str, ' ');
Modified: trunk/src/symbols.c
===================================================================
--- trunk/src/symbols.c 2007-01-11 11:59:40 UTC (rev 1173)
+++ trunk/src/symbols.c 2007-01-12 12:33:17 UTC (rev 1174)
@@ -150,6 +150,32 @@
}
+const gchar *symbols_get_context_separator(filetype_id ft_id)
+{
+ gchar *cosep;
+
+ switch (ft_id)
+ {
+ case GEANY_FILETYPES_C: // for C++ .h headers or C structs
+ case GEANY_FILETYPES_CPP:
+ {
+ static gchar cc[] = "::";
+
+ cosep = cc;
+ }
+ break;
+
+ default:
+ {
+ static gchar def[] = ".";
+
+ cosep = def;
+ }
+ }
+ return cosep; // return ptr to static string
+}
+
+
const GList *symbols_get_tag_list(gint idx, guint tag_types)
{
static GList *tag_names = NULL;
@@ -162,6 +188,8 @@
GeanySymbol *symbol;
gboolean doc_is_utf8 = FALSE;
gchar *utf8_name;
+ const gchar *cosep =
+ symbols_get_context_separator(FILETYPE_ID(doc_list[idx].file_type));
if (tag_names)
{
@@ -191,9 +219,6 @@
else utf8_name = tag->name;
if ((tag->atts.entry.scope != NULL) && isalpha(tag->atts.entry.scope[0]))
{
- // context separator
- gchar *cosep = (doc_list[idx].file_type->id == GEANY_FILETYPES_CPP) ? "::" : ".";
-
symbol = g_new0(GeanySymbol, 1);
symbol->str = g_strdup_printf("%s%s%s [%ld]", tag->atts.entry.scope, cosep,
utf8_name, tag->atts.entry.line);
Modified: trunk/src/symbols.h
===================================================================
--- trunk/src/symbols.h 2007-01-11 11:59:40 UTC (rev 1173)
+++ trunk/src/symbols.h 2007-01-12 12:33:17 UTC (rev 1174)
@@ -25,6 +25,8 @@
#ifndef GEANY_SYMBOLS_H
#define GEANY_SYMBOLS_H 1
+#include "filetypes.h"
+
extern const guint TM_GLOBAL_TYPE_MASK;
@@ -32,6 +34,8 @@
GString *symbols_find_tags_as_string(GPtrArray *tags_array, guint tag_types);
+const gchar *symbols_get_context_separator(filetype_id ft_id);
+
const GList *symbols_get_tag_list(gint idx, guint tag_types);
GString *symbols_get_macro_list();
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