##// END OF EJS Templates
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking...
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking for the LRU implementation, this it's safer to use for dogpile. We used it before with beaker, so it's generally more stable.

File last commit:

r346:1a48416d default
r2945:ec5716e4 default
Show More
handlebars.js
62 lines | 2.1 KiB | application/javascript | JavascriptLexer
project: added all source files and assets
r1 // CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
codemirror: update from 5.4.0 to 5.11.0, fixes #3154
r346 mod(require("../../lib/codemirror"), require("../../addon/mode/simple"), require("../../addon/mode/multiplex"));
project: added all source files and assets
r1 else if (typeof define == "function" && define.amd) // AMD
codemirror: update from 5.4.0 to 5.11.0, fixes #3154
r346 define(["../../lib/codemirror", "../../addon/mode/simple", "../../addon/mode/multiplex"], mod);
project: added all source files and assets
r1 else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
codemirror: update from 5.4.0 to 5.11.0, fixes #3154
r346 CodeMirror.defineSimpleMode("handlebars-tags", {
project: added all source files and assets
r1 start: [
{ regex: /\{\{!--/, push: "dash_comment", token: "comment" },
{ regex: /\{\{!/, push: "comment", token: "comment" },
{ regex: /\{\{/, push: "handlebars", token: "tag" }
],
handlebars: [
{ regex: /\}\}/, pop: true, token: "tag" },
// Double and single quotes
codemirror: update from 5.4.0 to 5.11.0, fixes #3154
r346 { regex: /"(?:[^\\"]|\\.)*"?/, token: "string" },
{ regex: /'(?:[^\\']|\\.)*'?/, token: "string" },
project: added all source files and assets
r1
// Handlebars keywords
{ regex: />|[#\/]([A-Za-z_]\w*)/, token: "keyword" },
{ regex: /(?:else|this)\b/, token: "keyword" },
// Numeral
{ regex: /\d+/i, token: "number" },
// Atoms like = and .
{ regex: /=|~|@|true|false/, token: "atom" },
// Paths
{ regex: /(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/, token: "variable-2" }
],
dash_comment: [
{ regex: /--\}\}/, pop: true, token: "comment" },
// Commented code
{ regex: /./, token: "comment"}
],
comment: [
{ regex: /\}\}/, pop: true, token: "comment" },
{ regex: /./, token: "comment" }
]
});
codemirror: update from 5.4.0 to 5.11.0, fixes #3154
r346 CodeMirror.defineMode("handlebars", function(config, parserConfig) {
var handlebars = CodeMirror.getMode(config, "handlebars-tags");
if (!parserConfig || !parserConfig.base) return handlebars;
return CodeMirror.multiplexingMode(
CodeMirror.getMode(config, parserConfig.base),
{open: "{{", close: "}}", mode: handlebars, parseDelimiters: true}
);
});
project: added all source files and assets
r1 CodeMirror.defineMIME("text/x-handlebars-template", "handlebars");
});