SF.net SVN: geany:[3640] branches/reorder-filetypes
ntrel at users.sourceforge.net
ntrel at xxxxx
Fri Mar 20 16:18:33 UTC 2009
Revision: 3640
http://geany.svn.sourceforge.net/geany/?rev=3640&view=rev
Author: ntrel
Date: 2009-03-20 16:18:32 +0000 (Fri, 20 Mar 2009)
Log Message:
-----------
Make GEANY_FILETYPES_NONE = 0; other things are now broken, e.g.
setting Open dialog filetypes.
Modified Paths:
--------------
branches/reorder-filetypes/ChangeLog
branches/reorder-filetypes/src/dialogs.c
branches/reorder-filetypes/src/filetypes.c
branches/reorder-filetypes/src/filetypes.h
branches/reorder-filetypes/src/highlighting.c
branches/reorder-filetypes/src/plugindata.h
branches/reorder-filetypes/src/symbols.c
Modified: branches/reorder-filetypes/ChangeLog
===================================================================
--- branches/reorder-filetypes/ChangeLog 2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/ChangeLog 2009-03-20 16:18:32 UTC (rev 3640)
@@ -1,3 +1,11 @@
+2009-03-20 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/highlighting.c, src/dialogs.c, src/plugindata.h,
+ src/filetypes.c, src/filetypes.h, src/symbols.c:
+ Make GEANY_FILETYPES_NONE = 0; other things are now broken, e.g.
+ setting Open dialog filetypes.
+
+
2009-03-19 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/build.c:
Modified: branches/reorder-filetypes/src/dialogs.c
===================================================================
--- branches/reorder-filetypes/src/dialogs.c 2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/dialogs.c 2009-03-20 16:18:32 UTC (rev 3640)
@@ -90,7 +90,7 @@
gboolean ro = (response == GEANY_RESPONSE_VIEW); /* View clicked */
/* ignore detect from file item */
- if (filetype_idx >= 0 && filetype_idx < GEANY_FILETYPES_NONE)
+ if (filetype_idx > 0 && filetype_idx < GEANY_MAX_BUILT_IN_FILETYPES)
ft = filetypes[filetype_idx];
if (encoding_idx >= 0 && encoding_idx < GEANY_ENCODINGS_MAX)
charset = encodings[encoding_idx].charset;
Modified: branches/reorder-filetypes/src/filetypes.c
===================================================================
--- branches/reorder-filetypes/src/filetypes.c 2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/filetypes.c 2009-03-20 16:18:32 UTC (rev 3640)
@@ -78,7 +78,18 @@
{
GeanyFiletype *ft;
-#define C /* these macros are only to ease navigation */
+#define NONE /* these macros are only to ease navigation */
+ ft = filetypes[GEANY_FILETYPES_NONE];
+ ft->lang = -2;
+ ft->name = g_strdup("None");
+ ft->title = g_strdup(_("All files"));
+ ft->extension = g_strdup("*");
+ ft->pattern = utils_strv_new("*", NULL);
+ ft->comment_open = NULL;
+ ft->comment_close = NULL;
+ ft->group = GEANY_FILETYPE_GROUP_NONE;
+
+#define C
ft = filetypes[GEANY_FILETYPES_C];
ft->lang = 0;
ft->name = g_strdup("C");
@@ -560,17 +571,6 @@
ft->comment_open = g_strdup("--");
ft->comment_close = NULL;
ft->group = GEANY_FILETYPE_GROUP_COMPILED;
-
-#define ALL
- ft = filetypes[GEANY_FILETYPES_NONE];
- ft->lang = -2;
- ft->name = g_strdup("None");
- ft->title = g_strdup(_("All files"));
- ft->extension = g_strdup("*");
- ft->pattern = utils_strv_new("*", NULL);
- ft->comment_open = NULL;
- ft->comment_close = NULL;
- ft->group = GEANY_FILETYPE_GROUP_NONE;
}
@@ -1240,7 +1240,7 @@
G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.", NULL);
gint i;
- for (i = 0; i < GEANY_FILETYPES_NONE; i++)
+ for (i = 1; i < GEANY_MAX_BUILT_IN_FILETYPES; i++)
{
struct build_programs *bp = filetypes[i]->programs;
GKeyFile *config_home;
Modified: branches/reorder-filetypes/src/filetypes.h
===================================================================
--- branches/reorder-filetypes/src/filetypes.h 2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/filetypes.h 2009-03-20 16:18:32 UTC (rev 3640)
@@ -29,14 +29,11 @@
#include "ScintillaWidget.h"
-/* Each group should be alpha-sorted, based on filetype::name (not enum name).
- * Warning: remember to break the plugin ABI when adding items. */
-/* TODO: for a stable ABI put GEANY_FILETYPES_NONE first, and use a sorted duplicate
- * filetypes array for GUI elements. */
typedef enum
{
- /* normally compiled languages */
- GEANY_FILETYPES_ADA = 0,
+ GEANY_FILETYPES_NONE = 0, /* first filetype */
+
+ GEANY_FILETYPES_ADA,
GEANY_FILETYPES_AS,
GEANY_FILETYPES_ASM,
GEANY_FILETYPES_C,
@@ -54,8 +51,6 @@
GEANY_FILETYPES_PASCAL,
GEANY_FILETYPES_VALA,
GEANY_FILETYPES_VHDL,
-
- /* script languages */
GEANY_FILETYPES_FERITE,
GEANY_FILETYPES_JS,
GEANY_FILETYPES_LUA,
@@ -68,14 +63,10 @@
GEANY_FILETYPES_RUBY,
GEANY_FILETYPES_SH,
GEANY_FILETYPES_TCL,
-
- /* markup languages */
GEANY_FILETYPES_CSS,
GEANY_FILETYPES_DOCBOOK,
GEANY_FILETYPES_HTML,
GEANY_FILETYPES_XML,
-
- /* miscellaneous languages */
GEANY_FILETYPES_CMAKE,
GEANY_FILETYPES_CONF,
GEANY_FILETYPES_DIFF,
@@ -86,9 +77,10 @@
GEANY_FILETYPES_SQL,
GEANY_FILETYPES_YAML,
- GEANY_FILETYPES_NONE, /* must be last filetype */
- GEANY_MAX_BUILT_IN_FILETYPES /* Use filetypes_array->len instead */
-} filetype_id;
+ /* ^ append items here */
+ GEANY_MAX_BUILT_IN_FILETYPES /* Don't use this, use filetypes_array->len instead */
+}
+filetype_id;
typedef enum
{
Modified: branches/reorder-filetypes/src/highlighting.c
===================================================================
--- branches/reorder-filetypes/src/highlighting.c 2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/highlighting.c 2009-03-20 16:18:32 UTC (rev 3640)
@@ -3433,7 +3433,7 @@
filetypes_load_config(filetype_idx, FALSE); /* load filetypes.ext */
/* load tags files (some lexers highlight global typenames) */
- if (filetype_idx < GEANY_FILETYPES_NONE)
+ if (filetype_idx != GEANY_FILETYPES_NONE)
symbols_global_tags_loaded(filetype_idx);
switch (filetype_idx)
Modified: branches/reorder-filetypes/src/plugindata.h
===================================================================
--- branches/reorder-filetypes/src/plugindata.h 2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/plugindata.h 2009-03-20 16:18:32 UTC (rev 3640)
@@ -51,7 +51,7 @@
* existing fields in the plugin data types have to be changed or reordered. */
/* This should usually stay the same if fields are only appended, assuming only pointers to
* structs and not structs themselves are declared by plugins. */
- GEANY_ABI_VERSION = 59
+ GEANY_ABI_VERSION = 60
};
/** Check the plugin can be loaded by Geany.
Modified: branches/reorder-filetypes/src/symbols.c
===================================================================
--- branches/reorder-filetypes/src/symbols.c 2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/symbols.c 2009-03-20 16:18:32 UTC (rev 3640)
@@ -1381,7 +1381,7 @@
g_free(utf8_fname);
- if (FILETYPE_ID(ft) < GEANY_FILETYPES_NONE)
+ if (FILETYPE_ID(ft) != GEANY_FILETYPES_NONE)
{
fnames = g_hash_table_lookup(hash, ft); /* may be NULL */
fnames = g_list_append(fnames, fname);
@@ -1417,13 +1417,14 @@
static void load_user_tags(filetype_id ft_id)
{
- static guchar tags_loaded[GEANY_FILETYPES_NONE] = {0};
+ static guchar tags_loaded[GEANY_MAX_BUILT_IN_FILETYPES - 1] = {0};
static GHashTable *lang_hash = NULL;
GList *fnames;
const GList *node;
const GeanyFiletype *ft = filetypes[ft_id];
- g_return_if_fail(ft_id < GEANY_FILETYPES_NONE);
+ g_return_if_fail(ft_id > 0);
+ g_return_if_fail(ft_id < GEANY_MAX_BUILT_IN_FILETYPES);
if (tags_loaded[ft_id])
return;
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