Revision: 1433 http://svn.sourceforge.net/geany/?rev=1433&view=rev Author: ntrel Date: 2007-03-31 04:39:56 -0700 (Sat, 31 Mar 2007)
Log Message: ----------- Make file header optional for filetype templates - use the string '{fileheader}' to mark where the file header should be placed, which can be anywhere in the filetype template.
Modified Paths: -------------- trunk/ChangeLog trunk/doc/geany.docbook trunk/src/templates.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-03-30 16:34:51 UTC (rev 1432) +++ trunk/ChangeLog 2007-03-31 11:39:56 UTC (rev 1433) @@ -1,3 +1,11 @@ +2007-03-31 Nick Treleaven nick.treleaven@btinternet.com + + * src/templates.c, doc/geany.docbook: + Make file header optional for filetype templates - use the string + '{fileheader}' to mark where the file header should be placed, which + can be anywhere in the filetype template. + + 2007-03-30 Nick Treleaven nick.treleaven@btinternet.com
* geany.desktop.in:
Modified: trunk/doc/geany.docbook =================================================================== --- trunk/doc/geany.docbook 2007-03-30 16:34:51 UTC (rev 1432) +++ trunk/doc/geany.docbook 2007-03-31 11:39:56 UTC (rev 1433) @@ -2005,17 +2005,29 @@ description. </para> <section> + <title>Template metadata</title> + <para> + Metadata can be used with all templates, but by default user set metadata is only + used for the ChangeLog and File header templates. + </para> + <para> + In the configuration dialog you can find a tab "Templates" + (see <xref linkend="confdialog_templ"/>). You can define the default values which + will be inserted in the templates. You should restart <application>Geany</application> + after making changes, because they are only read at startup. + </para> + </section> + <section> <title>Filetype templates</title> <para> Filetype templates are templates used as the basis of a new file. To use them, choose the <literal>New (with Template)</literal> menu item from the - <literal>File</literal> menu. At creation of a new file with a filetype template, the - fileheader template is automatically prepended. + <literal>File</literal> menu. </para> <para> - By default, templates are created for certain filetypes. Other filetype templates can be + By default, templates are created for some filetypes. Other filetype templates can be added by creating the appropriate template file and restarting - <application>Geany</application>. + <application>Geany</application>. You can also edit the default filetype templates. </para> <para> Filetype template files are read from the <filename>~/.geany/templates</filename> @@ -2027,25 +2039,17 @@ '<filename>filetypes.</filename>'. </para> <para> + The file's contents are just the text to place in the document, except for the + optional <literal>{fileheader}</literal> template wildcard. This can be placed anywhere, + but is usually on the first line of the file, followed by a blank line. + </para> + <para> There is also a template file <filename>template.none</filename> which is used when the <literal>New</literal> command is used without a filetype. This is empty by default. </para> </section> <section> - <title>Template metadata</title> - <para> - Metadata can be used with all templates, but by default user set metadata is only - used for the ChangeLog and File header templates. - </para> - <para> - In the configuration dialog you can find a tab "Templates" - (see <xref linkend="confdialog_templ"/>). You can define the default values which - will be inserted in the templates. You should restart <application>Geany</application> - after making changes, because they are only read at startup. - </para> - </section> - <section> <title>Customizing templates</title> <para> Each template can be customized to your needs. The templates are stored in the @@ -2162,6 +2166,13 @@ description template.</entry> <entry>function description</entry> </row> + <row> + <entry>fileheader</entry> + <entry>The file header template. + This wildcard will only be replaced in filetype + templates.</entry> + <entry>filetypes</entry> + </row> </tbody> </tgroup> </table>
Modified: trunk/src/templates.c =================================================================== --- trunk/src/templates.c 2007-03-30 16:34:51 UTC (rev 1432) +++ trunk/src/templates.c 2007-03-31 11:39:56 UTC (rev 1433) @@ -51,7 +51,8 @@ \n\ You should have received a copy of the GNU General Public License\n\ along with this program; if not, write to the Free Software\n\ -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n\ +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,\n\ +MA 02110-1301, USA.\n\ ";
static const gchar templates_bsd_notice[] = "\ @@ -109,7 +110,7 @@
static const gchar templates_filetype_none[] = "";
-static const gchar templates_filetype_c[] = "\n\ +static const gchar templates_filetype_c[] = "{fileheader}\n\n\ #include <stdio.h>\n\ \n\ int main(int argc, char** argv)\n\ @@ -119,7 +120,7 @@ }\n\ ";
-static const gchar templates_filetype_cpp[] = "\n\ +static const gchar templates_filetype_cpp[] = "{fileheader}\n\n\ #include <iostream>\n\ \n\ int main(int argc, char** argv)\n\ @@ -129,7 +130,7 @@ }\n\ ";
-static const gchar templates_filetype_d[] = "\n\ +static const gchar templates_filetype_d[] = "{fileheader}\n\n\ import std.stdio;\n\ \n\ int main(char[][] args)\n\ @@ -139,7 +140,8 @@ }\n\ ";
-static const gchar templates_filetype_php[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\ +static const gchar templates_filetype_php[] = "{fileheader}\n\ +<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\ \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\ <html xmlns="http://www.w3.org/1999/xhtml%5C" xml:lang="en" lang="en">\n\ \n\ @@ -155,7 +157,8 @@ </html>\n\ ";
-static const gchar templates_filetype_html[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\ +static const gchar templates_filetype_html[] = "{fileheader}\n\ +<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\ \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\ <html xmlns="http://www.w3.org/1999/xhtml%5C" xml:lang="en" lang="en">\n\ \n\ @@ -171,7 +174,7 @@ </html>\n\ ";
-static const gchar templates_filetype_pascal[] = "\n\ +static const gchar templates_filetype_pascal[] = "{fileheader}\n\n\ program {untitled};\n\ \n\ uses crt;\n\ @@ -183,7 +186,7 @@ END.\n\ ";
-static const gchar templates_filetype_java[] = "\n\ +static const gchar templates_filetype_java[] = "{fileheader}\n\n\ public class {untitled} {\n\ \n\ public static void main (String args[]) {\ @@ -193,8 +196,7 @@ }\n\ ";
-static const gchar templates_filetype_ruby[] = "\n\ -\n\ +static const gchar templates_filetype_ruby[] = "{fileheader}\n\n\ class StdClass\n\ def initialize\n\ \n\ @@ -560,7 +562,6 @@
gchar *templates_get_template_new_file(filetype *ft) { - gchar *template = NULL; gchar *ft_template = NULL; gchar *file_header = NULL;
@@ -569,10 +570,9 @@
file_header = get_file_header(ft, NULL); // file template only used for new files ft_template = get_file_template(ft); - template = g_strconcat(file_header, "\n", ft_template, NULL); - g_free(ft_template); + ft_template = utils_str_replace(ft_template, "{fileheader}", file_header); g_free(file_header); - return template; + return ft_template; }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.