SF.net SVN: geany:[3698] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Tue Apr 7 22:09:08 UTC 2009
Revision: 3698
http://geany.svn.sourceforge.net/geany/?rev=3698&view=rev
Author: eht16
Date: 2009-04-07 22:09:08 +0000 (Tue, 07 Apr 2009)
Log Message:
-----------
Prevent showing an empty macro list.
Show only macros of the same filetype instead of all macros of all loaded filetypes.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/editor.c
trunk/src/symbols.c
trunk/src/symbols.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-04-07 22:08:50 UTC (rev 3697)
+++ trunk/ChangeLog 2009-04-07 22:09:08 UTC (rev 3698)
@@ -6,6 +6,10 @@
* src/editor.c, src/sciwrappers.c, src/sciwrapper.h:
Make editor_highlight_braces() static.
Remove unused wrapper functions.
+ * src/editor.c, src/symbols.c, src/symbols.h:
+ Prevent showing an empty macro list.
+ Show only macros of the same filetype instead of all macros of all
+ loaded filetypes.
2009-04-07 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/editor.c
===================================================================
--- trunk/src/editor.c 2009-04-07 22:08:50 UTC (rev 3697)
+++ trunk/src/editor.c 2009-04-07 22:09:08 UTC (rev 3698)
@@ -1626,7 +1626,7 @@
g_return_val_if_fail(G_LIKELY(editor != NULL), FALSE);
if (G_UNLIKELY(editor->document->file_type != NULL))
- return;
+ return FALSE;
/* If we are at the beginning of the document, we skip autocompletion as we can't determine the
* necessary styling information */
@@ -2125,10 +2125,10 @@
{
GString *words;
- if (G_UNLIKELY(editor == NULL))
+ if (G_UNLIKELY(editor == NULL) || G_UNLIKELY(editor->document->file_type == NULL))
return;
- words = symbols_get_macro_list();
+ words = symbols_get_macro_list(editor->document->file_type->lang);
if (G_UNLIKELY(words == NULL))
return;
Modified: trunk/src/symbols.c
===================================================================
--- trunk/src/symbols.c 2009-04-07 22:08:50 UTC (rev 3697)
+++ trunk/src/symbols.c 2009-04-07 22:09:08 UTC (rev 3698)
@@ -274,11 +274,13 @@
}
-GString *symbols_get_macro_list(void)
+GString *symbols_get_macro_list(gint lang)
{
guint j, i;
GPtrArray *ftags;
GString *words;
+ gint tag_lang;
+ TMTag *tag;
if (G_UNLIKELY(app->tm_workspace->work_objects == NULL))
return NULL;
@@ -296,11 +298,24 @@
{
for (i = 0; ((i < tags->len) && (i < editor_prefs.autocompletion_max_entries)); ++i)
{
- g_ptr_array_add(ftags, (gpointer) tags->pdata[i]);
+ tag = TM_TAG(tags->pdata[i]);
+ tag_lang = (tag->atts.entry.file) ?
+ tag->atts.entry.file->lang : tag->atts.file.lang;
+
+ if (tag_lang == lang)
+ g_ptr_array_add(ftags, (gpointer) tags->pdata[i]);
}
g_ptr_array_free(tags, TRUE);
}
}
+
+ if (ftags->len == 0)
+ {
+ g_ptr_array_free(ftags, TRUE);
+ g_string_free(words, TRUE);
+ return NULL;
+ }
+
tm_tags_sort(ftags, NULL, FALSE);
for (j = 0; j < ftags->len; j++)
{
Modified: trunk/src/symbols.h
===================================================================
--- trunk/src/symbols.h 2009-04-07 22:08:50 UTC (rev 3697)
+++ trunk/src/symbols.h 2009-04-07 22:09:08 UTC (rev 3698)
@@ -49,7 +49,7 @@
const GList *symbols_get_tag_list(GeanyDocument *doc, guint tag_types);
-GString *symbols_get_macro_list(void);
+GString *symbols_get_macro_list(gint lang);
const gchar **symbols_get_html_entities(void);
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