constructs.mjs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import {resolver as resolveText} from './initialize/text.mjs'
  2. import attention from './tokenize/attention.mjs'
  3. import autolink from './tokenize/autolink.mjs'
  4. import blockQuote from './tokenize/block-quote.mjs'
  5. import characterEscape from './tokenize/character-escape.mjs'
  6. import characterReference from './tokenize/character-reference.mjs'
  7. import codeFenced from './tokenize/code-fenced.mjs'
  8. import codeIndented from './tokenize/code-indented.mjs'
  9. import codeText from './tokenize/code-text.mjs'
  10. import definition from './tokenize/definition.mjs'
  11. import hardBreakEscape from './tokenize/hard-break-escape.mjs'
  12. import headingAtx from './tokenize/heading-atx.mjs'
  13. import htmlFlow from './tokenize/html-flow.mjs'
  14. import htmlText from './tokenize/html-text.mjs'
  15. import labelEnd from './tokenize/label-end.mjs'
  16. import labelImage from './tokenize/label-start-image.mjs'
  17. import labelLink from './tokenize/label-start-link.mjs'
  18. import lineEnding from './tokenize/line-ending.mjs'
  19. import list from './tokenize/list.mjs'
  20. import setextUnderline from './tokenize/setext-underline.mjs'
  21. import thematicBreak from './tokenize/thematic-break.mjs'
  22. export var document = {
  23. 42: list, // Asterisk
  24. 43: list, // Plus sign
  25. 45: list, // Dash
  26. 48: list, // 0
  27. 49: list, // 1
  28. 50: list, // 2
  29. 51: list, // 3
  30. 52: list, // 4
  31. 53: list, // 5
  32. 54: list, // 6
  33. 55: list, // 7
  34. 56: list, // 8
  35. 57: list, // 9
  36. 62: blockQuote // Greater than
  37. }
  38. export var contentInitial = {
  39. 91: definition // Left square bracket
  40. }
  41. export var flowInitial = {
  42. '-2': codeIndented, // Horizontal tab
  43. '-1': codeIndented, // Virtual space
  44. 32: codeIndented // Space
  45. }
  46. export var flow = {
  47. 35: headingAtx, // Number sign
  48. 42: thematicBreak, // Asterisk
  49. 45: [setextUnderline, thematicBreak], // Dash
  50. 60: htmlFlow, // Less than
  51. 61: setextUnderline, // Equals to
  52. 95: thematicBreak, // Underscore
  53. 96: codeFenced, // Grave accent
  54. 126: codeFenced // Tilde
  55. }
  56. export var string = {
  57. 38: characterReference, // Ampersand
  58. 92: characterEscape // Backslash
  59. }
  60. export var text = {
  61. '-5': lineEnding, // Carriage return
  62. '-4': lineEnding, // Line feed
  63. '-3': lineEnding, // Carriage return + line feed
  64. 33: labelImage, // Exclamation mark
  65. 38: characterReference, // Ampersand
  66. 42: attention, // Asterisk
  67. 60: [autolink, htmlText], // Less than
  68. 91: labelLink, // Left square bracket
  69. 92: [hardBreakEscape, characterEscape], // Backslash
  70. 93: labelEnd, // Right square bracket
  71. 95: attention, // Underscore
  72. 96: codeText // Grave accent
  73. }
  74. export var insideSpan = {
  75. null: [attention, resolveText]
  76. }
  77. export var disable = {null: []}