SF.net SVN: geany:[4273] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Wed Sep 30 17:40:31 UTC 2009


Revision: 4273
          http://geany.svn.sourceforge.net/geany/?rev=4273&view=rev
Author:   ntrel
Date:     2009-09-30 17:40:10 +0000 (Wed, 30 Sep 2009)

Log Message:
-----------
Move filetype template defaults into custom file template files.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/Makefile.am
    trunk/src/templates.c
    trunk/wscript

Added Paths:
-----------
    trunk/data/templates/
    trunk/data/templates/files/
    trunk/data/templates/files/file.html
    trunk/data/templates/files/file.php
    trunk/data/templates/files/file.rb
    trunk/data/templates/files/file.tex
    trunk/data/templates/files/main.c
    trunk/data/templates/files/main.cxx
    trunk/data/templates/files/main.d
    trunk/data/templates/files/main.java
    trunk/data/templates/files/main.py
    trunk/data/templates/files/program.pas

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-09-30 14:55:25 UTC (rev 4272)
+++ trunk/ChangeLog	2009-09-30 17:40:10 UTC (rev 4273)
@@ -5,6 +5,14 @@
  * src/templates.c, doc/geany.txt, doc/geany.html:
    Read custom file templates from $prefix/share/geany/templates/files as
    well as user dir.
+ * src/templates.c, data/templates, data/templates/files,
+   data/templates/files/file.rb, data/templates/files/file.html,
+   data/templates/files/main.java, data/templates/files/main.c,
+   data/templates/files/main.cxx, data/templates/files/file.php,
+   data/templates/files/main.d, data/templates/files/program.pas,
+   data/templates/files/main.py, data/templates/files/file.tex,
+   wscript, Makefile.am:
+   Move filetype template defaults into custom file template files.
 
 
 2009-09-29  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am	2009-09-30 14:55:25 UTC (rev 4272)
+++ trunk/Makefile.am	2009-09-30 17:40:10 UTC (rev 4273)
@@ -22,7 +22,8 @@
 	$(srcdir)/data/filetypes.* \
 	data/filetype_extensions.conf \
 	data/snippets.conf \
