/highlight/languages/pygments/html.js

https://github.com/pound42/dojox · JavaScript · 96 lines · 84 code · 9 blank · 3 comment · 1 complexity · d6c327bae81ff120fd1cc5a0ea5275be MD5 · raw file

  1. define(["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. });