luapage_highlight_rules.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // LuaPage implements the LuaPage markup as described by the Kepler Project's CGILua
  2. // documentation: http://keplerproject.github.com/cgilua/manual.html#templates
  3. define(function(require, exports, module) {
  4. "use strict";
  5. var oop = require("../lib/oop");
  6. var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
  7. var LuaHighlightRules = require("./lua_highlight_rules").LuaHighlightRules;
  8. var LuaPageHighlightRules = function() {
  9. HtmlHighlightRules.call(this);
  10. var startRules = [
  11. {
  12. token: "keyword",
  13. regex: "<\\%\\=?",
  14. push: "lua-start"
  15. }, {
  16. token: "keyword",
  17. regex: "<\\?lua\\=?",
  18. push: "lua-start"
  19. }
  20. ];
  21. var endRules = [
  22. {
  23. token: "keyword",
  24. regex: "\\%>",
  25. next: "pop"
  26. }, {
  27. token: "keyword",
  28. regex: "\\?>",
  29. next: "pop"
  30. }
  31. ];
  32. this.embedRules(LuaHighlightRules, "lua-", endRules, ["start"]);
  33. for (var key in this.$rules)
  34. this.$rules[key].unshift.apply(this.$rules[key], startRules);
  35. this.normalizeRules();
  36. };
  37. oop.inherits(LuaPageHighlightRules, HtmlHighlightRules);
  38. exports.LuaPageHighlightRules = LuaPageHighlightRules;
  39. });