@dungle-scrubs/tallow 0.9.4 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/cli.js +8 -5
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.js +1 -1
  5. package/dist/interactive-mode-patch.d.ts +24 -12
  6. package/dist/interactive-mode-patch.d.ts.map +1 -1
  7. package/dist/interactive-mode-patch.js +229 -146
  8. package/dist/interactive-mode-patch.js.map +1 -1
  9. package/dist/interactive-reset.d.ts +49 -0
  10. package/dist/interactive-reset.d.ts.map +1 -0
  11. package/dist/interactive-reset.js +40 -0
  12. package/dist/interactive-reset.js.map +1 -0
  13. package/dist/pi-tui-editor-patch.d.ts +10 -0
  14. package/dist/pi-tui-editor-patch.d.ts.map +1 -0
  15. package/dist/pi-tui-editor-patch.js +159 -0
  16. package/dist/pi-tui-editor-patch.js.map +1 -0
  17. package/dist/pi-tui-patch.d.ts +2 -0
  18. package/dist/pi-tui-patch.d.ts.map +1 -0
  19. package/dist/pi-tui-patch.js +563 -0
  20. package/dist/pi-tui-patch.js.map +1 -0
  21. package/dist/pi-tui-settings-list-patch.d.ts +11 -0
  22. package/dist/pi-tui-settings-list-patch.d.ts.map +1 -0
  23. package/dist/pi-tui-settings-list-patch.js +38 -0
  24. package/dist/pi-tui-settings-list-patch.js.map +1 -0
  25. package/dist/process-cleanup.js +1 -1
  26. package/dist/process-cleanup.js.map +1 -1
  27. package/dist/reset-diagnostics.d.ts +69 -0
  28. package/dist/reset-diagnostics.d.ts.map +1 -0
  29. package/dist/reset-diagnostics.js +41 -0
  30. package/dist/reset-diagnostics.js.map +1 -0
  31. package/dist/sdk.d.ts +7 -23
  32. package/dist/sdk.d.ts.map +1 -1
  33. package/dist/sdk.js +211 -174
  34. package/dist/sdk.js.map +1 -1
  35. package/dist/workspace-transition-interactive.d.ts +1 -0
  36. package/dist/workspace-transition-interactive.d.ts.map +1 -1
  37. package/dist/workspace-transition-interactive.js +8 -18
  38. package/dist/workspace-transition-interactive.js.map +1 -1
  39. package/extensions/__integration__/audit-findings.test.ts +4 -5
  40. package/extensions/_icons/index.ts +2 -4
  41. package/extensions/_shared/__tests__/image-metadata.test.ts +33 -0
  42. package/extensions/_shared/__tests__/shell-policy.test.ts +19 -0
  43. package/extensions/_shared/__tests__/terminal-links.test.ts +18 -0
  44. package/extensions/_shared/image-metadata.ts +99 -0
  45. package/extensions/_shared/inline-preview.ts +1 -1
  46. package/extensions/_shared/shell-policy.ts +121 -1
  47. package/extensions/_shared/terminal-links.ts +22 -0
  48. package/extensions/ask-user-question-tool/index.ts +0 -3
  49. package/extensions/clear/__tests__/clear.test.ts +269 -2
  50. package/extensions/command-expansion/index.ts +9 -3
  51. package/extensions/context-files/index.ts +5 -1
  52. package/extensions/context-fork/__tests__/context-fork.test.ts +94 -1
  53. package/extensions/context-fork/extension.json +1 -1
  54. package/extensions/context-fork/frontmatter-index.ts +6 -1
  55. package/extensions/context-fork/index.ts +32 -0
  56. package/extensions/edit-tool-enhanced/index.ts +2 -1
  57. package/extensions/git-status/__tests__/git-status.test.ts +65 -2
  58. package/extensions/git-status/index.ts +268 -98
  59. package/extensions/hooks/index.ts +33 -11
  60. package/extensions/loop/index.ts +14 -1
  61. package/extensions/lsp/index.ts +64 -13
  62. package/extensions/lsp/package.json +2 -2
  63. package/extensions/minimal-skill-display/index.ts +7 -1
  64. package/extensions/random-spinner/index.ts +7 -642
  65. package/extensions/read-tool-enhanced/index.ts +13 -10
  66. package/extensions/render-stabilizer/__tests__/render-stabilizer.test.ts +2 -3
  67. package/extensions/render-stabilizer/index.ts +6 -6
  68. package/extensions/rewind/__tests__/session-files.test.ts +115 -0
  69. package/extensions/rewind/__tests__/snapshots.test.ts +23 -0
  70. package/extensions/rewind/index.ts +5 -0
  71. package/extensions/rewind/session-files.ts +138 -0
  72. package/extensions/rewind/snapshots.ts +104 -5
  73. package/extensions/skill-commands/index.ts +6 -1
  74. package/extensions/slash-command-bridge/__tests__/slash-command-bridge.test.ts +26 -0
  75. package/extensions/slash-command-bridge/index.ts +14 -2
  76. package/extensions/subagent-tool/model-resolver.ts +274 -7
  77. package/extensions/subagent-tool/schema.ts +1 -2
  78. package/extensions/tasks/commands/register-tasks-extension.ts +9 -9
  79. package/extensions/teams-tool/tools/register-extension.ts +1 -3
  80. package/extensions/teams-tool/tools/teammate-tools.ts +1 -2
  81. package/extensions/web-search-tool/index.ts +2 -1
  82. package/extensions/wezterm-pane-control/index.ts +1 -2
  83. package/extensions/write-tool-enhanced/index.ts +2 -1
  84. package/node_modules/@mariozechner/pi-tui/README.md +56 -34
  85. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.d.ts +18 -13
  86. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.d.ts.map +1 -1
  87. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.js +182 -113
  88. package/node_modules/@mariozechner/pi-tui/dist/autocomplete.js.map +1 -1
  89. package/node_modules/@mariozechner/pi-tui/dist/components/cancellable-loader.js +3 -3
  90. package/node_modules/@mariozechner/pi-tui/dist/components/cancellable-loader.js.map +1 -1
  91. package/node_modules/@mariozechner/pi-tui/dist/components/editor.d.ts +45 -36
  92. package/node_modules/@mariozechner/pi-tui/dist/components/editor.d.ts.map +1 -1
  93. package/node_modules/@mariozechner/pi-tui/dist/components/editor.js +489 -325
  94. package/node_modules/@mariozechner/pi-tui/dist/components/editor.js.map +1 -1
  95. package/node_modules/@mariozechner/pi-tui/dist/components/image.d.ts +1 -99
  96. package/node_modules/@mariozechner/pi-tui/dist/components/image.d.ts.map +1 -1
  97. package/node_modules/@mariozechner/pi-tui/dist/components/image.js +17 -192
  98. package/node_modules/@mariozechner/pi-tui/dist/components/image.js.map +1 -1
  99. package/node_modules/@mariozechner/pi-tui/dist/components/input.d.ts.map +1 -1
  100. package/node_modules/@mariozechner/pi-tui/dist/components/input.js +57 -60
  101. package/node_modules/@mariozechner/pi-tui/dist/components/input.js.map +1 -1
  102. package/node_modules/@mariozechner/pi-tui/dist/components/loader.d.ts +2 -69
  103. package/node_modules/@mariozechner/pi-tui/dist/components/loader.d.ts.map +1 -1
  104. package/node_modules/@mariozechner/pi-tui/dist/components/loader.js +5 -102
  105. package/node_modules/@mariozechner/pi-tui/dist/components/loader.js.map +1 -1
  106. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.d.ts.map +1 -1
  107. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.js +111 -53
  108. package/node_modules/@mariozechner/pi-tui/dist/components/markdown.js.map +1 -1
  109. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.d.ts +19 -1
  110. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.d.ts.map +1 -1
  111. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.js +78 -67
  112. package/node_modules/@mariozechner/pi-tui/dist/components/select-list.js.map +1 -1
  113. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.d.ts +1 -25
  114. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  115. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.js +13 -50
  116. package/node_modules/@mariozechner/pi-tui/dist/components/settings-list.js.map +1 -1
  117. package/node_modules/@mariozechner/pi-tui/dist/index.d.ts +8 -10
  118. package/node_modules/@mariozechner/pi-tui/dist/index.d.ts.map +1 -1
  119. package/node_modules/@mariozechner/pi-tui/dist/index.js +6 -9
  120. package/node_modules/@mariozechner/pi-tui/dist/index.js.map +1 -1
  121. package/node_modules/@mariozechner/pi-tui/dist/keybindings.d.ts +108 -238
  122. package/node_modules/@mariozechner/pi-tui/dist/keybindings.d.ts.map +1 -1
  123. package/node_modules/@mariozechner/pi-tui/dist/keybindings.js +108 -365
  124. package/node_modules/@mariozechner/pi-tui/dist/keybindings.js.map +1 -1
  125. package/node_modules/@mariozechner/pi-tui/dist/keys.d.ts +33 -48
  126. package/node_modules/@mariozechner/pi-tui/dist/keys.d.ts.map +1 -1
  127. package/node_modules/@mariozechner/pi-tui/dist/keys.js +239 -155
  128. package/node_modules/@mariozechner/pi-tui/dist/keys.js.map +1 -1
  129. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.d.ts +14 -94
  130. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.d.ts.map +1 -1
  131. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.js +44 -186
  132. package/node_modules/@mariozechner/pi-tui/dist/terminal-image.js.map +1 -1
  133. package/node_modules/@mariozechner/pi-tui/dist/terminal.d.ts +13 -58
  134. package/node_modules/@mariozechner/pi-tui/dist/terminal.d.ts.map +1 -1
  135. package/node_modules/@mariozechner/pi-tui/dist/terminal.js +78 -111
  136. package/node_modules/@mariozechner/pi-tui/dist/terminal.js.map +1 -1
  137. package/node_modules/@mariozechner/pi-tui/dist/tui.d.ts +24 -110
  138. package/node_modules/@mariozechner/pi-tui/dist/tui.d.ts.map +1 -1
  139. package/node_modules/@mariozechner/pi-tui/dist/tui.js +188 -435
  140. package/node_modules/@mariozechner/pi-tui/dist/tui.js.map +1 -1
  141. package/node_modules/@mariozechner/pi-tui/dist/utils.d.ts +0 -18
  142. package/node_modules/@mariozechner/pi-tui/dist/utils.d.ts.map +1 -1
  143. package/node_modules/@mariozechner/pi-tui/dist/utils.js +251 -119
  144. package/node_modules/@mariozechner/pi-tui/dist/utils.js.map +1 -1
  145. package/node_modules/@mariozechner/pi-tui/package.json +6 -6
  146. package/node_modules/@mariozechner/pi-tui/src/__tests__/__snapshots__/render.test.ts.snap +3 -40
  147. package/node_modules/@mariozechner/pi-tui/src/__tests__/image-component.test.ts +71 -81
  148. package/node_modules/@mariozechner/pi-tui/src/__tests__/render.test.ts +0 -33
  149. package/node_modules/@mariozechner/pi-tui/src/__tests__/terminal-image.test.ts +93 -334
  150. package/node_modules/@mariozechner/pi-tui/src/__tests__/tui-render-scheduling.test.ts +1 -1
  151. package/node_modules/@mariozechner/pi-tui/src/__tests__/utils.test.ts +11 -196
  152. package/node_modules/@mariozechner/pi-tui/src/autocomplete.ts +228 -142
  153. package/node_modules/@mariozechner/pi-tui/src/components/cancellable-loader.ts +3 -3
  154. package/node_modules/@mariozechner/pi-tui/src/components/editor.ts +624 -390
  155. package/node_modules/@mariozechner/pi-tui/src/components/image.ts +17 -227
  156. package/node_modules/@mariozechner/pi-tui/src/components/input.ts +71 -63
  157. package/node_modules/@mariozechner/pi-tui/src/components/loader.ts +5 -137
  158. package/node_modules/@mariozechner/pi-tui/src/components/markdown.ts +143 -52
  159. package/node_modules/@mariozechner/pi-tui/src/components/select-list.ts +136 -70
  160. package/node_modules/@mariozechner/pi-tui/src/components/settings-list.ts +12 -51
  161. package/node_modules/@mariozechner/pi-tui/src/index.ts +17 -36
  162. package/node_modules/@mariozechner/pi-tui/src/keybindings.ts +148 -421
  163. package/node_modules/@mariozechner/pi-tui/src/keys.ts +253 -181
  164. package/node_modules/@mariozechner/pi-tui/src/terminal-image.ts +51 -252
  165. package/node_modules/@mariozechner/pi-tui/src/terminal.ts +78 -133
  166. package/node_modules/@mariozechner/pi-tui/src/tui.ts +202 -478
  167. package/node_modules/@mariozechner/pi-tui/src/utils.ts +289 -125
  168. package/node_modules/@mariozechner/pi-tui/tsconfig.build.json +1 -0
  169. package/package.json +13 -13
  170. package/packages/tallow-tui/node_modules/@types/mime-types/README.md +8 -2
  171. package/packages/tallow-tui/node_modules/@types/mime-types/index.d.ts +6 -0
  172. package/packages/tallow-tui/node_modules/@types/mime-types/package.json +9 -3
  173. package/packages/tallow-tui/node_modules/get-east-asian-width/lookup-data.js +18 -0
  174. package/packages/tallow-tui/node_modules/get-east-asian-width/lookup.js +116 -384
  175. package/packages/tallow-tui/node_modules/get-east-asian-width/package.json +5 -4
  176. package/packages/tallow-tui/node_modules/get-east-asian-width/utilities.js +24 -0
  177. package/packages/tallow-tui/node_modules/marked/README.md +5 -4
  178. package/packages/tallow-tui/node_modules/marked/bin/main.js +10 -8
  179. package/packages/tallow-tui/node_modules/marked/bin/marked.js +2 -1
  180. package/packages/tallow-tui/node_modules/marked/lib/marked.d.ts +156 -125
  181. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js +67 -2179
  182. package/packages/tallow-tui/node_modules/marked/lib/marked.esm.js.map +3 -3
  183. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js +67 -2201
  184. package/packages/tallow-tui/node_modules/marked/lib/marked.umd.js.map +3 -3
  185. package/packages/tallow-tui/node_modules/marked/man/marked.1 +4 -2
  186. package/packages/tallow-tui/node_modules/marked/man/marked.1.md +2 -1
  187. package/packages/tallow-tui/node_modules/marked/package.json +26 -34
  188. package/skills/tallow-expert/SKILL.md +3 -5
  189. package/node_modules/@mariozechner/pi-tui/dist/border-styles.d.ts +0 -32
  190. package/node_modules/@mariozechner/pi-tui/dist/border-styles.d.ts.map +0 -1
  191. package/node_modules/@mariozechner/pi-tui/dist/border-styles.js +0 -46
  192. package/node_modules/@mariozechner/pi-tui/dist/border-styles.js.map +0 -1
  193. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.d.ts +0 -52
  194. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.d.ts.map +0 -1
  195. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.js +0 -89
  196. package/node_modules/@mariozechner/pi-tui/dist/components/bordered-box.js.map +0 -1
  197. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.d.ts +0 -14
  198. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.d.ts.map +0 -1
  199. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.js +0 -55
  200. package/node_modules/@mariozechner/pi-tui/dist/test-utils/capability-env.js.map +0 -1
  201. package/node_modules/@mariozechner/pi-tui/src/__tests__/editor-change-listener.test.ts +0 -121
  202. package/node_modules/@mariozechner/pi-tui/src/__tests__/editor-ghost-text.test.ts +0 -112
  203. package/node_modules/@mariozechner/pi-tui/src/__tests__/mouse-events.test.ts +0 -134
  204. package/node_modules/@mariozechner/pi-tui/src/__tests__/settings-list.test.ts +0 -81
  205. package/node_modules/@mariozechner/pi-tui/src/__tests__/tui-diff-regression.test.ts +0 -555
  206. package/node_modules/@mariozechner/pi-tui/src/border-styles.ts +0 -60
  207. package/node_modules/@mariozechner/pi-tui/src/components/bordered-box.ts +0 -113
  208. package/node_modules/@mariozechner/pi-tui/src/test-utils/capability-env.ts +0 -56
  209. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs +0 -2211
  210. package/packages/tallow-tui/node_modules/marked/lib/marked.cjs.map +0 -7
  211. package/packages/tallow-tui/node_modules/marked/lib/marked.d.cts +0 -728
  212. package/packages/tallow-tui/node_modules/marked/marked.min.js +0 -69
