SF.net SVN: geany:[2805] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Wed Jul 23 14:44:28 UTC 2008
Revision: 2805
http://geany.svn.sourceforge.net/geany/?rev=2805&view=rev
Author: ntrel
Date: 2008-07-23 14:44:27 +0000 (Wed, 23 Jul 2008)
Log Message:
-----------
Add dox for FiletypeFuncs and some of GeanyFiletype.
Rename filetypes_detect_from_file() to
filetypes_detect_from_document().
Rename filetypes_detect_from_filename() to
filetypes_detect_from_file() because it also detects shebang lines.
Remove function prototype comments for filetypes.h (see filetypes.c
or API dox instead).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/document.c
trunk/src/filetypes.c
trunk/src/filetypes.h
trunk/src/plugindata.h
trunk/src/plugins.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-07-23 13:48:13 UTC (rev 2804)
+++ trunk/ChangeLog 2008-07-23 14:44:27 UTC (rev 2805)
@@ -5,6 +5,15 @@
Move utils_reload_configuration() to main.c.
* src/main.c:
Add doxygen file header for generating MainFuncs API documentation.
+ * src/plugindata.h, src/filetypes.c, src/filetypes.h, src/document.c,
+ src/plugins.c:
+ Add dox for FiletypeFuncs and some of GeanyFiletype.
+ Rename filetypes_detect_from_file() to
+ filetypes_detect_from_document().
+ Rename filetypes_detect_from_filename() to
+ filetypes_detect_from_file() because it also detects shebang lines.
+ Remove function prototype comments for filetypes.h (see filetypes.c
+ or API dox instead).
2008-07-22 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c 2008-07-23 13:48:13 UTC (rev 2804)
+++ trunk/src/document.c 2008-07-23 14:44:27 UTC (rev 2805)
@@ -572,7 +572,7 @@
/*document_set_filetype(idx, (ft == NULL) ? filetypes[GEANY_FILETYPES_NONE] : ft);*/
if (ft == NULL && filename != NULL) /* guess the filetype from the filename if one is given */
- ft = filetypes_detect_from_file(doc);
+ ft = filetypes_detect_from_document(doc);
document_set_filetype(doc, ft); /* also clears taglist */
if (ft == NULL)
@@ -1037,7 +1037,7 @@
/* "the" SCI signal (connect after initial setup(i.e. adding text)) */
g_signal_connect(doc->editor->sci, "sci-notify", G_CALLBACK(on_editor_notification), doc);
- use_ft = (ft != NULL) ? ft : filetypes_detect_from_file(doc);
+ use_ft = (ft != NULL) ? ft : filetypes_detect_from_document(doc);
}
else
{ /* reloading */
@@ -1260,7 +1260,7 @@
/* detect filetype */
if (FILETYPE_ID(doc->file_type) == GEANY_FILETYPES_NONE)
{
- GeanyFiletype *ft = filetypes_detect_from_file(doc);
+ GeanyFiletype *ft = filetypes_detect_from_document(doc);
document_set_filetype(doc, ft);
if (document_get_current() == doc)
Modified: trunk/src/filetypes.c
===================================================================
--- trunk/src/filetypes.c 2008-07-23 13:48:13 UTC (rev 2804)
+++ trunk/src/filetypes.c 2008-07-23 14:44:27 UTC (rev 2805)
@@ -21,7 +21,8 @@
* $Id$
*/
-/*
+/**
+ * @file filetypes.h
* Filetype detection, file extensions and filetype menu items.
*/
@@ -666,8 +667,8 @@
}
-/* Detect the filetype for document idx. */
-GeanyFiletype *filetypes_detect_from_file(GeanyDocument *doc)
+/* Detect the filetype for the document, checking for a shebang, then filename extension. */
+GeanyFiletype *filetypes_detect_from_document(GeanyDocument *doc)
{
GeanyFiletype *ft;
gchar *line;
@@ -682,9 +683,9 @@
}
-/* Detect filetype based on the filename extension.
- * utf8_filename can include the full path. */
-GeanyFiletype *filetypes_detect_from_filename(const gchar *utf8_filename)
+/** Detect filetype based on a shebang line in the file, or the filename extension. */
+/* Currently only used by external plugins. */
+GeanyFiletype *filetypes_detect_from_file(const gchar *utf8_filename)
{
gchar line[1024];
FILE *f;
Modified: trunk/src/filetypes.h
===================================================================
--- trunk/src/filetypes.h 2008-07-23 13:48:13 UTC (rev 2804)
+++ trunk/src/filetypes.h 2008-07-23 14:44:27 UTC (rev 2805)
@@ -29,7 +29,9 @@
#include "ScintillaWidget.h"
-/* each group should be alpha-sorted, based on filetype::name (not enum name) */
+/* Each group should be alpha-sorted, based on filetype::name (not enum name).
+ * Warning: remember to break the plugin ABI when adding items (this enum needs to be changed
+ * to work with an ABI-stable filetype::group_name field. */
typedef enum
{
/* normally compiled languages */
@@ -103,15 +105,17 @@
gboolean modified;
};
+/** Represents a filetype. */
struct GeanyFiletype
{
- filetype_id id;
- langType lang; /* represents the langType of tagmanager(see the table */
- /* in tagmanager/parsers.h), -1 represents all, -2 none */
- gchar *name; /* will be used as name for tagmanager */
- gchar *title; /* will be shown in the file open dialog */
- gchar *extension;
- gchar **pattern;
+ filetype_id id; /**< Index in @c filetypes_array. */
+ /** Represents the langType of tagmanager (see the table
+ * in tagmanager/parsers.h), -1 represents all, -2 none. */
+ langType lang;
+ gchar *name; /**< Used as name for tagmanager. E.g. "C". */
+ gchar *title; /**< Shown in the file open dialog. E.g. "C source file". */
+ gchar *extension; /**< Default file extension for new files. */
+ gchar **pattern; /**< Array of filename-matching wildcard strings. */
gchar *context_action_cmd;
gchar *comment_open;
gchar *comment_close;
@@ -130,22 +134,16 @@
GeanyFiletype *filetypes_lookup_by_name(const gchar *name);
-/* Calls filetypes_init_types() and creates the filetype menu. */
void filetypes_init(void);
-/* Create the filetype array and fill it with the known filetypes. */
void filetypes_init_types(void);
-/* Detect the filetype for document idx, checking for a shebang, then filename extension. */
-GeanyFiletype *filetypes_detect_from_file(GeanyDocument *doc);
+GeanyFiletype *filetypes_detect_from_document(GeanyDocument *doc);
GeanyFiletype *filetypes_detect_from_extension(const gchar *utf8_filename);
-/* Detect filetype based on the filename extension.
- * utf8_filename can include the full path. */
-GeanyFiletype *filetypes_detect_from_filename(const gchar *utf8_filename);
+GeanyFiletype *filetypes_detect_from_file(const gchar *utf8_filename);
-/* frees the array and all related pointers */
void filetypes_free_types(void);
void filetypes_load_config(gint ft_id, gboolean reload);
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2008-07-23 13:48:13 UTC (rev 2804)
+++ trunk/src/plugindata.h 2008-07-23 14:44:27 UTC (rev 2805)
@@ -36,7 +36,7 @@
/* The API version should be incremented whenever any plugin data types below are
* modified or appended to. */
-static const gint api_version = 80;
+static const gint api_version = 81;
/* The ABI version should be incremented whenever existing fields in the plugin
* data types below have to be changed or reordered. It should stay the same if fields
Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c 2008-07-23 13:48:13 UTC (rev 2804)
+++ trunk/src/plugins.c 2008-07-23 14:44:27 UTC (rev 2805)
@@ -231,7 +231,7 @@
static FiletypeFuncs filetype_funcs = {
- &filetypes_detect_from_filename,
+ &filetypes_detect_from_file,
&filetypes_lookup_by_name
};
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