html.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. define("dojox/highlight/languages/pygments/html", ["dojox/main", "../../_base", "./_html"], function(dojox){
  2. var dh = dojox.highlight, dhl = dh.languages, tags = [],
  3. ht = dhl.pygments._html.tags;
  4. for(var key in ht){
  5. tags.push(key);
  6. }
  7. tags = "\\b(" + tags.join("|") + ")\\b";
  8. dhl.html = {
  9. case_insensitive: true,
  10. defaultMode: {
  11. contains: [
  12. "name entity",
  13. "comment", "comment preproc",
  14. "_script", "_style", "_tag"
  15. ]
  16. },
  17. modes: [
  18. // comments
  19. {
  20. className: "comment",
  21. begin: "<!--", end: "-->"
  22. },
  23. {
  24. className: "comment preproc",
  25. begin: "\\<\\!\\[CDATA\\[", end: "\\]\\]\\>"
  26. },
  27. {
  28. className: "comment preproc",
  29. begin: "\\<\\!", end: "\\>"
  30. },
  31. // strings
  32. {
  33. className: "string",
  34. begin: "'", end: "'",
  35. illegal: "\\n",
  36. relevance: 0
  37. },
  38. {
  39. className: "string",
  40. begin: '"',
  41. end: '"',
  42. illegal: "\\n",
  43. relevance: 0
  44. },
  45. // names
  46. {
  47. className: "name entity",
  48. begin: "\\&[a-z]+;", end: "^"
  49. },
  50. {
  51. className: "name tag",
  52. begin: tags, end: "^",
  53. relevance: 5
  54. },
  55. {
  56. className: "name attribute",
  57. begin: "\\b[a-z0-9_\\:\\-]+\\s*=", end: "^",
  58. relevance: 0
  59. },
  60. {
  61. className: "_script",
  62. begin: "\\<script\\b", end: "\\</script\\>",
  63. relevance: 5
  64. },
  65. {
  66. className: "_style",
  67. begin: "\\<style\\b", end: "\\</style\\>",
  68. relevance: 5
  69. },
  70. {
  71. className: "_tag",
  72. begin: "\\<(?!/)", end: "\\>",
  73. contains: ["name tag", "name attribute", "string", "_value"]
  74. },
  75. {
  76. className: "_tag",
  77. begin: "\\</", end: "\\>",
  78. contains: ["name tag"]
  79. },
  80. {
  81. className: "_value",
  82. begin: "[^\\s\\>]+", end: "^"
  83. }
  84. ]
  85. };
  86. return dhl.html;
  87. });