@@ -1,403 +1,135 @@
1
- // Generated code.
1
+ import {
2
+ ambiguousRanges,
3
+ fullwidthRanges,
4
+ halfwidthRanges,
5
+ narrowRanges,
6
+ wideRanges,
7
+ } from './lookup-data.js';
8
+ import {isInRange} from './utilities.js';
2
9
 
3
- function isAmbiguous(x) {
4
- return x === 0xA1
5
- || x === 0xA4
6
- || x === 0xA7
7
- || x === 0xA8
8
- || x === 0xAA
9
- || x === 0xAD
10
- || x === 0xAE
11
- || x >= 0xB0 && x <= 0xB4
12
- || x >= 0xB6 && x <= 0xBA
13
- || x >= 0xBC && x <= 0xBF
14
- || x === 0xC6
15
- || x === 0xD0
16
- || x === 0xD7
17
- || x === 0xD8
18
- || x >= 0xDE && x <= 0xE1
19
- || x === 0xE6
20
- || x >= 0xE8 && x <= 0xEA
21
- || x === 0xEC
22
- || x === 0xED
23
- || x === 0xF0
24
- || x === 0xF2
25
- || x === 0xF3
26
- || x >= 0xF7 && x <= 0xFA
27
- || x === 0xFC
28
- || x === 0xFE
29
- || x === 0x101
30
- || x === 0x111
31
- || x === 0x113
32
- || x === 0x11B
33
- || x === 0x126
34
- || x === 0x127
35
- || x === 0x12B
36
- || x >= 0x131 && x <= 0x133
37
- || x === 0x138
38
- || x >= 0x13F && x <= 0x142
39
- || x === 0x144
40
- || x >= 0x148 && x <= 0x14B
41
- || x === 0x14D
42
- || x === 0x152
43
- || x === 0x153
44
- || x === 0x166
45
- || x === 0x167
46
- || x === 0x16B
47
- || x === 0x1CE
48
- || x === 0x1D0
49
- || x === 0x1D2
50
- || x === 0x1D4
51
- || x === 0x1D6
52
- || x === 0x1D8
53
- || x === 0x1DA
54
- || x === 0x1DC
55
- || x === 0x251
56
- || x === 0x261
57
- || x === 0x2C4
58
- || x === 0x2C7
59
- || x >= 0x2C9 && x <= 0x2CB
60
- || x === 0x2CD
61
- || x === 0x2D0
62
- || x >= 0x2D8 && x <= 0x2DB
63
- || x === 0x2DD
64
- || x === 0x2DF
65
- || x >= 0x300 && x <= 0x36F
66
- || x >= 0x391 && x <= 0x3A1
67
- || x >= 0x3A3 && x <= 0x3A9
68
- || x >= 0x3B1 && x <= 0x3C1
69
- || x >= 0x3C3 && x <= 0x3C9
70
- || x === 0x401
71
- || x >= 0x410 && x <= 0x44F
72
- || x === 0x451
73
- || x === 0x2010
74
- || x >= 0x2013 && x <= 0x2016
75
- || x === 0x2018
76
- || x === 0x2019
77
- || x === 0x201C
78
- || x === 0x201D
79
- || x >= 0x2020 && x <= 0x2022
80
- || x >= 0x2024 && x <= 0x2027
81
- || x === 0x2030
82
- || x === 0x2032
83
- || x === 0x2033
84
- || x === 0x2035
85
- || x === 0x203B
86
- || x === 0x203E
87
- || x === 0x2074
88
- || x === 0x207F
89
- || x >= 0x2081 && x <= 0x2084
90
- || x === 0x20AC
91
- || x === 0x2103
92
- || x === 0x2105
93
- || x === 0x2109
94
- || x === 0x2113
95
- || x === 0x2116
96
- || x === 0x2121
97
- || x === 0x2122
98
- || x === 0x2126
99
- || x === 0x212B
100
- || x === 0x2153
101
- || x === 0x2154
102
- || x >= 0x215B && x <= 0x215E
103
- || x >= 0x2160 && x <= 0x216B
104
- || x >= 0x2170 && x <= 0x2179
105
- || x === 0x2189
106
- || x >= 0x2190 && x <= 0x2199
107
- || x === 0x21B8
108
- || x === 0x21B9
109
- || x === 0x21D2
110
- || x === 0x21D4
111
- || x === 0x21E7
112
- || x === 0x2200
113
- || x === 0x2202
114
- || x === 0x2203
115
- || x === 0x2207
116
- || x === 0x2208
117
- || x === 0x220B
118
- || x === 0x220F
119
- || x === 0x2211
120
- || x === 0x2215
121
- || x === 0x221A
122
- || x >= 0x221D && x <= 0x2220
123
- || x === 0x2223
124
- || x === 0x2225
125
- || x >= 0x2227 && x <= 0x222C
126
- || x === 0x222E
127
- || x >= 0x2234 && x <= 0x2237
128
- || x === 0x223C
129
- || x === 0x223D
130
- || x === 0x2248
131
- || x === 0x224C
132
- || x === 0x2252
133
- || x === 0x2260
134
- || x === 0x2261
135
- || x >= 0x2264 && x <= 0x2267
136
- || x === 0x226A
137
- || x === 0x226B
138
- || x === 0x226E
139
- || x === 0x226F
140
- || x === 0x2282
141
- || x === 0x2283
142
- || x === 0x2286
143
- || x === 0x2287
144
- || x === 0x2295
145
- || x === 0x2299
146
- || x === 0x22A5
147
- || x === 0x22BF
148
- || x === 0x2312
149
- || x >= 0x2460 && x <= 0x24E9
150
- || x >= 0x24EB && x <= 0x254B
151
- || x >= 0x2550 && x <= 0x2573
152
- || x >= 0x2580 && x <= 0x258F
153
- || x >= 0x2592 && x <= 0x2595
154
- || x === 0x25A0
155
- || x === 0x25A1
156
- || x >= 0x25A3 && x <= 0x25A9
157
- || x === 0x25B2
158
- || x === 0x25B3
159
- || x === 0x25B6
160
- || x === 0x25B7
161
- || x === 0x25BC
162
- || x === 0x25BD
163
- || x === 0x25C0
164
- || x === 0x25C1
165
- || x >= 0x25C6 && x <= 0x25C8
166
- || x === 0x25CB
167
- || x >= 0x25CE && x <= 0x25D1
168
- || x >= 0x25E2 && x <= 0x25E5
169
- || x === 0x25EF
170
- || x === 0x2605
171
- || x === 0x2606
172
- || x === 0x2609
173
- || x === 0x260E
174
- || x === 0x260F
175
- || x === 0x261C
176
- || x === 0x261E
177
- || x === 0x2640
178
- || x === 0x2642
179
- || x === 0x2660
180
- || x === 0x2661
181
- || x >= 0x2663 && x <= 0x2665
182
- || x >= 0x2667 && x <= 0x266A
183
- || x === 0x266C
184
- || x === 0x266D
185
- || x === 0x266F
186
- || x === 0x269E
187
- || x === 0x269F
188
- || x === 0x26BF
189
- || x >= 0x26C6 && x <= 0x26CD
190
- || x >= 0x26CF && x <= 0x26D3
191
- || x >= 0x26D5 && x <= 0x26E1
192
- || x === 0x26E3
193
- || x === 0x26E8
194
- || x === 0x26E9
195
- || x >= 0x26EB && x <= 0x26F1
196
- || x === 0x26F4
197
- || x >= 0x26F6 && x <= 0x26F9
198
- || x === 0x26FB
199
- || x === 0x26FC
200
- || x === 0x26FE
201
- || x === 0x26FF
202
- || x === 0x273D
203
- || x >= 0x2776 && x <= 0x277F
204
- || x >= 0x2B56 && x <= 0x2B59
205
- || x >= 0x3248 && x <= 0x324F
206
- || x >= 0xE000 && x <= 0xF8FF
207
- || x >= 0xFE00 && x <= 0xFE0F
208
- || x === 0xFFFD
209
- || x >= 0x1F100 && x <= 0x1F10A
210
- || x >= 0x1F110 && x <= 0x1F12D
211
- || x >= 0x1F130 && x <= 0x1F169
212
- || x >= 0x1F170 && x <= 0x1F18D
213
- || x === 0x1F18F
214
- || x === 0x1F190
215
- || x >= 0x1F19B && x <= 0x1F1AC
216
- || x >= 0xE0100 && x <= 0xE01EF
217
- || x >= 0xF0000 && x <= 0xFFFFD
218
- || x >= 0x100000 && x <= 0x10FFFD;
219
- }
10
+ const minimumAmbiguousCodePoint = ambiguousRanges[0];
11
+ const maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
12
+ const minimumFullWidthCodePoint = fullwidthRanges[0];
13
+ const maximumFullWidthCodePoint = fullwidthRanges.at(-1);
14
+ const minimumHalfWidthCodePoint = halfwidthRanges[0];
15
+ const maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
16
+ const minimumNarrowCodePoint = narrowRanges[0];
17
+ const maximumNarrowCodePoint = narrowRanges.at(-1);
18
+ const minimumWideCodePoint = wideRanges[0];
19
+ const maximumWideCodePoint = wideRanges.at(-1);
220
20
 