-	data/ui_toolbar.xml
+	data/ui_toolbar.xml \
+	$(srcdir)/data/templates/files/*
 
 EXTRA_DIST = \
 	autogen.sh \
@@ -68,6 +69,13 @@
 	    $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/; \
 	  fi \
 	done
+	$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/templates;
+	$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/templates/files;
+	for file in $(srcdir)/data/templates/files/*; do \
+	  if test -f $$file; then \
+	    $(INSTALL_DATA) $$file $(DESTDIR)$(pkgdatadir)/templates/files/; \
+	  fi \
+	done
 
 
 BZIP2_ENV =--best

Added: trunk/data/templates/files/file.html
===================================================================
--- trunk/data/templates/files/file.html	                        (rev 0)
+++ trunk/data/templates/files/file.html	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,16 @@
+{fileheader}
+<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
+  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
+<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
+
+<head>
+	<title>{untitled}</title>
+	<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" />
+	<meta name=\"generator\" content=\"{geanyversion}\" />
+</head>
+
+<body>
+	
+</body>
+</html>
+

Added: trunk/data/templates/files/file.php
===================================================================
--- trunk/data/templates/files/file.php	                        (rev 0)
+++ trunk/data/templates/files/file.php	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,20 @@
+
+<?php
+{fileheader}
+?>
+
+<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
+  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
+<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
+
+<head>
+	<title>{untitled}</title>
+	<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" />
+	<meta name=\"generator\" content=\"{geanyversion}\" />
+</head>
+
+<body>
+	
+</body>
+</html>
+

Added: trunk/data/templates/files/file.rb
===================================================================
--- trunk/data/templates/files/file.rb	                        (rev 0)
+++ trunk/data/templates/files/file.rb	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,10 @@
+{fileheader}
+
+class StdClass
+	def initialize
+		
+	end
+end
+
+x = StdClass.new
+

Added: trunk/data/templates/files/file.tex
===================================================================
--- trunk/data/templates/files/file.tex	                        (rev 0)
+++ trunk/data/templates/files/file.tex	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,10 @@
+
+\\documentclass[a4paper]{article}
+\\usepackage[T1]{fontenc}
+\\usepackage[utf8]{inputenc}
+\\usepackage{lmodern}
+\\usepackage{babel}
+\\begin{document}
+
+\\end{document}
+

Added: trunk/data/templates/files/main.c
===================================================================
--- trunk/data/templates/files/main.c	                        (rev 0)
+++ trunk/data/templates/files/main.c	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,10 @@
+{fileheader}
+
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+	
+	return 0;
+}
+

Added: trunk/data/templates/files/main.cxx
===================================================================
--- trunk/data/templates/files/main.cxx	                        (rev 0)
+++ trunk/data/templates/files/main.cxx	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,10 @@
+{fileheader}
+
+#include <iostream>
+
+int main(int argc, char **argv)
+{
+	
+	return 0;
+}
+

Added: trunk/data/templates/files/main.d
===================================================================
--- trunk/data/templates/files/main.d	                        (rev 0)
+++ trunk/data/templates/files/main.d	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,10 @@
+{fileheader}
+
+import std.stdio;
+
+int main(char[][] args)
+{
+	
+	return 0;
+}
+

Added: trunk/data/templates/files/main.java
===================================================================
--- trunk/data/templates/files/main.java	                        (rev 0)
+++ trunk/data/templates/files/main.java	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,10 @@
+{fileheader}
+
+public class {untitled} {
+
+	public static void main (String args[]) {
+		
+		
+	}
+}
+

Added: trunk/data/templates/files/main.py
===================================================================
--- trunk/data/templates/files/main.py	                        (rev 0)
+++ trunk/data/templates/files/main.py	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+{fileheader}
+
+
+def main():
+	
+	return 0
+
+if __name__ == '__main__':
+	main()
+

Added: trunk/data/templates/files/program.pas
===================================================================
--- trunk/data/templates/files/program.pas	                        (rev 0)
+++ trunk/data/templates/files/program.pas	2009-09-30 17:40:10 UTC (rev 4273)
@@ -0,0 +1,12 @@
+{fileheader}
+
+program {untitled};
+
+uses crt;
+var i : byte;
+
+BEGIN
+	
+	
+END.
+

Modified: trunk/src/templates.c
===================================================================
--- trunk/src/templates.c	2009-09-30 14:55:25 UTC (rev 4272)
+++ trunk/src/templates.c	2009-09-30 17:40:10 UTC (rev 4273)
@@ -47,6 +47,8 @@
 static GtkWidget *toolbar_new_file_menu = NULL;
 
 
+/* TODO: implement custom insertion templates, put these into files in data/templates */
+
 /* default templates, only for initial tempate file creation on first start of Geany */
 static const gchar templates_gpl_notice[] = "\
 This program is free software; you can redistribute it and/or modify\n\
@@ -118,133 +120,13 @@
 \n\
  * \n\n\n";
 
+/* Used when starting a new file normally */
 static const gchar templates_filetype_none[] = "";
 
-static const gchar templates_filetype_c[] = "{fileheader}\n\n\
-#include <stdio.h>\n\
-\n\
-int main(int argc, char** argv)\n\
-{\n\
-	\n\
-	return 0;\n\
-}\n\
-";
-
-static const gchar templates_filetype_cpp[] = "{fileheader}\n\n\
-#include <iostream>\n\
-\n\
-int main(int argc, char** argv)\n\
-{\n\
-	\n\
-	return 0;\n\
-}\n\
-";
-
-static const gchar templates_filetype_d[] = "{fileheader}\n\n\
-import std.stdio;\n\
-\n\
-int main(char[][] args)\n\
-{\n\
-	\n\
-	return 0;\n\
-}\n\
-";
-
-static const gchar templates_filetype_php[] = "\
-<?php\n\
-{fileheader}\
-?>\n\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\" xml:lang=\"en\" lang=\"en\">\n\
-\n\
-<head>\n\
-	<title>{untitled}</title>\n\
-	<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" />\n\
-	<meta name=\"generator\" content=\"{geanyversion}\" />\n\
-</head>\n\
-\n\
-<body>\n\
-	\n\
-</body>\n\
-</html>\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\" xml:lang=\"en\" lang=\"en\">\n\
-\n\
-<head>\n\
-	<title>{untitled}</title>\n\
-	<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" />\n\
-	<meta name=\"generator\" content=\"{geanyversion}\" />\n\
-</head>\n\
-\n\
-<body>\n\
-	\n\
-</body>\n\
-</html>\n\
-";
-
-static const gchar templates_filetype_pascal[] = "{fileheader}\n\n\
-program {untitled};\n\
-\n\
-uses crt;\n\
-var i : byte;\n\
-\n\
-BEGIN\n\
-	\n\
-	\n\
-END.\n\
-";
-
-static const gchar templates_filetype_java[] = "{fileheader}\n\n\
-public class {untitled} {\n\
-\n\
-	public static void main (String args[]) {\
-		\n\
-		\n\
-	}\n\
-}\n\
-";
-
-static const gchar templates_filetype_ruby[] = "{fileheader}\n\n\
-class StdClass\n\
-	def initialize\n\
-		\n\
-	end\n\
-end\n\
-\n\
-x = StdClass.new\n\
-";
-
-static const gchar templates_filetype_python[] = "#!/usr/bin/env python\n\
-# -*- coding: utf-8 -*-\n#\n\
-{fileheader}\n\n\
-\n\
-def main():\n\
-	\n\
-	return 0\n\
-\n\
-if __name__ == '__main__':\n\
-	main()\n\
-";
-
-static const gchar templates_filetype_latex[] = "\
-\\documentclass[a4paper]{article}\n\
-\\usepackage[T1]{fontenc}\n\
-\\usepackage[utf8]{inputenc}\n\
-\\usepackage{lmodern}\n\
-\\usepackage{babel}\n\
-\\begin{document}\n\
-\n\
-\\end{document}\n\
-";
-
 static gchar *templates[GEANY_MAX_TEMPLATES];
 
