diff etc/srecode/test.srt @ 105407:84fc40980c51

* srecode: New directory for SRecode template files.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 03 Oct 2009 19:28:56 +0000
parents
children 1d1d5d9bd884
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/srecode/test.srt	Sat Oct 03 19:28:56 2009 +0000
@@ -0,0 +1,148 @@
+;; test.srt --- SRecode templates for testing
+
+;; Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+
+;; Author: Eric M. Ludlam <eric@siege-engine.com>
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+set mode "srecode-template-mode"
+set escape_start "$"
+set escape_end "$"
+set application "tests"
+
+set UTESTVAR1 ".SRT VAR 1"
+;;
+;; These are for testing features of template files.
+;;
+context test
+
+template test :user
+----
+$! This is a comment in the template. $
+;; $AUTHOR$
+;; $AUTHOR:upcase$
+----
+
+template subs :blank
+----
+;; Before Loop
+$#LOOP$
+;;  - loop stuff
+$/LOOP$
+;; After Loop
+----
+
+;; Before insertion
+;; After insertion
+
+template firstlast
+sectiondictionary "A"
+set MOOSE "FIRST"
+sectiondictionary "A"
+set MOOSE "MIDDLE"
+sectiondictionary "A"
+set MOOSE "LAST"
+----
+$#A$
+;; << -- $MOOSE$
+$#FIRST$;; I'm First$/FIRST$
+$#NOTFIRST$;; I'm Not First$/NOTFIRST$
+$#LAST$;; I'm Last$/LAST$
+$#NOTLAST$;; I'm Not Last$/NOTLAST$
+;; -- >>
+$/A$
+----
+
+
+template wrapsomething :region
+----
+;; Put this line in front:
+$REGIONTEXT$
+;; Put this line at the end:
+----
+
+template gapsomething :blank
+----
+### ALL ALONE ON A LINE ###
+----
+
+template inlinetext
+"Insert text that has no nelines"
+----
+ *In the middle* 
+----
+
+template includable :blank
+----
+;; An includable $COMMENT$ we could use.
+;; $^$
+;; Text after a point inserter.
+----
+
+template wrapinclude-basic
+----
+$>WI1:includable$
+----
+
+template wrapinclude-around
+----
+$<WI1:includable$Intermediate Comments$/WI1$
+----
+
+template complex-subdict
+sectiondictionary "A"
+set MYVAR1 "cow"
+set MYVAR2 "dog"
+set CPLX "I have a " macro "MYVAR1" " and a " macro "MYVAR2" "."
+----
+;; $#A$$CPLX$$/A$
+----
+
+template wrap-new-template
+sectiondictionary "NEWTMP"
+set DOC "A nice doc string goes here."
+----
+$<NEWTMP:declaration:function$Random text in the new template
+$/NEWTMP$
+----
+
+template column-data
+sectiondictionary "A"
+set MOOSE "FIRST"
+sectiondictionary "A"
+set MOOSE "VERY VERY LONG STRING THAT WILL BE CROPPED."
+sectiondictionary "A"
+set MOOSE "MIDDLE"
+sectiondictionary "A"
+set MOOSE "S"
+sectiondictionary "A"
+set MOOSE "LAST"
+----
+Table of Values:
+Left Justified       | Right Justified$#A$
+$|MOOSE:20:right$ | $|MOOSE:20:left$$/A$
+----
+
+template custom-arg-handler :utest
+sectiondictionary "A"
+set MOOSE "why"
+----
+OUTSIDE SECTION: $UTESTVAR1$
+INSIDE SECTION: $#A$$UTESTVAR1$$/A$
+----
+
+;; end
\ No newline at end of file