SF.net SVN: geany: [1305] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Mon Feb 19 13:26:06 UTC 2007
Revision: 1305
http://svn.sourceforge.net/geany/?rev=1305&view=rev
Author: ntrel
Date: 2007-02-19 05:26:06 -0800 (Mon, 19 Feb 2007)
Log Message:
-----------
Support filetype templates for all filetypes (scan
~/.geany/templates/filetype.* at startup).
Default templates are now created in init_ft_templates().
Move on_new_with_template() to templates.c.
Move on_filetype_change() to filetypes.c.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/callbacks.h
trunk/src/filetypes.c
trunk/src/highlighting.c
trunk/src/main.c
trunk/src/templates.c
trunk/src/templates.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/ChangeLog 2007-02-19 13:26:06 UTC (rev 1305)
@@ -1,3 +1,14 @@
+2007-02-19 Nick Treleaven <nick.treleaven at btinternet.com>
+
+ * src/templates.c, src/templates.h, src/highlighting.c,
+ src/callbacks.c, src/callbacks.h, src/filetypes.c, src/main.c:
+ Support filetype templates for all filetypes (scan
+ ~/.geany/templates/filetype.* at startup).
+ Default filetype templates are now created in init_ft_templates().
+ Move on_new_with_template() to templates.c.
+ Move on_filetype_change() to filetypes.c.
+
+
2007-02-18 Enrico Troeger <enrico.troeger at uvena.de>
* data/filetypes.ruby, src/highlighting.c:
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/src/callbacks.c 2007-02-19 13:26:06 UTC (rev 1305)
@@ -196,15 +196,6 @@
void
-on_new_with_template (GtkMenuItem *menuitem,
- gpointer user_data)
-{
- document_new_file(NULL, (filetype*) user_data);
-}
-
-
-
-void
on_save1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
@@ -1070,17 +1061,6 @@
void
-on_filetype_change (GtkMenuItem *menuitem,
- gpointer user_data)
-{
- gint idx = document_get_cur_idx();
- if (app->ignore_callback || idx < 0 || ! doc_list[idx].is_valid) return;
-
- document_set_filetype(idx, (filetype*)user_data);
-}
-
-
-void
on_to_lower_case1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
Modified: trunk/src/callbacks.h
===================================================================
--- trunk/src/callbacks.h 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/src/callbacks.h 2007-02-19 13:26:06 UTC (rev 1305)
@@ -221,10 +221,6 @@
gpointer user_data);
void
-on_filetype_change (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
on_to_lower_case1_activate (GtkMenuItem *menuitem,
gpointer user_data);
@@ -324,10 +320,6 @@
gpointer user_data);
void
-on_new_with_template (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
on_toolbutton_new_clicked (GtkToolButton *toolbutton,
gpointer user_data);
Modified: trunk/src/filetypes.c
===================================================================
--- trunk/src/filetypes.c 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/src/filetypes.c 2007-02-19 13:26:06 UTC (rev 1305)
@@ -28,7 +28,6 @@
#include "filetypes.h"
#include "highlighting.h"
#include "support.h"
-#include "callbacks.h"
#include "templates.h"
#include "msgwindow.h"
#include "utils.h"
@@ -73,7 +72,6 @@
static void filetypes_create_menu_item(GtkWidget *menu, gchar *label, filetype *ftype);
-static void filetypes_create_newmenu_item(GtkWidget *menu, gchar *label, filetype *ftype);
static void filetypes_init_build_programs(filetype *ftype);
static GtkWidget *radio_items[GEANY_MAX_FILE_TYPES];
@@ -123,7 +121,6 @@
void filetypes_init_types()
{
GtkWidget *filetype_menu = lookup_widget(app->window, "set_filetype1_menu");
- GtkWidget *template_menu = lookup_widget(app->window, "menu_new_with_template1_menu");
#define C // these macros are only to ease navigation
filetypes[GEANY_FILETYPES_C] = g_new0(filetype, 1);
@@ -716,25 +713,6 @@
filetypes[GEANY_FILETYPES_ALL]->comment_close = NULL;
filetypes_init_build_programs(filetypes[GEANY_FILETYPES_ALL]);
filetypes_create_menu_item(filetype_menu, _("None"), filetypes[GEANY_FILETYPES_ALL]);
-
- // now add the items for the new file menu
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_C]->title,
- filetypes[GEANY_FILETYPES_C]);
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_CPP]->title,
- filetypes[GEANY_FILETYPES_CPP]);
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_D]->title,
- filetypes[GEANY_FILETYPES_D]);
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_JAVA]->title,
- filetypes[GEANY_FILETYPES_JAVA]);
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_PASCAL]->title,
- filetypes[GEANY_FILETYPES_PASCAL]);
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_RUBY]->title,
- filetypes[GEANY_FILETYPES_RUBY]);
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_PHP]->title,
- filetypes[GEANY_FILETYPES_PHP]);
- filetypes_create_newmenu_item(template_menu, filetypes[GEANY_FILETYPES_HTML]->title,
- filetypes[GEANY_FILETYPES_HTML]);
-
}
@@ -852,6 +830,17 @@
}
+static void
+on_filetype_change (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ gint idx = document_get_cur_idx();
+ if (app->ignore_callback || idx < 0 || ! doc_list[idx].is_valid) return;
+
+ document_set_filetype(idx, (filetype*)user_data);
+}
+
+
static void filetypes_create_menu_item(GtkWidget *menu, gchar *label, filetype *ftype)
{
static GSList *group = NULL;
@@ -865,19 +854,6 @@
}
-static void filetypes_create_newmenu_item(GtkWidget *menu, gchar *label, filetype *ftype)
-{
- GtkWidget *tmp_menu = gtk_menu_item_new_with_label(label);
- GtkWidget *tmp_button = gtk_menu_item_new_with_label(label);
- gtk_widget_show(tmp_menu);
- gtk_widget_show(tmp_button);
- gtk_container_add(GTK_CONTAINER(menu), tmp_menu);
- gtk_container_add(GTK_CONTAINER(app->new_file_menu), tmp_button);
- g_signal_connect((gpointer) tmp_menu, "activate", G_CALLBACK(on_new_with_template), (gpointer) ftype);
- g_signal_connect((gpointer) tmp_button, "activate", G_CALLBACK(on_new_with_template), (gpointer) ftype);
-}
-
-
/* frees the array and all related pointers */
void filetypes_free_types()
{
@@ -981,9 +957,9 @@
{
gchar *result, *tmp = g_strdup(filetypes[filetype_idx]->name);
+ // Handle any special extensions different from lowercase filetype->name
switch (filetype_idx)
{
- case GEANY_FILETYPES_ALL: result = g_strdup("common"); break;
case GEANY_FILETYPES_CPP: result = g_strdup("cpp"); break;
case GEANY_FILETYPES_MAKE: result = g_strdup("makefile"); break;
case GEANY_FILETYPES_OMS: result = g_strdup("oms"); break;
Modified: trunk/src/highlighting.c
===================================================================
--- trunk/src/highlighting.c 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/src/highlighting.c 2007-02-19 13:26:06 UTC (rev 1305)
@@ -122,9 +122,11 @@
}
-static void load_keyfiles(GKeyFile *config, GKeyFile *config_home, gint filetype_idx)
+static void load_keyfiles(GKeyFile *config, GKeyFile *config_home, filetype_id ft_id)
{
- gchar *ext = filetypes_get_conf_extension(filetype_idx);
+ // highlighting uses GEANY_FILETYPES_ALL for common settings
+ gchar *ext = (ft_id != GEANY_FILETYPES_ALL) ?
+ filetypes_get_conf_extension(ft_id) : g_strdup("common");
gchar *f0 = g_strconcat(app->datadir, G_DIR_SEPARATOR_S "filetypes.", ext, NULL);
gchar *f = g_strconcat(app->configdir,
G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.", ext, NULL);
Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/src/main.c 2007-02-19 13:26:06 UTC (rev 1305)
@@ -597,8 +597,6 @@
ui_create_insert_date_menu_items();
keybindings_init();
notebook_init();
- templates_init();
- document_init_doclist();
filetypes_init_types();
#ifdef GEANY_DEBUG
if (generate_datafiles)
@@ -607,6 +605,8 @@
exit(0);
}
#endif
+ templates_init();
+ document_init_doclist();
configuration_read_filetype_extensions();
// set window icon
Modified: trunk/src/templates.c
===================================================================
--- trunk/src/templates.c 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/src/templates.c 2007-02-19 13:26:06 UTC (rev 1305)
@@ -201,57 +201,40 @@
static gchar *templates[GEANY_MAX_TEMPLATES];
+static gchar *ft_templates[GEANY_MAX_FILE_TYPES] = {NULL};
// some simple macros to reduce code size and make the code readable
-#define TEMPLATES_GET_FILENAME(x) g_strconcat(app->configdir, \
- G_DIR_SEPARATOR_S GEANY_TEMPLATES_SUBDIR G_DIR_SEPARATOR_S, x, NULL)
-#define TEMPLATES_CREATE_FILE(x, y) if (! g_file_test(x, G_FILE_TEST_EXISTS)) utils_write_file(x, y)
-#define TEMPLATES_READ_FILE(x, y) g_file_get_contents(x, y, NULL, NULL);
+#define TEMPLATES_GET_FILENAME(shortname) \
+ g_strconcat(app->configdir, \
+ G_DIR_SEPARATOR_S GEANY_TEMPLATES_SUBDIR G_DIR_SEPARATOR_S, shortname, NULL)
+#define TEMPLATES_CREATE_FILE(fname, text) \
+ if (! g_file_test(fname, G_FILE_TEST_EXISTS)) \
+ utils_write_file(fname, text)
+#define TEMPLATES_READ_FILE(fname, contents_ptr) \
+ g_file_get_contents(fname, contents_ptr, NULL, NULL);
+
+
// prototype, because this function should never be used outside of templates.c
-static gchar *templates_replace_all(gchar *source, gchar *year, gchar *date);
+static gchar *templates_replace_all(gchar *source, const gchar *year, const gchar *date);
-void templates_init(void)
+static void init_general_templates(const gchar *year, const gchar *date)
{
gchar *template_filename_fileheader = TEMPLATES_GET_FILENAME("fileheader");
gchar *template_filename_gpl = TEMPLATES_GET_FILENAME("gpl");
gchar *template_filename_bsd = TEMPLATES_GET_FILENAME("bsd");
gchar *template_filename_function = TEMPLATES_GET_FILENAME("function");
gchar *template_filename_changelog = TEMPLATES_GET_FILENAME("changelog");
- gchar *template_filename_filetype_none = TEMPLATES_GET_FILENAME("filetype.none");
- gchar *template_filename_filetype_c = TEMPLATES_GET_FILENAME("filetype.c");
- gchar *template_filename_filetype_cpp = TEMPLATES_GET_FILENAME("filetype.cpp");
- gchar *template_filename_filetype_d = TEMPLATES_GET_FILENAME("filetype.d");
- gchar *template_filename_filetype_java = TEMPLATES_GET_FILENAME("filetype.java");
- gchar *template_filename_filetype_pascal = TEMPLATES_GET_FILENAME("filetype.pascal");
- gchar *template_filename_filetype_php = TEMPLATES_GET_FILENAME("filetype.php");
- gchar *template_filename_filetype_html = TEMPLATES_GET_FILENAME("filetype.html");
- gchar *template_filename_filetype_ruby = TEMPLATES_GET_FILENAME("filetype.ruby");
- time_t tp = time(NULL);
- const struct tm *tm = localtime(&tp);
- gchar *year = g_malloc0(5);
- gchar *date = utils_get_date();
- strftime(year, 5, "%Y", tm);
-
// create the template files in the configuration directory, if they don't exist
TEMPLATES_CREATE_FILE(template_filename_fileheader, templates_fileheader);
TEMPLATES_CREATE_FILE(template_filename_gpl, templates_gpl_notice);
TEMPLATES_CREATE_FILE(template_filename_bsd, templates_bsd_notice);
TEMPLATES_CREATE_FILE(template_filename_function, templates_function_description);
TEMPLATES_CREATE_FILE(template_filename_changelog, templates_changelog);
- TEMPLATES_CREATE_FILE(template_filename_filetype_none, templates_filetype_none);
- TEMPLATES_CREATE_FILE(template_filename_filetype_c, templates_filetype_c);
- TEMPLATES_CREATE_FILE(template_filename_filetype_cpp, templates_filetype_cpp);
- TEMPLATES_CREATE_FILE(template_filename_filetype_d, templates_filetype_d);
- TEMPLATES_CREATE_FILE(template_filename_filetype_java, templates_filetype_java);
- TEMPLATES_CREATE_FILE(template_filename_filetype_pascal, templates_filetype_pascal);
- TEMPLATES_CREATE_FILE(template_filename_filetype_php, templates_filetype_php);
- TEMPLATES_CREATE_FILE(template_filename_filetype_html, templates_filetype_html);
- TEMPLATES_CREATE_FILE(template_filename_filetype_ruby, templates_filetype_ruby);
// read the contents
TEMPLATES_READ_FILE(template_filename_fileheader, &templates[GEANY_TEMPLATE_FILEHEADER]);
@@ -269,51 +252,101 @@
TEMPLATES_READ_FILE(template_filename_changelog, &templates[GEANY_TEMPLATE_CHANGELOG]);
templates[GEANY_TEMPLATE_CHANGELOG] = templates_replace_all(templates[GEANY_TEMPLATE_CHANGELOG], year, date);
- TEMPLATES_READ_FILE(template_filename_filetype_none, &templates[GEANY_TEMPLATE_FILETYPE_NONE]);
- templates[GEANY_TEMPLATE_FILETYPE_NONE] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_NONE], year, date);
+ // free the whole stuff
+ g_free(template_filename_fileheader);
+ g_free(template_filename_gpl);
+ g_free(template_filename_bsd);
+ g_free(template_filename_function);
+ g_free(template_filename_changelog);
+}
- TEMPLATES_READ_FILE(template_filename_filetype_c, &templates[GEANY_TEMPLATE_FILETYPE_C]);
- templates[GEANY_TEMPLATE_FILETYPE_C] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_C], year, date);
- TEMPLATES_READ_FILE(template_filename_filetype_d, &templates[GEANY_TEMPLATE_FILETYPE_D]);
- templates[GEANY_TEMPLATE_FILETYPE_D] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_D], year, date);
+static void init_ft_templates(const gchar *year, const gchar *date)
+{
+ filetype_id ft_id;
- TEMPLATES_READ_FILE(template_filename_filetype_cpp, &templates[GEANY_TEMPLATE_FILETYPE_CPP]);
- templates[GEANY_TEMPLATE_FILETYPE_CPP] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_CPP], year, date);
+ for (ft_id = 0; ft_id < GEANY_MAX_FILE_TYPES; ft_id++)
+ {
+ gchar *ext = filetypes_get_conf_extension(ft_id);
+ gchar *shortname = g_strconcat("filetype.", ext, NULL);
+ gchar *fname = TEMPLATES_GET_FILENAME(shortname);
- TEMPLATES_READ_FILE(template_filename_filetype_java, &templates[GEANY_TEMPLATE_FILETYPE_JAVA]);
- templates[GEANY_TEMPLATE_FILETYPE_JAVA] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_JAVA], year, date);
+ switch (ft_id)
+ {
+ case GEANY_FILETYPES_ALL: TEMPLATES_CREATE_FILE(fname, templates_filetype_none); break;
+ case GEANY_FILETYPES_C: TEMPLATES_CREATE_FILE(fname, templates_filetype_c); break;
+ case GEANY_FILETYPES_CPP: TEMPLATES_CREATE_FILE(fname, templates_filetype_cpp); break;
+ case GEANY_FILETYPES_D: TEMPLATES_CREATE_FILE(fname, templates_filetype_d); break;
+ case GEANY_FILETYPES_JAVA: TEMPLATES_CREATE_FILE(fname, templates_filetype_java); break;
+ case GEANY_FILETYPES_PASCAL:TEMPLATES_CREATE_FILE(fname, templates_filetype_pascal); break;
+ case GEANY_FILETYPES_PHP: TEMPLATES_CREATE_FILE(fname, templates_filetype_php); break;
+ case GEANY_FILETYPES_HTML: TEMPLATES_CREATE_FILE(fname, templates_filetype_html); break;
+ case GEANY_FILETYPES_RUBY: TEMPLATES_CREATE_FILE(fname, templates_filetype_ruby); break;
+ default: break;
+ }
+ TEMPLATES_READ_FILE(fname, &ft_templates[ft_id]);
+ ft_templates[ft_id] = templates_replace_all(ft_templates[ft_id], year, date);
- TEMPLATES_READ_FILE(template_filename_filetype_pascal, &templates[GEANY_TEMPLATE_FILETYPE_PASCAL]);
- templates[GEANY_TEMPLATE_FILETYPE_PASCAL] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_PASCAL], year, date);
+ g_free(fname);
+ g_free(shortname);
+ g_free(ext);
+ }
+}
- TEMPLATES_READ_FILE(template_filename_filetype_php, &templates[GEANY_TEMPLATE_FILETYPE_PHP]);
- templates[GEANY_TEMPLATE_FILETYPE_PHP] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_PHP], year, date);
- TEMPLATES_READ_FILE(template_filename_filetype_html, &templates[GEANY_TEMPLATE_FILETYPE_HTML]);
- templates[GEANY_TEMPLATE_FILETYPE_HTML] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_HTML], year, date);
+static void
+on_new_with_template (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ document_new_file(NULL, (filetype*) user_data);
+}
- TEMPLATES_READ_FILE(template_filename_filetype_ruby, &templates[GEANY_TEMPLATE_FILETYPE_RUBY]);
- templates[GEANY_TEMPLATE_FILETYPE_RUBY] = templates_replace_all(templates[GEANY_TEMPLATE_FILETYPE_RUBY], year, date);
+// template items for the new file menu
+static void create_new_menu_items()
+{
+ GtkWidget *template_menu = lookup_widget(app->window, "menu_new_with_template1_menu");
+ filetype_id ft_id;
- // free the whole stuff
+ for (ft_id = 0; ft_id < GEANY_MAX_FILE_TYPES; ft_id++)
+ {
+ GtkWidget *tmp_menu, *tmp_button;
+ filetype *ft = filetypes[ft_id];
+ const gchar *label = ft->title;
+
+ if (ft_templates[ft_id] == NULL)
+ {
+ continue;
+ }
+ tmp_menu = gtk_menu_item_new_with_label(label);
+ tmp_button = gtk_menu_item_new_with_label(label);
+ gtk_widget_show(tmp_menu);
+ gtk_widget_show(tmp_button);
+ gtk_container_add(GTK_CONTAINER(template_menu), tmp_menu);
+ gtk_container_add(GTK_CONTAINER(app->new_file_menu), tmp_button);
+ g_signal_connect((gpointer) tmp_menu, "activate",
+ G_CALLBACK(on_new_with_template), (gpointer) ft);
+ g_signal_connect((gpointer) tmp_button, "activate",
+ G_CALLBACK(on_new_with_template), (gpointer) ft);
+ }
+}
+
+
+void templates_init(void)
+{
+ time_t tp = time(NULL);
+ const struct tm *tm = localtime(&tp);
+ gchar *year = g_malloc0(5);
+ gchar *date = utils_get_date();
+
+ strftime(year, 5, "%Y", tm);
+
+ init_general_templates(year, date);
+ init_ft_templates(year, date);
+ create_new_menu_items();
+
g_free(date);
g_free(year);
- g_free(template_filename_fileheader);
- g_free(template_filename_gpl);
- g_free(template_filename_bsd);
- g_free(template_filename_function);
- g_free(template_filename_changelog);
- g_free(template_filename_filetype_none);
- g_free(template_filename_filetype_c);
- g_free(template_filename_filetype_cpp);
- g_free(template_filename_filetype_d);
- g_free(template_filename_filetype_java);
- g_free(template_filename_filetype_php);
- g_free(template_filename_filetype_html);
- g_free(template_filename_filetype_pascal);
- g_free(template_filename_filetype_ruby);
}
@@ -514,28 +547,9 @@
static gchar *get_file_template(filetype *ft)
{
- switch (FILETYPE_ID(ft))
- {
- case GEANY_FILETYPES_ALL:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_NONE); break;
- case GEANY_FILETYPES_C:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_C); break;
- case GEANY_FILETYPES_CPP:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_CPP); break;
- case GEANY_FILETYPES_PHP:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_PHP); break;
- case GEANY_FILETYPES_JAVA:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_JAVA); break;
- case GEANY_FILETYPES_PASCAL:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_PASCAL); break;
- case GEANY_FILETYPES_RUBY:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_RUBY); break;
- case GEANY_FILETYPES_D:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_D); break;
- case GEANY_FILETYPES_HTML:
- return templates_get_template_generic(GEANY_TEMPLATE_FILETYPE_HTML); break;
- default: return NULL;
- }
+ filetype_id ft_id = FILETYPE_ID(ft);
+
+ return g_strdup(ft_templates[ft_id]);
}
@@ -604,7 +618,7 @@
}
-static gchar *templates_replace_all(gchar *text, gchar *year, gchar *date)
+static gchar *templates_replace_all(gchar *text, const gchar *year, const gchar *date)
{
text = utils_str_replace(text, "{year}", year);
text = utils_str_replace(text, "{date}", date);
Modified: trunk/src/templates.h
===================================================================
--- trunk/src/templates.h 2007-02-18 13:24:20 UTC (rev 1304)
+++ trunk/src/templates.h 2007-02-19 13:26:06 UTC (rev 1305)
@@ -50,17 +50,6 @@
GEANY_TEMPLATE_FILEHEADER,
GEANY_TEMPLATE_CHANGELOG,
GEANY_TEMPLATE_FUNCTION,
-
- GEANY_TEMPLATE_FILETYPE_NONE,
- GEANY_TEMPLATE_FILETYPE_C,
- GEANY_TEMPLATE_FILETYPE_CPP,
- GEANY_TEMPLATE_FILETYPE_JAVA,
- GEANY_TEMPLATE_FILETYPE_PHP,
- GEANY_TEMPLATE_FILETYPE_PASCAL,
- GEANY_TEMPLATE_FILETYPE_RUBY,
- GEANY_TEMPLATE_FILETYPE_D,
- GEANY_TEMPLATE_FILETYPE_HTML,
-
GEANY_MAX_TEMPLATES
};
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