@xingjisoft/neutrino 0.1.0

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.
package/dist/width.js ADDED
@@ -0,0 +1,426 @@
1
+ export function wcwidth(cp) {
2
+ if (cp === 0)
3
+ return 0;
4
+ if (cp < 32 || (cp >= 0x7f && cp < 0xa0))
5
+ return 1;
6
+ // Combining / zero-width marks (width 0)
7
+ if ((cp >= 0x0300 && cp <= 0x036f) ||
8
+ (cp >= 0x0483 && cp <= 0x0489) ||
9
+ (cp >= 0x0591 && cp <= 0x05bd) ||
10
+ cp === 0x05bf ||
11
+ (cp >= 0x05c1 && cp <= 0x05c2) ||
12
+ (cp >= 0x05c4 && cp <= 0x05c5) ||
13
+ cp === 0x05c7 ||
14
+ (cp >= 0x0610 && cp <= 0x061a) ||
15
+ (cp >= 0x064b && cp <= 0x065f) ||
16
+ cp === 0x0670 ||
17
+ (cp >= 0x06d6 && cp <= 0x06dc) ||
18
+ (cp >= 0x06df && cp <= 0x06e4) ||
19
+ (cp >= 0x06e7 && cp <= 0x06e8) ||
20
+ (cp >= 0x06ea && cp <= 0x06ed) ||
21
+ (cp >= 0x0711 && cp <= 0x0711) ||
22
+ (cp >= 0x0730 && cp <= 0x074a) ||
23
+ (cp >= 0x07a6 && cp <= 0x07b0) ||
24
+ (cp >= 0x07eb && cp <= 0x07f3) ||
25
+ (cp >= 0x0816 && cp <= 0x0819) ||
26
+ (cp >= 0x081b && cp <= 0x0823) ||
27
+ (cp >= 0x0825 && cp <= 0x0827) ||
28
+ (cp >= 0x0829 && cp <= 0x082d) ||
29
+ (cp >= 0x0859 && cp <= 0x085b) ||
30
+ (cp >= 0x08d3 && cp <= 0x08e1) ||
31
+ (cp >= 0x08e3 && cp <= 0x0902) ||
32
+ (cp >= 0x093a && cp <= 0x093a) ||
33
+ (cp >= 0x093c && cp <= 0x093c) ||
34
+ (cp >= 0x0941 && cp <= 0x0948) ||
35
+ (cp >= 0x094d && cp <= 0x094d) ||
36
+ (cp >= 0x0951 && cp <= 0x0957) ||
37
+ (cp >= 0x0962 && cp <= 0x0963) ||
38
+ (cp >= 0x0981 && cp <= 0x0981) ||
39
+ (cp >= 0x09bc && cp <= 0x09bc) ||
40
+ (cp >= 0x09c1 && cp <= 0x09c4) ||
41
+ (cp >= 0x09cd && cp <= 0x09cd) ||
42
+ (cp >= 0x09e2 && cp <= 0x09e3) ||
43
+ (cp >= 0x0a01 && cp <= 0x0a02) ||
44
+ (cp >= 0x0a3c && cp <= 0x0a3c) ||
45
+ (cp >= 0x0a41 && cp <= 0x0a42) ||
46
+ (cp >= 0x0a47 && cp <= 0x0a48) ||
47
+ (cp >= 0x0a4b && cp <= 0x0a4d) ||
48
+ (cp >= 0x0a51 && cp <= 0x0a51) ||
49
+ (cp >= 0x0a70 && cp <= 0x0a71) ||
50
+ (cp >= 0x0a75 && cp <= 0x0a75) ||
51
+ (cp >= 0x0a81 && cp <= 0x0a82) ||
52
+ (cp >= 0x0abc && cp <= 0x0abc) ||
53
+ (cp >= 0x0ac1 && cp <= 0x0ac5) ||
54
+ (cp >= 0x0ac7 && cp <= 0x0ac8) ||
55
+ (cp >= 0x0acd && cp <= 0x0acd) ||
56
+ (cp >= 0x0ae2 && cp <= 0x0ae3) ||
57
+ (cp >= 0x0b01 && cp <= 0x0b01) ||
58
+ (cp >= 0x0b3c && cp <= 0x0b3c) ||
59
+ (cp >= 0x0b3f && cp <= 0x0b3f) ||
60
+ (cp >= 0x0b41 && cp <= 0x0b44) ||
61
+ (cp >= 0x0b4d && cp <= 0x0b4d) ||
62
+ (cp >= 0x0b56 && cp <= 0x0b56) ||
63
+ (cp >= 0x0b62 && cp <= 0x0b63) ||
64
+ (cp >= 0x0b82 && cp <= 0x0b82) ||
65
+ (cp >= 0x0bc0 && cp <= 0x0bc0) ||
66
+ (cp >= 0x0bcd && cp <= 0x0bcd) ||
67
+ (cp >= 0x0c00 && cp <= 0x0c00) ||
68
+ (cp >= 0x0c3e && cp <= 0x0c40) ||
69
+ (cp >= 0x0c46 && cp <= 0x0c48) ||
70
+ (cp >= 0x0c4a && cp <= 0x0c4d) ||
71
+ (cp >= 0x0c55 && cp <= 0x0c56) ||
72
+ (cp >= 0x0c62 && cp <= 0x0c63) ||
73
+ (cp >= 0x0c81 && cp <= 0x0c81) ||
74
+ (cp >= 0x0cbc && cp <= 0x0cbc) ||
75
+ (cp >= 0x0cbf && cp <= 0x0cbf) ||
76
+ (cp >= 0x0cc6 && cp <= 0x0cc6) ||
77
+ (cp >= 0x0ccc && cp <= 0x0ccd) ||
78
+ (cp >= 0x0ce2 && cp <= 0x0ce3) ||
79
+ (cp >= 0x0d00 && cp <= 0x0d01) ||
80
+ (cp >= 0x0d3b && cp <= 0x0d3c) ||
81
+ (cp >= 0x0d41 && cp <= 0x0d44) ||
82
+ (cp >= 0x0d4d && cp <= 0x0d4d) ||
83
+ (cp >= 0x0d62 && cp <= 0x0d63) ||
84
+ (cp >= 0x0dca && cp <= 0x0dca) ||
85
+ (cp >= 0x0dd2 && cp <= 0x0dd4) ||
86
+ (cp >= 0x0dd6 && cp <= 0x0dd6) ||
87
+ (cp >= 0x0e31 && cp <= 0x0e31) ||
88
+ (cp >= 0x0e34 && cp <= 0x0e3a) ||
89
+ (cp >= 0x0e47 && cp <= 0x0e4e) ||
90
+ (cp >= 0x0eb1 && cp <= 0x0eb1) ||
91
+ (cp >= 0x0eb4 && cp <= 0x0eb9) ||
92
+ (cp >= 0x0ebb && cp <= 0x0ebc) ||
93
+ (cp >= 0x0ec8 && cp <= 0x0ecd) ||
94
+ (cp >= 0x0f18 && cp <= 0x0f19) ||
95
+ (cp >= 0x0f35 && cp <= 0x0f35) ||
96
+ (cp >= 0x0f37 && cp <= 0x0f37) ||
97
+ (cp >= 0x0f39 && cp <= 0x0f39) ||
98
+ (cp >= 0x0f71 && cp <= 0x0f7e) ||
99
+ (cp >= 0x0f80 && cp <= 0x0f84) ||
100
+ (cp >= 0x0f86 && cp <= 0x0f87) ||
101
+ (cp >= 0x0f8d && cp <= 0x0f97) ||
102
+ (cp >= 0x0f99 && cp <= 0x0fbc) ||
103
+ (cp >= 0x0fc6 && cp <= 0x0fc6) ||
104
+ (cp >= 0x102d && cp <= 0x1030) ||
105
+ (cp >= 0x1032 && cp <= 0x1037) ||
106
+ (cp >= 0x1039 && cp <= 0x103a) ||
107
+ (cp >= 0x103d && cp <= 0x103e) ||
108
+ (cp >= 0x1058 && cp <= 0x1059) ||
109
+ (cp >= 0x105e && cp <= 0x1060) ||
110
+ (cp >= 0x1071 && cp <= 0x1074) ||
111
+ (cp >= 0x1082 && cp <= 0x1082) ||
112
+ (cp >= 0x1085 && cp <= 0x1086) ||
113
+ (cp >= 0x108d && cp <= 0x108d) ||
114
+ (cp >= 0x109d && cp <= 0x109d) ||
115
+ (cp >= 0x135d && cp <= 0x135f) ||
116
+ (cp >= 0x1712 && cp <= 0x1714) ||
117
+ (cp >= 0x1732 && cp <= 0x1734) ||
118
+ (cp >= 0x1752 && cp <= 0x1753) ||
119
+ (cp >= 0x1772 && cp <= 0x1773) ||
120
+ (cp >= 0x17b4 && cp <= 0x17b5) ||
121
+ (cp >= 0x17b7 && cp <= 0x17bd) ||
122
+ (cp >= 0x17c6 && cp <= 0x17c6) ||
123
+ (cp >= 0x17c9 && cp <= 0x17d3) ||
124
+ (cp >= 0x17dd && cp <= 0x17dd) ||
125
+ (cp >= 0x180b && cp <= 0x180e) ||
126
+ (cp >= 0x1885 && cp <= 0x1886) ||
127
+ (cp >= 0x18a9 && cp <= 0x18a9) ||
128
+ (cp >= 0x1920 && cp <= 0x1922) ||
129
+ (cp >= 0x1927 && cp <= 0x1928) ||
130
+ (cp >= 0x1932 && cp <= 0x1932) ||
131
+ (cp >= 0x1939 && cp <= 0x193b) ||
132
+ (cp >= 0x1a17 && cp <= 0x1a18) ||
133
+ (cp >= 0x1a1b && cp <= 0x1a1b) ||
134
+ (cp >= 0x1a56 && cp <= 0x1a56) ||
135
+ (cp >= 0x1a58 && cp <= 0x1a5e) ||
136
+ (cp >= 0x1a60 && cp <= 0x1a60) ||
137
+ (cp >= 0x1a62 && cp <= 0x1a62) ||
138
+ (cp >= 0x1a65 && cp <= 0x1a6c) ||
139
+ (cp >= 0x1a73 && cp <= 0x1a7c) ||
140
+ (cp >= 0x1a7f && cp <= 0x1a7f) ||
141
+ (cp >= 0x1ab0 && cp <= 0x1abe) ||
142
+ (cp >= 0x1b00 && cp <= 0x1b03) ||
143
+ (cp >= 0x1b34 && cp <= 0x1b34) ||
144
+ (cp >= 0x1b36 && cp <= 0x1b3a) ||
145
+ (cp >= 0x1b3c && cp <= 0x1b3c) ||
146
+ (cp >= 0x1b42 && cp <= 0x1b42) ||
147
+ (cp >= 0x1b6b && cp <= 0x1b73) ||
148
+ (cp >= 0x1b80 && cp <= 0x1b81) ||
149
+ (cp >= 0x1ba2 && cp <= 0x1ba5) ||
150
+ (cp >= 0x1ba8 && cp <= 0x1ba9) ||
151
+ (cp >= 0x1bab && cp <= 0x1bad) ||
152
+ (cp >= 0x1be6 && cp <= 0x1be6) ||
153
+ (cp >= 0x1be8 && cp <= 0x1be9) ||
154
+ (cp >= 0x1bed && cp <= 0x1bed) ||
155
+ (cp >= 0x1bef && cp <= 0x1bf1) ||
156
+ (cp >= 0x1c2c && cp <= 0x1c33) ||
157
+ (cp >= 0x1c36 && cp <= 0x1c37) ||
158
+ (cp >= 0x1cd0 && cp <= 0x1cd2) ||
159
+ (cp >= 0x1cd4 && cp <= 0x1ce0) ||
160
+ (cp >= 0x1ce2 && cp <= 0x1ce8) ||
161
+ (cp >= 0x1ced && cp <= 0x1ced) ||
162
+ (cp >= 0x1cf4 && cp <= 0x1cf4) ||
163
+ (cp >= 0x1cf8 && cp <= 0x1cf9) ||
164
+ (cp >= 0x1dc0 && cp <= 0x1dff) ||
165
+ (cp >= 0x20d0 && cp <= 0x20f0) ||
166
+ (cp >= 0x2cef && cp <= 0x2cf1) ||
167
+ (cp >= 0x2d7f && cp <= 0x2d7f) ||
168
+ (cp >= 0x2de0 && cp <= 0x2dff) ||
169
+ (cp >= 0x302a && cp <= 0x302d) ||
170
+ (cp >= 0x3099 && cp <= 0x309a) ||
171
+ (cp >= 0xa66f && cp <= 0xa672) ||
172
+ (cp >= 0xa674 && cp <= 0xa67d) ||
173
+ (cp >= 0xa69e && cp <= 0xa69f) ||
174
+ (cp >= 0xa6f0 && cp <= 0xa6f1) ||
175
+ (cp >= 0xa802 && cp <= 0xa802) ||
176
+ (cp >= 0xa806 && cp <= 0xa806) ||
177
+ (cp >= 0xa80b && cp <= 0xa80b) ||
178
+ (cp >= 0xa825 && cp <= 0xa826) ||
179
+ (cp >= 0xa8c4 && cp <= 0xa8c5) ||
180
+ (cp >= 0xa8e0 && cp <= 0xa8f1) ||
181
+ (cp >= 0xa926 && cp <= 0xa92d) ||
182
+ (cp >= 0xa947 && cp <= 0xa951) ||
183
+ (cp >= 0xa980 && cp <= 0xa982) ||
184
+ (cp >= 0xa9b3 && cp <= 0xa9b3) ||
185
+ (cp >= 0xa9b6 && cp <= 0xa9b9) ||
186
+ (cp >= 0xa9bc && cp <= 0xa9bc) ||
187
+ (cp >= 0xa9e5 && cp <= 0xa9e5) ||
188
+ (cp >= 0xaa29 && cp <= 0xaa2e) ||
189
+ (cp >= 0xaa31 && cp <= 0xaa32) ||
190
+ (cp >= 0xaa35 && cp <= 0xaa36) ||
191
+ (cp >= 0xaa43 && cp <= 0xaa43) ||
192
+ (cp >= 0xaa4c && cp <= 0xaa4c) ||
193
+ (cp >= 0xaa7c && cp <= 0xaa7c) ||
194
+ (cp >= 0xaab0 && cp <= 0xaab0) ||
195
+ (cp >= 0xaab2 && cp <= 0xaab4) ||
196
+ (cp >= 0xaab7 && cp <= 0xaab8) ||
197
+ (cp >= 0xaabe && cp <= 0xaabf) ||
198
+ (cp >= 0xaac1 && cp <= 0xaac1) ||
199
+ (cp >= 0xaaec && cp <= 0xaaed) ||
200
+ (cp >= 0xaaf6 && cp <= 0xaaf6) ||
201
+ (cp >= 0xabe5 && cp <= 0xabe5) ||
202
+ (cp >= 0xabe8 && cp <= 0xabe8) ||
203
+ (cp >= 0xabed && cp <= 0xabed) ||
204
+ (cp >= 0xfb1e && cp <= 0xfb1e) ||
205
+ (cp >= 0xfe00 && cp <= 0xfe0f) ||
206
+ (cp >= 0xfe20 && cp <= 0xfe2f) ||
207
+ (cp >= 0x101fd && cp <= 0x101fd) ||
208
+ (cp >= 0x102e0 && cp <= 0x102e0) ||
209
+ (cp >= 0x10376 && cp <= 0x1037a) ||
210
+ (cp >= 0x10a01 && cp <= 0x10a03) ||
211
+ (cp >= 0x10a05 && cp <= 0x10a06) ||
212
+ (cp >= 0x10a0c && cp <= 0x10a0f) ||
213
+ (cp >= 0x10a38 && cp <= 0x10a3a) ||
214
+ (cp >= 0x10a3f && cp <= 0x10a3f) ||
215
+ (cp >= 0x10ae5 && cp <= 0x10ae6) ||
216
+ (cp >= 0x11001 && cp <= 0x11001) ||
217
+ (cp >= 0x11038 && cp <= 0x11046) ||
218
+ (cp >= 0x1107f && cp <= 0x11081) ||
219
+ (cp >= 0x110b3 && cp <= 0x110b6) ||
220
+ (cp >= 0x110b9 && cp <= 0x110ba) ||
221
+ (cp >= 0x11100 && cp <= 0x11102) ||
222
+ (cp >= 0x11127 && cp <= 0x1112b) ||
223
+ (cp >= 0x1112d && cp <= 0x11134) ||
224
+ (cp >= 0x11173 && cp <= 0x11173) ||
225
+ (cp >= 0x11180 && cp <= 0x11181) ||
226
+ (cp >= 0x111b6 && cp <= 0x111be) ||
227
+ (cp >= 0x1122f && cp <= 0x11231) ||
228
+ (cp >= 0x11234 && cp <= 0x11234) ||
229
+ (cp >= 0x11236 && cp <= 0x11237) ||
230
+ (cp >= 0x1123e && cp <= 0x1123e) ||
231
+ (cp >= 0x112df && cp <= 0x112df) ||
232
+ (cp >= 0x112e3 && cp <= 0x112ea) ||
233
+ (cp >= 0x11300 && cp <= 0x11301) ||
234
+ (cp >= 0x1133c && cp <= 0x1133c) ||
235
+ (cp >= 0x11340 && cp <= 0x11340) ||
236
+ (cp >= 0x11366 && cp <= 0x1136c) ||
237
+ (cp >= 0x11370 && cp <= 0x11374) ||
238
+ (cp >= 0x11438 && cp <= 0x1143f) ||
239
+ (cp >= 0x11442 && cp <= 0x11444) ||
240
+ (cp >= 0x11446 && cp <= 0x11446) ||
241
+ (cp >= 0x114b3 && cp <= 0x114b8) ||
242
+ (cp >= 0x114ba && cp <= 0x114ba) ||
243
+ (cp >= 0x114bf && cp <= 0x114c0) ||
244
+ (cp >= 0x114c2 && cp <= 0x114c3) ||
245
+ (cp >= 0x115b2 && cp <= 0x115b5) ||
246
+ (cp >= 0x115bc && cp <= 0x115bd) ||
247
+ (cp >= 0x115bf && cp <= 0x115c0) ||
248
+ (cp >= 0x115dc && cp <= 0x115dd) ||
249
+ (cp >= 0x11633 && cp <= 0x1163a) ||
250
+ (cp >= 0x1163d && cp <= 0x1163d) ||
251
+ (cp >= 0x1163f && cp <= 0x11640) ||
252
+ (cp >= 0x116ab && cp <= 0x116ab) ||
253
+ (cp >= 0x116ad && cp <= 0x116ad) ||
254
+ (cp >= 0x116b0 && cp <= 0x116b5) ||
255
+ (cp >= 0x116b7 && cp <= 0x116b7) ||
256
+ (cp >= 0x1171d && cp <= 0x1171f) ||
257
+ (cp >= 0x11722 && cp <= 0x11725) ||
258
+ (cp >= 0x11727 && cp <= 0x1172b) ||
259
+ (cp >= 0x11c30 && cp <= 0x11c36) ||
260
+ (cp >= 0x11c38 && cp <= 0x11c3d) ||
261
+ (cp >= 0x11c3f && cp <= 0x11c3f) ||
262
+ (cp >= 0x11c92 && cp <= 0x11ca7) ||
263
+ (cp >= 0x11caa && cp <= 0x11cb0) ||
264
+ (cp >= 0x11cb2 && cp <= 0x11cb3) ||
265
+ (cp >= 0x11cb5 && cp <= 0x11cb6) ||
266
+ (cp >= 0x16af0 && cp <= 0x16af4) ||
267
+ (cp >= 0x16b30 && cp <= 0x16b36) ||
268
+ (cp >= 0x1bc9d && cp <= 0x1bc9e) ||
269
+ (cp >= 0x1d165 && cp <= 0x1d169) ||
270
+ (cp >= 0x1d16d && cp <= 0x1d182) ||
271
+ (cp >= 0x1d185 && cp <= 0x1d18b) ||
272
+ (cp >= 0x1d1aa && cp <= 0x1d1ad) ||
273
+ (cp >= 0x1d242 && cp <= 0x1d244) ||
274
+ (cp >= 0x1e000 && cp <= 0x1e006) ||
275
+ (cp >= 0x1e008 && cp <= 0x1e018) ||
276
+ (cp >= 0x1e01b && cp <= 0x1e021) ||
277
+ (cp >= 0x1e023 && cp <= 0x1e024) ||
278
+ (cp >= 0x1e026 && cp <= 0x1e02a) ||
279
+ (cp >= 0x1e8d0 && cp <= 0x1e8d6) ||
280
+ (cp >= 0x1e944 && cp <= 0x1e94a)) {
281
+ return 0;
282
+ }
283
+ // Wide (double-width) characters
284
+ if ((cp >= 0x1100 && cp <= 0x115f) ||
285
+ (cp >= 0x231a && cp <= 0x231b) ||
286
+ (cp >= 0x2329 && cp <= 0x232a) ||
287
+ (cp >= 0x23e9 && cp <= 0x23ec) ||
288
+ cp === 0x23f0 ||
289
+ cp === 0x23f3 ||
290
+ (cp >= 0x25fd && cp <= 0x25fe) ||
291
+ (cp >= 0x2614 && cp <= 0x2615) ||
292
+ (cp >= 0x2648 && cp <= 0x2653) ||
293
+ cp === 0x267f ||
294
+ cp === 0x2693 ||
295
+ cp === 0x26a1 ||
296
+ (cp >= 0x26aa && cp <= 0x26ab) ||
297
+ (cp >= 0x26bd && cp <= 0x26be) ||
298
+ (cp >= 0x26c4 && cp <= 0x26c5) ||
299
+ cp === 0x26ce ||
300
+ cp === 0x26d4 ||
301
+ cp === 0x26ea ||
302
+ (cp >= 0x26f2 && cp <= 0x26f3) ||
303
+ cp === 0x26f5 ||
304
+ cp === 0x26fa ||
305
+ cp === 0x26fd ||
306
+ cp === 0x2705 ||
307
+ (cp >= 0x270a && cp <= 0x270b) ||
308
+ cp === 0x2728 ||
309
+ cp === 0x274c ||
310
+ cp === 0x274e ||
311
+ (cp >= 0x2753 && cp <= 0x2755) ||
312
+ cp === 0x2757 ||
313
+ (cp >= 0x2795 && cp <= 0x2797) ||
314
+ cp === 0x27b0 ||
315
+ cp === 0x27bf ||
316
+ (cp >= 0x2b1b && cp <= 0x2b1c) ||
317
+ cp === 0x2b50 ||
318
+ cp === 0x2b55 ||
319
+ (cp >= 0x2e80 && cp <= 0x303e) ||
320
+ (cp >= 0x3040 && cp <= 0x309f) ||
321
+ (cp >= 0x30a0 && cp <= 0x30ff) ||
322
+ (cp >= 0x3105 && cp <= 0x312f) ||
323
+ (cp >= 0x3131 && cp <= 0x318e) ||
324
+ (cp >= 0x3190 && cp <= 0x31ba) ||
325
+ (cp >= 0x31c0 && cp <= 0x31e3) ||
326
+ (cp >= 0x31f0 && cp <= 0x321e) ||
327
+ (cp >= 0x3220 && cp <= 0x3247) ||
328
+ (cp >= 0x3250 && cp <= 0x32fe) ||
329
+ (cp >= 0x3300 && cp <= 0x4dbf) ||
330
+ (cp >= 0x4e00 && cp <= 0xa48c) ||
331
+ (cp >= 0xa490 && cp <= 0xa4c6) ||
332
+ (cp >= 0xa960 && cp <= 0xa97c) ||
333
+ (cp >= 0xac00 && cp <= 0xd7a3) ||
334
+ (cp >= 0xf900 && cp <= 0xfaff) ||
335
+ (cp >= 0xfe10 && cp <= 0xfe19) ||
336
+ (cp >= 0xfe30 && cp <= 0xfe52) ||
337
+ (cp >= 0xfe54 && cp <= 0xfe66) ||
338
+ (cp >= 0xfe68 && cp <= 0xfe6b) ||
339
+ (cp >= 0xff00 && cp <= 0xff60) ||
340
+ (cp >= 0xffe0 && cp <= 0xffe6) ||
341
+ (cp >= 0x16fe0 && cp <= 0x16fe1) ||
342
+ (cp >= 0x17000 && cp <= 0x187f7) ||
343
+ (cp >= 0x18800 && cp <= 0x18cd5) ||
344
+ (cp >= 0x1b000 && cp <= 0x1b152) ||
345
+ (cp >= 0x1b164 && cp <= 0x1b167) ||
346
+ (cp >= 0x1b170 && cp <= 0x1b2fb) ||
347
+ (cp >= 0x1f004 && cp <= 0x1f004) ||
348
+ cp === 0x1f0cf ||
349
+ cp === 0x1f18e ||
350
+ (cp >= 0x1f191 && cp <= 0x1f19a) ||
351
+ (cp >= 0x1f200 && cp <= 0x1f202) ||
352
+ (cp >= 0x1f210 && cp <= 0x1f23b) ||
353
+ (cp >= 0x1f240 && cp <= 0x1f248) ||
354
+ (cp >= 0x1f250 && cp <= 0x1f251) ||
355
+ (cp >= 0x1f260 && cp <= 0x1f265) ||
356
+ (cp >= 0x1f300 && cp <= 0x1f320) ||
357
+ (cp >= 0x1f32d && cp <= 0x1f335) ||
358
+ (cp >= 0x1f337 && cp <= 0x1f37c) ||
359
+ (cp >= 0x1f37e && cp <= 0x1f393) ||
360
+ (cp >= 0x1f3a0 && cp <= 0x1f3ca) ||
361
+ (cp >= 0x1f3cf && cp <= 0x1f3d3) ||
362
+ (cp >= 0x1f3e0 && cp <= 0x1f3f0) ||
363
+ cp === 0x1f3f4 ||
364
+ (cp >= 0x1f3f8 && cp <= 0x1f43e) ||
365
+ cp === 0x1f440 ||
366
+ (cp >= 0x1f442 && cp <= 0x1f4fc) ||
367
+ (cp >= 0x1f4ff && cp <= 0x1f53d) ||
368
+ (cp >= 0x1f54b && cp <= 0x1f54e) ||
369
+ (cp >= 0x1f550 && cp <= 0x1f567) ||
370
+ cp === 0x1f57a ||
371
+ (cp >= 0x1f595 && cp <= 0x1f596) ||
372
+ cp === 0x1f5a4 ||
373
+ (cp >= 0x1f5fb && cp <= 0x1f64f) ||
374
+ (cp >= 0x1f680 && cp <= 0x1f6c5) ||
375
+ cp === 0x1f6cc ||
376
+ (cp >= 0x1f6d0 && cp <= 0x1f6d2) ||
377
+ (cp >= 0x1f6d5 && cp <= 0x1f6d7) ||
378
+ (cp >= 0x1f6eb && cp <= 0x1f6ec) ||
379
+ (cp >= 0x1f6f4 && cp <= 0x1f6fc) ||
380
+ (cp >= 0x1f7e0 && cp <= 0x1f7eb) ||
381
+ (cp >= 0x1f90c && cp <= 0x1f93a) ||
382
+ (cp >= 0x1f93c && cp <= 0x1f945) ||
383
+ (cp >= 0x1f947 && cp <= 0x1f978) ||
384
+ (cp >= 0x1f97a && cp <= 0x1f9cb) ||
385
+ (cp >= 0x1f9cd && cp <= 0x1f9ff) ||
386
+ (cp >= 0x1fa70 && cp <= 0x1fa74) ||
387
+ (cp >= 0x1fa78 && cp <= 0x1fa7a) ||
388
+ (cp >= 0x1fa80 && cp <= 0x1fa86) ||
389
+ (cp >= 0x1fa90 && cp <= 0x1faa8) ||
390
+ (cp >= 0x1fab0 && cp <= 0x1fab6) ||
391
+ (cp >= 0x1fac0 && cp <= 0x1fac2) ||
392
+ (cp >= 0x1fad0 && cp <= 0x1fad6) ||
393
+ (cp >= 0x20000 && cp <= 0x2fffd) ||
394
+ (cp >= 0x30000 && cp <= 0x3fffd)) {
395
+ return 2;
396
+ }
397
+ return 1;
398
+ }
399
+ export function displayWidth(text) {
400
+ let w = 0;
401
+ for (const ch of text) {
402
+ w += wcwidth(ch.codePointAt(0) ?? 0);
403
+ }
404
+ return w;
405
+ }
406
+ export function truncateByWidth(text, width) {
407
+ let out = "";
408
+ let w = 0;
409
+ for (const ch of text) {
410
+ const cw = wcwidth(ch.codePointAt(0) ?? 0);
411
+ if (w + cw > width)
412
+ break;
413
+ out += ch;
414
+ w += cw;
415
+ }
416
+ return out;
417
+ }
418
+ export function ellipsize(text, width) {
419
+ if (width <= 0)
420
+ return "";
421
+ if (displayWidth(text) <= width)
422
+ return text;
423
+ if (width === 1)
424
+ return "…";
425
+ return truncateByWidth(text, width - 1) + "…";
426
+ }
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@xingjisoft/neutrino",
3
+ "version": "0.1.0",
4
+ "description": "XINGJI Neutrino - a CLI coding agent in the terminal.",
5
+ "type": "module",
6
+ "license": "Apache-2.0",
7
+ "bin": {
8
+ "neutrino": "dist/bin.js"
9
+ },
10
+ "main": "dist/app.js",
11
+ "files": [
12
+ "dist",
13
+ "assets"
14
+ ],
15
+ "engines": {
16
+ "node": ">=18.0.0"
17
+ },
18
+ "scripts": {
19
+ "build": "tsc -p tsconfig.json",
20
+ "prepare": "npm run build"
21
+ },
22
+ "keywords": [
23
+ "cli",
24
+ "agent",
25
+ "ai",
26
+ "terminal",
27
+ "llm",
28
+ "coding"
29
+ ],
30
+ "devDependencies": {
31
+ "@types/node": "^22.0.0",
32
+ "typescript": "^5.5.0"
33
+ }
34
+ }