From 3a754133dbc138390503341fd2e9beba3e43aa4b Mon Sep 17 00:00:00 2001
From: Jose Antonio Marquez
Date: Fri, 27 Jan 2012 12:05:17 -0800
Subject: Merged old FileIO
---
imports/codemirror/mode/jinja2/index.html | 37 +++++++++++++++++++++++++++
imports/codemirror/mode/jinja2/jinja2.js | 42 +++++++++++++++++++++++++++++++
2 files changed, 79 insertions(+)
create mode 100755 imports/codemirror/mode/jinja2/index.html
create mode 100755 imports/codemirror/mode/jinja2/jinja2.js
(limited to 'imports/codemirror/mode/jinja2')
diff --git a/imports/codemirror/mode/jinja2/index.html b/imports/codemirror/mode/jinja2/index.html
new file mode 100755
index 00000000..021a2829
--- /dev/null
+++ b/imports/codemirror/mode/jinja2/index.html
@@ -0,0 +1,37 @@
+
+
+
+ CodeMirror: Jinja2 mode
+
+
+
+
+
+
+
+ CodeMirror: Jinja2 mode
+
+
+
+
diff --git a/imports/codemirror/mode/jinja2/jinja2.js b/imports/codemirror/mode/jinja2/jinja2.js
new file mode 100755
index 00000000..75419d84
--- /dev/null
+++ b/imports/codemirror/mode/jinja2/jinja2.js
@@ -0,0 +1,42 @@
+CodeMirror.defineMode("jinja2", function(config, parserConf) {
+ var keywords = ["block", "endblock", "for", "endfor", "in", "true", "false",
+ "loop", "none", "self", "super", "if", "as", "not", "and",
+ "else", "import", "with", "without", "context"];
+ keywords = new RegExp("^((" + keywords.join(")|(") + "))\\b");
+
+ function tokenBase (stream, state) {
+ var ch = stream.next();
+ if (ch == "{") {
+ if (ch = stream.eat(/\{|%|#/)) {
+ stream.eat("-");
+ state.tokenize = inTag(ch);
+ return "tag";
+ }
+ }
+ }
+ function inTag (close) {
+ if (close == "{") {
+ close = "}";
+ }
+ return function (stream, state) {
+ var ch = stream.next();
+ if ((ch == close || (ch == "-" && stream.eat(close)))
+ && stream.eat("}")) {
+ state.tokenize = tokenBase;
+ return "tag";
+ }
+ if (stream.match(keywords)) {
+ return "keyword";
+ }
+ return close == "#" ? "comment" : "string";
+ };
+ }
+ return {
+ startState: function () {
+ return {tokenize: tokenBase};
+ },
+ token: function (stream, state) {
+ return state.tokenize(stream, state);
+ }
+ };
+});
--
cgit v1.2.3