-/* TODO: remove filetype templates, use custom file templates instead. */
+/* We should probably remove filetype templates support soon - users can use custom
+ * file templates instead. */
 static gchar *ft_templates[GEANY_MAX_BUILT_IN_FILETYPES] = {NULL};
 
 
@@ -335,6 +217,7 @@
 }
 
 
+/* Users should use custom filetypes instead, except for filetype none template */
 static void init_ft_templates(const gchar *year, const gchar *date, const gchar *datetime)
 {
 	filetype_id ft_id;
@@ -350,37 +233,8 @@
 			case GEANY_FILETYPES_NONE:
 				create_template_file_if_necessary(fname, templates_filetype_none);
 				break;
-			case GEANY_FILETYPES_C:
-				create_template_file_if_necessary(fname, templates_filetype_c);
+			default:
 				break;
-			case GEANY_FILETYPES_CPP:
-				create_template_file_if_necessary(fname, templates_filetype_cpp);
-				break;
-			case GEANY_FILETYPES_D:
-				create_template_file_if_necessary(fname, templates_filetype_d);
-				break;
-			case GEANY_FILETYPES_JAVA:
-				create_template_file_if_necessary(fname, templates_filetype_java);
-				break;
-			case GEANY_FILETYPES_PASCAL:
-				create_template_file_if_necessary(fname, templates_filetype_pascal);
-				break;
-			case GEANY_FILETYPES_PHP:
-				create_template_file_if_necessary(fname, templates_filetype_php);
-				break;
-			case GEANY_FILETYPES_HTML:
-				create_template_file_if_necessary(fname, templates_filetype_html);
-				break;
-			case GEANY_FILETYPES_RUBY:
-				create_template_file_if_necessary(fname, templates_filetype_ruby);
-				break;
-			case GEANY_FILETYPES_PYTHON:
-				create_template_file_if_necessary(fname, templates_filetype_python);
-				break;
-			case GEANY_FILETYPES_LATEX:
-				create_template_file_if_necessary(fname, templates_filetype_latex);
-				break;
-			default: break;
 		}
 		TEMPLATES_READ_FILE(fname, &ft_templates[ft_id]);
 		ft_templates[ft_id] = replace_all(ft_templates[ft_id], year, date, datetime);

Modified: trunk/wscript
===================================================================
--- trunk/wscript	2009-09-30 14:55:25 UTC (rev 4272)
+++ trunk/wscript	2009-09-30 17:40:10 UTC (rev 4273)
@@ -503,6 +503,7 @@
 	bld.install_files('${DATADIR}/%s' % dir, 'data/*.tags')
 	bld.install_files('${DATADIR}/%s' % dir, 'data/snippets.conf')
 	bld.install_files('${DATADIR}/%s' % dir, 'data/ui_toolbar.xml')
+	bld.install_files('${DATADIR}/%s/templates/files' % dir, 'data/templates/files/*.*')
 	bld.install_as('${DATADIR}/%s/GPL-2' % dir, 'COPYING')
 	# Icons
 	bld.install_files('${PREFIX}/share/icons'


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