html.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /*
  2. Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dojox.highlight.languages.pygments.html"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
  7. dojo._hasResource["dojox.highlight.languages.pygments.html"] = true;
  8. dojo.provide("dojox.highlight.languages.pygments.html");
  9. dojo.require("dojox.highlight._base");
  10. dojo.require("dojox.highlight.languages.pygments._html");
  11. (function(){
  12. var dh = dojox.highlight, dhl = dh.languages, tags = [],
  13. ht = dhl.pygments._html.tags;
  14. for(var key in ht){
  15. tags.push(key);
  16. }
  17. tags = "\\b(" + tags.join("|") + ")\\b";
  18. dhl.html = {
  19. case_insensitive: true,
  20. defaultMode: {
  21. contains: [
  22. "name entity",
  23. "comment", "comment preproc",
  24. "_script", "_style", "_tag"
  25. ]
  26. },
  27. modes: [
  28. // comments
  29. {
  30. className: "comment",
  31. begin: "<!--", end: "-->"
  32. },
  33. {
  34. className: "comment preproc",
  35. begin: "\\<\\!\\[CDATA\\[", end: "\\]\\]\\>"
  36. },
  37. {
  38. className: "comment preproc",
  39. begin: "\\<\\!", end: "\\>"
  40. },
  41. // strings
  42. {
  43. className: "string",
  44. begin: "'", end: "'",
  45. illegal: "\\n",
  46. relevance: 0
  47. },
  48. {
  49. className: "string",
  50. begin: '"',
  51. end: '"',
  52. illegal: "\\n",
  53. relevance: 0
  54. },
  55. // names
  56. {
  57. className: "name entity",
  58. begin: "\\&[a-z]+;", end: "^"
  59. },
  60. {
  61. className: "name tag",
  62. begin: tags, end: "^",
  63. relevance: 5
  64. },
  65. {
  66. className: "name attribute",
  67. begin: "\\b[a-z0-9_\\:\\-]+\\s*=", end: "^",
  68. relevance: 0
  69. },
  70. {
  71. className: "_script",
  72. begin: "\\<script\\b", end: "\\</script\\>",
  73. relevance: 5
  74. },
  75. {
  76. className: "_style",
  77. begin: "\\<style\\b", end: "\\</style\\>",
  78. relevance: 5
  79. },
  80. {
  81. className: "_tag",
  82. begin: "\\<(?!/)", end: "\\>",
  83. contains: ["name tag", "name attribute", "string", "_value"]
  84. },
  85. {
  86. className: "_tag",
  87. begin: "\\</", end: "\\>",
  88. contains: ["name tag"]
  89. },
  90. {
  91. className: "_value",
  92. begin: "[^\\s\\>]+", end: "^"
  93. }
  94. ]
  95. };
  96. })();
  97. }