1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
5 <key>beforeRunningCommand</key>
8 <string>. "$TM_SUPPORT_PATH/lib/webpreview.sh"
9 html_header "Jinja Syntax Validation" "Jinja Templates"
11 export TMPFILE="$(mktemp -t tm_jinja_test__)"
12 cat /dev/stdin > $TMPFILE
16 from jinja import Environment
17 from jinja.exceptions import TemplateSyntaxError
19 except ImportError, e:
20 print "<h2>Error</h2>"
21 print "<p>Jinja is not installed on this system, cannot perform syntax check.</p>"
24 from cgi import escape
26 f = file(os.environ['TMPFILE'])
32 e.parse(source, os.environ['TM_FILEPATH'])
33 except TemplateSyntaxError, err:
34 print e.from_string('''
35 <h2>Syntax Error in Line {{ err.lineno or '?' }}</h2>
36 <p>{{ err.message|e }}</p>
37 <p><a href="txmt://open/?url=file://{{ err.filename|urlencode }}&line={{ err.lineno }}">Go To Line</a></p>
40 print '<h2>Success</h2>'
41 print '<p>no syntax errors found!</p>'
47 <string>document</string>
48 <key>keyEquivalent</key>
51 <string>Validate Syntax</string>
53 <string>showAsHTML</string>
55 <string>source.jinja, text.html.jinja</string>
57 <string>07198D95-F344-47EB-B1F2-69F2DC10BA1F</string>