221
- function isFullWidth(x) {
222
- return x === 0x3000
223
- || x >= 0xFF01 && x <= 0xFF60
224
- || x >= 0xFFE0 && x <= 0xFFE6;
225
- }
21
+ const commonCjkCodePoint = 0x4E_00;
22
+ const [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
23
+
24
+ // Use a hot-path range so common `isWide` calls can skip binary search.
25
+ // The range containing U+4E00 covers common CJK ideographs;
26
+ // fallback to the largest range for resilience to Unicode table changes.
27
+ function findWideFastPathRange(ranges) {
28
+ let fastPathStart = ranges[0];
29
+ let fastPathEnd = ranges[1];
30
+
31
+ for (let index = 0; index < ranges.length; index += 2) {
32
+ const start = ranges[index];
33
+ const end = ranges[index + 1];
34
+
35
+ if (
36
+ commonCjkCodePoint >= start
37
+ && commonCjkCodePoint <= end
38
+ ) {
39
+ return [start, end];
40
+ }
226
41
 
227
- function isWide(x) {
228
- return x >= 0x1100 && x <= 0x115F
229
- || x === 0x231A
230
- || x === 0x231B
231
- || x === 0x2329
232
- || x === 0x232A
233
- || x >= 0x23E9 && x <= 0x23EC
234
- || x === 0x23F0
235
- || x === 0x23F3
236
- || x === 0x25FD
237
- || x === 0x25FE
238
- || x === 0x2614
239
- || x === 0x2615
240
- || x >= 0x2630 && x <= 0x2637
241
- || x >= 0x2648 && x <= 0x2653
242
- || x === 0x267F
243
- || x >= 0x268A && x <= 0x268F
244
- || x === 0x2693
245
- || x === 0x26A1
246
- || x === 0x26AA
247
- || x === 0x26AB
248
- || x === 0x26BD
249
- || x === 0x26BE
250
- || x === 0x26C4
251
- || x === 0x26C5
252
- || x === 0x26CE
253
- || x === 0x26D4
254
- || x === 0x26EA
255
- || x === 0x26F2
256
- || x === 0x26F3
257
- || x === 0x26F5
258
- || x === 0x26FA
259
- || x === 0x26FD
260
- || x === 0x2705
261
- || x === 0x270A
262
- || x === 0x270B
263
- || x === 0x2728
264
- || x === 0x274C
265
- || x === 0x274E
266
- || x >= 0x2753 && x <= 0x2755
267
- || x === 0x2757
268
- || x >= 0x2795 && x <= 0x2797
269
- || x === 0x27B0
270
- || x === 0x27BF
271
- || x === 0x2B1B
272
- || x === 0x2B1C
273
- || x === 0x2B50
274
- || x === 0x2B55
275
- || x >= 0x2E80 && x <= 0x2E99
276
- || x >= 0x2E9B && x <= 0x2EF3
277
- || x >= 0x2F00 && x <= 0x2FD5
278
- || x >= 0x2FF0 && x <= 0x2FFF
279
- || x >= 0x3001 && x <= 0x303E
280
- || x >= 0x3041 && x <= 0x3096
281
- || x >= 0x3099 && x <= 0x30FF
282
- || x >= 0x3105 && x <= 0x312F
283
- || x >= 0x3131 && x <= 0x318E
284
- || x >= 0x3190 && x <= 0x31E5
285
- || x >= 0x31EF && x <= 0x321E
286
- || x >= 0x3220 && x <= 0x3247
287
- || x >= 0x3250 && x <= 0xA48C
288
- || x >= 0xA490 && x <= 0xA4C6
289
- || x >= 0xA960 && x <= 0xA97C
290
- || x >= 0xAC00 && x <= 0xD7A3
291
- || x >= 0xF900 && x <= 0xFAFF
292
- || x >= 0xFE10 && x <= 0xFE19
293
- || x >= 0xFE30 && x <= 0xFE52
294
- || x >= 0xFE54 && x <= 0xFE66
295
- || x >= 0xFE68 && x <= 0xFE6B
296
- || x >= 0x16FE0 && x <= 0x16FE4
297
- || x >= 0x16FF0 && x <= 0x16FF6
298
- || x >= 0x17000 && x <= 0x18CD5
299
- || x >= 0x18CFF && x <= 0x18D1E
300
- || x >= 0x18D80 && x <= 0x18DF2
301
- || x >= 0x1AFF0 && x <= 0x1AFF3
302
- || x >= 0x1AFF5 && x <= 0x1AFFB
303
- || x === 0x1AFFD
304
- || x === 0x1AFFE
305
- || x >= 0x1B000 && x <= 0x1B122
306
- || x === 0x1B132
307
- || x >= 0x1B150 && x <= 0x1B152
308
- || x === 0x1B155
309
- || x >= 0x1B164 && x <= 0x1B167
310
- || x >= 0x1B170 && x <= 0x1B2FB
311
- || x >= 0x1D300 && x <= 0x1D356
312
- || x >= 0x1D360 && x <= 0x1D376
313
- || x === 0x1F004
314
- || x === 0x1F0CF
315
- || x === 0x1F18E
316
- || x >= 0x1F191 && x <= 0x1F19A
317
- || x >= 0x1F200 && x <= 0x1F202
318
- || x >= 0x1F210 && x <= 0x1F23B
319
- || x >= 0x1F240 && x <= 0x1F248
320
- || x === 0x1F250
321
- || x === 0x1F251
322
- || x >= 0x1F260 && x <= 0x1F265
323
- || x >= 0x1F300 && x <= 0x1F320
324
- || x >= 0x1F32D && x <= 0x1F335
325
- || x >= 0x1F337 && x <= 0x1F37C
326
- || x >= 0x1F37E && x <= 0x1F393
327
- || x >= 0x1F3A0 && x <= 0x1F3CA
328
- || x >= 0x1F3CF && x <= 0x1F3D3
329
- || x >= 0x1F3E0 && x <= 0x1F3F0
330
- || x === 0x1F3F4
331
- || x >= 0x1F3F8 && x <= 0x1F43E
332
- || x === 0x1F440
333
- || x >= 0x1F442 && x <= 0x1F4FC
334
- || x >= 0x1F4FF && x <= 0x1F53D
335
- || x >= 0x1F54B && x <= 0x1F54E
336
- || x >= 0x1F550 && x <= 0x1F567
337
- || x === 0x1F57A
338
- || x === 0x1F595
339
- || x === 0x1F596
340
- || x === 0x1F5A4
341
- || x >= 0x1F5FB && x <= 0x1F64F
342
- || x >= 0x1F680 && x <= 0x1F6C5
343
- || x === 0x1F6CC
344
- || x >= 0x1F6D0 && x <= 0x1F6D2
345
- || x >= 0x1F6D5 && x <= 0x1F6D8
346
- || x >= 0x1F6DC && x <= 0x1F6DF
347
- || x === 0x1F6EB
348
- || x === 0x1F6EC
349
- || x >= 0x1F6F4 && x <= 0x1F6FC
350
- || x >= 0x1F7E0 && x <= 0x1F7EB
351
- || x === 0x1F7F0
352
- || x >= 0x1F90C && x <= 0x1F93A
353
- || x >= 0x1F93C && x <= 0x1F945
354
- || x >= 0x1F947 && x <= 0x1F9FF
355
- || x >= 0x1FA70 && x <= 0x1FA7C
356
- || x >= 0x1FA80 && x <= 0x1FA8A
357
- || x >= 0x1FA8E && x <= 0x1FAC6
358
- || x === 0x1FAC8
359
- || x >= 0x1FACD && x <= 0x1FADC
360
- || x >= 0x1FADF && x <= 0x1FAEA
361
- || x >= 0x1FAEF && x <= 0x1FAF8
362
- || x >= 0x20000 && x <= 0x2FFFD
363
- || x >= 0x30000 && x <= 0x3FFFD;
42
+ if ((end - start) > (fastPathEnd - fastPathStart)) {
43
+ fastPathStart = start;
44
+ fastPathEnd = end;
45
+ }
46
+ }
47
+
48
+ return [fastPathStart, fastPathEnd];
364
49
  }
365
50
 
366
- function getCategory(x) {
367
- if (isAmbiguous(x)) return 'ambiguous';
51
+ export const isAmbiguous = codePoint => {
52
+ if (
53
+ codePoint < minimumAmbiguousCodePoint
54
+ || codePoint > maximumAmbiguousCodePoint
55
+ ) {
56
+ return false;
57
+ }
368
58
 
369
- if (isFullWidth(x)) return 'fullwidth';
59
+ return isInRange(ambiguousRanges, codePoint);
60
+ };
370
61
 
62
+ export const isFullWidth = codePoint => {
371
63
  if (
372
- x === 0x20A9
373
- || x >= 0xFF61 && x <= 0xFFBE
374
- || x >= 0xFFC2 && x <= 0xFFC7
375
- || x >= 0xFFCA && x <= 0xFFCF
376
- || x >= 0xFFD2 && x <= 0xFFD7
377
- || x >= 0xFFDA && x <= 0xFFDC
378
- || x >= 0xFFE8 && x <= 0xFFEE
64
+ codePoint < minimumFullWidthCodePoint
65
+ || codePoint > maximumFullWidthCodePoint
379
66
  ) {
380
- return 'halfwidth';
67
+ return false;
68
+ }
69
+
70
+ return isInRange(fullwidthRanges, codePoint);
71
+ };
72
+
73
+ const isHalfWidth = codePoint => {
74
+ if (
75
+ codePoint < minimumHalfWidthCodePoint
76
+ || codePoint > maximumHalfWidthCodePoint
77
+ ) {
78
+ return false;
79
+ }
80
+
81
+ return isInRange(halfwidthRanges, codePoint);
82
+ };
83
+
84
+ const isNarrow = codePoint => {
85
+ if (
86
+ codePoint < minimumNarrowCodePoint
87
+ || codePoint > maximumNarrowCodePoint
88
+ ) {
89
+ return false;
90
+ }
91
+
92
+ return isInRange(narrowRanges, codePoint);
93
+ };
94
+
95
+ export const isWide = codePoint => {
96
+ if (
97
+ codePoint >= wideFastPathStart
98
+ && codePoint <= wideFastPathEnd
99
+ ) {
100
+ return true;
381
101
  }
382
102
 
383
103
  if (
384
- x >= 0x20 && x <= 0x7E
385
- || x === 0xA2
386
- || x === 0xA3
387
- || x === 0xA5
388
- || x === 0xA6
389
- || x === 0xAC
390
- || x === 0xAF
391
- || x >= 0x27E6 && x <= 0x27ED
392
- || x === 0x2985
393
- || x === 0x2986
104
+ codePoint < minimumWideCodePoint
105
+ || codePoint > maximumWideCodePoint
394
106
  ) {
107
+ return false;
108
+ }
109
+
110
+ return isInRange(wideRanges, codePoint);
111
+ };
112
+
113
+ export function getCategory(codePoint) {
114
+ if (isAmbiguous(codePoint)) {
115
+ return 'ambiguous';
116
+ }
117
+
118
+ if (isFullWidth(codePoint)) {
119
+ return 'fullwidth';
120
+ }
121
+
122
+ if (isHalfWidth(codePoint)) {
123
+ return 'halfwidth';
124
+ }
125
+
126
+ if (isNarrow(codePoint)) {
395
127
  return 'narrow';
396
128
  }
397
129
 
398
- if (isWide(x)) return 'wide';
130
+ if (isWide(codePoint)) {
131
+ return 'wide';
132
+ }
399
133
 
400
134
  return 'neutral';
401
135
  }
402
-
403
- export {isAmbiguous, isFullWidth, isWide, getCategory};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-east-asian-width",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Determine the East Asian Width of a Unicode character",
5
5
  "license": "MIT",
6
6
  "repository": "sindresorhus/get-east-asian-width",
@@ -27,7 +27,9 @@
27
27
  "files": [
28
28
  "index.js",
29
29
  "index.d.ts",
30
- "lookup.js"
30
+ "lookup.js",
31
+ "lookup-data.js",
32
+ "utilities.js"
31
33
  ],
32
34
  "keywords": [
33
35
  "unicode",
@@ -56,7 +58,6 @@
56
58
  ],
57
59
  "devDependencies": {
58
60
  "ava": "^5.3.1",
59
- "indent-string": "^5.0.0",
60
61
  "outdent": "^0.8.0",
61
62
  "simplify-ranges": "^0.1.0",
62
63
  "typescript": "^5.2.2",
@@ -64,7 +65,7 @@
64
65
  },
65
66
  "xo": {
66
67
  "ignores": [
67
- "lookup.js"
68
+ "lookup-data.js"
68
69
  ]
69
70
  }
70
71
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ Binary search on a sorted flat array of [start, end] pairs.
3
+
4
+ @param {number[]} ranges - Flat array of inclusive [start, end] range pairs, e.g. [0, 5, 10, 20].
5
+ @param {number} codePoint - The value to search for.
6
+ @returns {boolean} Whether the value falls within any of the ranges.
7
+ */
8
+ export const isInRange = (ranges, codePoint) => {
9
+ let low = 0;
10
+ let high = Math.floor(ranges.length / 2) - 1;
11
+ while (low <= high) {
12
+ const mid = Math.floor((low + high) / 2);
13
+ const i = mid * 2;
14
+ if (codePoint < ranges[i]) {
15
+ high = mid - 1;
16
+ } else if (codePoint > ranges[i + 1]) {
17
+ low = mid + 1;
18
+ } else {
19
+ return true;
20
+ }
21
+ }
22
+
23
+ return false;
24
+ };
@@ -17,7 +17,7 @@
17
17
 
18
18
  ## Demo
19
19
 
20
- Checkout the [demo page](https://marked.js.org/demo/) to see marked in action ⛹️
20
+ Check out the [demo page](https://marked.js.org/demo/) to see Marked in action ⛹️
21
21
 
22
22
  ## Docs
23
23
 
@@ -32,7 +32,7 @@ Also read about:
32
32
 
33
33
  **Node.js:** Only [current and LTS](https://nodejs.org/en/about/releases/) Node.js versions are supported. End of life Node.js versions may become incompatible with Marked at any point in time.
34
34
 
35
- **Browser:** Not IE11 :)
35
+ **Browser:** [Baseline Widely Available](https://developer.mozilla.org/en-US/docs/Glossary/Baseline/Compatibility)
36
36
 
37
37
  ## Installation
38
38
 
@@ -83,7 +83,7 @@ $ marked --help
83
83
  </head>
84
84
  <body>
85
85
  <div id="content"></div>
86
- <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
86
+ <script src="https://cdn.jsdelivr.net/npm/marked/lib/marked.umd.js"></script>
87
87
  <script>
88
88
  document.getElementById('content').innerHTML =
89
89
  marked.parse('# Marked in the browser\n\nRendered by **marked**.');
@@ -103,4 +103,5 @@ or import esm module
103
103
 
104
104
  ## License
105
105
 
106
- Copyright (c) 2011-2022, Christopher Jeffrey. (MIT License)
106
+ Copyright (c) 2018+, MarkedJS. (MIT License)
107
+ Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)
@@ -2,13 +2,15 @@
2
2
 
3
3
  /**
4
4
  * Marked CLI
5
- * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License)
5
+ * Copyright (c) 2018+, MarkedJS. (MIT License)
6
+ * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)
6
7
  */
7
8
 
8
9
  import { promises } from 'node:fs';
9
10
  import { dirname, resolve } from 'node:path';
10
11
  import { homedir } from 'node:os';
11
12
  import { createRequire } from 'node:module';
13
+ import { pathToFileURL } from 'node:url';
12
14
  import { marked } from '../lib/marked.esm.js';
13
15
 
14
16
  const { access, readFile, writeFile } = promises;
@@ -151,11 +153,11 @@ export async function main(nodeProcess) {
151
153
  }
152
154
 
153
155
  async function getData() {
156
+ if (string) {
157
+ return string;
158
+ }
154
159
  if (!input) {
155
- if (files.length <= 2) {
156
- if (string) {
157
- return string;
158
- }
160
+ if (files.length === 0) {
159
161
  return await getStdin();
160
162
  }
161
163
  input = files.pop();
@@ -177,12 +179,12 @@ export async function main(nodeProcess) {
177
179
  try {
178
180
  // try require for json
179
181
  markedConfig = require(configFile);
180
- } catch (err) {
182
+ } catch(err) {
181
183
  if (err.code !== 'ERR_REQUIRE_ESM') {
182
184
  throw err;
183
185
  }
184
186
  // must import esm
185
- markedConfig = await import('file:///' + configFile);
187
+ markedConfig = await import(pathToFileURL(configFile).href);
186
188
  }
187
189
 
188
190
  if (markedConfig.default) {
@@ -271,7 +273,7 @@ export async function main(nodeProcess) {
271
273
  try {
272
274
  await start(nodeProcess.argv.slice());
273
275
  nodeProcess.exit(0);
274
- } catch (err) {
276
+ } catch(err) {
275
277
  if (err.code === 'ENOENT') {
276
278
  nodeProcess.stderr.write('marked: ' + err.path + ': No such file or directory');
277
279
  } else {
@@ -2,7 +2,8 @@
2
2
 
3
3
  /**
4
4
  * Marked CLI
5
- * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License)
5
+ * Copyright (c) 2018+, MarkedJS. (MIT License)
6
+ * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)
6
7
  */
7
8
 
8
9
  import { main } from './main.js';