@xterm/xterm 5.6.0-beta.43 → 5.6.0-beta.44

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 (82) hide show
  1. package/css/xterm.css +65 -4
  2. package/lib/xterm.js +1 -1
  3. package/lib/xterm.js.map +1 -1
  4. package/lib/xterm.mjs +34 -7
  5. package/lib/xterm.mjs.map +4 -4
  6. package/package.json +2 -2
  7. package/src/browser/CoreBrowserTerminal.ts +53 -68
  8. package/src/browser/Types.ts +4 -1
  9. package/src/browser/Viewport.ts +142 -370
  10. package/src/browser/decorations/OverviewRulerRenderer.ts +25 -35
  11. package/src/browser/renderer/shared/CharAtlasUtils.ts +4 -0
  12. package/src/browser/services/ThemeService.ts +10 -1
  13. package/src/browser/shared/Constants.ts +8 -0
  14. package/src/common/CoreTerminal.ts +7 -13
  15. package/src/common/Types.ts +0 -6
  16. package/src/common/services/BufferService.ts +2 -2
  17. package/src/common/services/CoreMouseService.ts +2 -0
  18. package/src/common/services/Services.ts +10 -3
  19. package/src/vs/base/browser/browser.ts +141 -0
  20. package/src/vs/base/browser/canIUse.ts +49 -0
  21. package/src/vs/base/browser/dom.ts +2369 -0
  22. package/src/vs/base/browser/fastDomNode.ts +316 -0
  23. package/src/vs/base/browser/globalPointerMoveMonitor.ts +112 -0
  24. package/src/vs/base/browser/iframe.ts +135 -0
  25. package/src/vs/base/browser/keyboardEvent.ts +213 -0
  26. package/src/vs/base/browser/mouseEvent.ts +229 -0
  27. package/src/vs/base/browser/touch.ts +372 -0
  28. package/src/vs/base/browser/ui/scrollbar/abstractScrollbar.ts +303 -0
  29. package/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.ts +114 -0
  30. package/src/vs/base/browser/ui/scrollbar/scrollableElement.ts +718 -0
  31. package/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.ts +165 -0
  32. package/src/vs/base/browser/ui/scrollbar/scrollbarArrow.ts +114 -0
  33. package/src/vs/base/browser/ui/scrollbar/scrollbarState.ts +243 -0
  34. package/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts +118 -0
  35. package/src/vs/base/browser/ui/scrollbar/verticalScrollbar.ts +116 -0
  36. package/src/vs/base/browser/ui/widget.ts +57 -0
  37. package/src/vs/base/browser/window.ts +14 -0
  38. package/src/vs/base/common/arrays.ts +887 -0
  39. package/src/vs/base/common/arraysFind.ts +202 -0
  40. package/src/vs/base/common/assert.ts +71 -0
  41. package/src/vs/base/common/async.ts +1992 -0
  42. package/src/vs/base/common/cancellation.ts +148 -0
  43. package/src/vs/base/common/charCode.ts +450 -0
  44. package/src/vs/base/common/collections.ts +140 -0
  45. package/src/vs/base/common/decorators.ts +130 -0
  46. package/src/vs/base/common/equals.ts +146 -0
  47. package/src/vs/base/common/errors.ts +303 -0
  48. package/src/vs/base/common/event.ts +1762 -0
  49. package/src/vs/base/common/functional.ts +32 -0
  50. package/src/vs/base/common/hash.ts +316 -0
  51. package/src/vs/base/common/iterator.ts +159 -0
  52. package/src/vs/base/common/keyCodes.ts +526 -0
  53. package/src/vs/base/common/keybindings.ts +284 -0
  54. package/src/vs/base/common/lazy.ts +47 -0
  55. package/src/vs/base/common/lifecycle.ts +801 -0
  56. package/src/vs/base/common/linkedList.ts +142 -0
  57. package/src/vs/base/common/map.ts +202 -0
  58. package/src/vs/base/common/numbers.ts +98 -0
  59. package/src/vs/base/common/observable.ts +76 -0
  60. package/src/vs/base/common/observableInternal/api.ts +31 -0
  61. package/src/vs/base/common/observableInternal/autorun.ts +281 -0
  62. package/src/vs/base/common/observableInternal/base.ts +489 -0
  63. package/src/vs/base/common/observableInternal/debugName.ts +145 -0
  64. package/src/vs/base/common/observableInternal/derived.ts +428 -0
  65. package/src/vs/base/common/observableInternal/lazyObservableValue.ts +146 -0
  66. package/src/vs/base/common/observableInternal/logging.ts +328 -0
  67. package/src/vs/base/common/observableInternal/promise.ts +209 -0
  68. package/src/vs/base/common/observableInternal/utils.ts +610 -0
  69. package/src/vs/base/common/platform.ts +281 -0
  70. package/src/vs/base/common/scrollable.ts +522 -0
  71. package/src/vs/base/common/sequence.ts +34 -0
  72. package/src/vs/base/common/stopwatch.ts +43 -0
  73. package/src/vs/base/common/strings.ts +557 -0
  74. package/src/vs/base/common/symbols.ts +9 -0
  75. package/src/vs/base/common/uint.ts +59 -0
  76. package/src/vs/patches/nls.ts +90 -0
  77. package/src/vs/typings/base-common.d.ts +20 -0
  78. package/src/vs/typings/require.d.ts +42 -0
  79. package/src/vs/typings/thenable.d.ts +12 -0
  80. package/src/vs/typings/vscode-globals-nls.d.ts +36 -0
  81. package/src/vs/typings/vscode-globals-product.d.ts +33 -0
  82. package/typings/xterm.d.ts +25 -1
@@ -0,0 +1,148 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ import { Emitter, Event } from 'vs/base/common/event';
7
+ import { DisposableStore, IDisposable } from 'vs/base/common/lifecycle';
8
+
9
+ export interface CancellationToken {
10
+
11
+ /**
12
+ * A flag signalling is cancellation has been requested.
13
+ */
14
+ readonly isCancellationRequested: boolean;
15
+
16
+ /**
17
+ * An event which fires when cancellation is requested. This event
18
+ * only ever fires `once` as cancellation can only happen once. Listeners
19
+ * that are registered after cancellation will be called (next event loop run),
20
+ * but also only once.
21
+ *
22
+ * @event
23
+ */
24
+ readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
25
+ }
26
+
27
+ const shortcutEvent: Event<any> = Object.freeze(function (callback, context?): IDisposable {
28
+ const handle = setTimeout(callback.bind(context), 0);
29
+ return { dispose() { clearTimeout(handle); } };
30
+ });
31
+
32
+ export namespace CancellationToken {
33
+
34
+ export function isCancellationToken(thing: unknown): thing is CancellationToken {
35
+ if (thing === CancellationToken.None || thing === CancellationToken.Cancelled) {
36
+ return true;
37
+ }
38
+ if (thing instanceof MutableToken) {
39
+ return true;
40
+ }
41
+ if (!thing || typeof thing !== 'object') {
42
+ return false;
43
+ }
44
+ return typeof (thing as CancellationToken).isCancellationRequested === 'boolean'
45
+ && typeof (thing as CancellationToken).onCancellationRequested === 'function';
46
+ }
47
+
48
+
49
+ export const None = Object.freeze<CancellationToken>({
50
+ isCancellationRequested: false,
51
+ onCancellationRequested: Event.None
52
+ });
53
+
54
+ export const Cancelled = Object.freeze<CancellationToken>({
55
+ isCancellationRequested: true,
56
+ onCancellationRequested: shortcutEvent
57
+ });
58
+ }
59
+
60
+ class MutableToken implements CancellationToken {
61
+
62
+ private _isCancelled: boolean = false;
63
+ private _emitter: Emitter<any> | null = null;
64
+
65
+ public cancel() {
66
+ if (!this._isCancelled) {
67
+ this._isCancelled = true;
68
+ if (this._emitter) {
69
+ this._emitter.fire(undefined);
70
+ this.dispose();
71
+ }
72
+ }
73
+ }
74
+
75
+ get isCancellationRequested(): boolean {
76
+ return this._isCancelled;
77
+ }
78
+
79
+ get onCancellationRequested(): Event<any> {
80
+ if (this._isCancelled) {
81
+ return shortcutEvent;
82
+ }
83
+ if (!this._emitter) {
84
+ this._emitter = new Emitter<any>();
85
+ }
86
+ return this._emitter.event;
87
+ }
88
+
89
+ public dispose(): void {
90
+ if (this._emitter) {
91
+ this._emitter.dispose();
92
+ this._emitter = null;
93
+ }
94
+ }
95
+ }
96
+
97
+ export class CancellationTokenSource {
98
+
99
+ private _token?: CancellationToken = undefined;
100
+ private _parentListener?: IDisposable = undefined;
101
+
102
+ constructor(parent?: CancellationToken) {
103
+ this._parentListener = parent && parent.onCancellationRequested(this.cancel, this);
104
+ }
105
+
106
+ get token(): CancellationToken {
107
+ if (!this._token) {
108
+ // be lazy and create the token only when
109
+ // actually needed
110
+ this._token = new MutableToken();
111
+ }
112
+ return this._token;
113
+ }
114
+
115
+ cancel(): void {
116
+ if (!this._token) {
117
+ // save an object by returning the default
118
+ // cancelled token when cancellation happens
119
+ // before someone asks for the token
120
+ this._token = CancellationToken.Cancelled;
121
+
122
+ } else if (this._token instanceof MutableToken) {
123
+ // actually cancel
124
+ this._token.cancel();
125
+ }
126
+ }
127
+
128
+ dispose(cancel: boolean = false): void {
129
+ if (cancel) {
130
+ this.cancel();
131
+ }
132
+ this._parentListener?.dispose();
133
+ if (!this._token) {
134
+ // ensure to initialize with an empty token if we had none
135
+ this._token = CancellationToken.None;
136
+
137
+ } else if (this._token instanceof MutableToken) {
138
+ // actually dispose
139
+ this._token.dispose();
140
+ }
141
+ }
142
+ }
143
+
144
+ export function cancelOnDispose(store: DisposableStore): CancellationToken {
145
+ const source = new CancellationTokenSource();
146
+ store.add({ dispose() { source.cancel(); } });
147
+ return source.token;
148
+ }
@@ -0,0 +1,450 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ // Names from https://blog.codinghorror.com/ascii-pronunciation-rules-for-programmers/
7
+
8
+ /**
9
+ * An inlined enum containing useful character codes (to be used with String.charCodeAt).
10
+ * Please leave the const keyword such that it gets inlined when compiled to JavaScript!
11
+ */
12
+ export const enum CharCode {
13
+ Null = 0,
14
+ /**
15
+ * The `\b` character.
16
+ */
17
+ Backspace = 8,
18
+ /**
19
+ * The `\t` character.
20
+ */
21
+ Tab = 9,
22
+ /**
23
+ * The `\n` character.
24
+ */
25
+ LineFeed = 10,
26
+ /**
27
+ * The `\r` character.
28
+ */
29
+ CarriageReturn = 13,
30
+ Space = 32,
31
+ /**
32
+ * The `!` character.
33
+ */
34
+ ExclamationMark = 33,
35
+ /**
36
+ * The `"` character.
37
+ */
38
+ DoubleQuote = 34,
39
+ /**
40
+ * The `#` character.
41
+ */
42
+ Hash = 35,
43
+ /**
44
+ * The `$` character.
45
+ */
46
+ DollarSign = 36,
47
+ /**
48
+ * The `%` character.
49
+ */
50
+ PercentSign = 37,
51
+ /**
52
+ * The `&` character.
53
+ */
54
+ Ampersand = 38,
55
+ /**
56
+ * The `'` character.
57
+ */
58
+ SingleQuote = 39,
59
+ /**
60
+ * The `(` character.
61
+ */
62
+ OpenParen = 40,
63
+ /**
64
+ * The `)` character.
65
+ */
66
+ CloseParen = 41,
67
+ /**
68
+ * The `*` character.
69
+ */
70
+ Asterisk = 42,
71
+ /**
72
+ * The `+` character.
73
+ */
74
+ Plus = 43,
75
+ /**
76
+ * The `,` character.
77
+ */
78
+ Comma = 44,
79
+ /**
80
+ * The `-` character.
81
+ */
82
+ Dash = 45,
83
+ /**
84
+ * The `.` character.
85
+ */
86
+ Period = 46,
87
+ /**
88
+ * The `/` character.
89
+ */
90
+ Slash = 47,
91
+
92
+ Digit0 = 48,
93
+ Digit1 = 49,
94
+ Digit2 = 50,
95
+ Digit3 = 51,
96
+ Digit4 = 52,
97
+ Digit5 = 53,
98
+ Digit6 = 54,
99
+ Digit7 = 55,
100
+ Digit8 = 56,
101
+ Digit9 = 57,
102
+
103
+ /**
104
+ * The `:` character.
105
+ */
106
+ Colon = 58,
107
+ /**
108
+ * The `;` character.
109
+ */
110
+ Semicolon = 59,
111
+ /**
112
+ * The `<` character.
113
+ */
114
+ LessThan = 60,
115
+ /**
116
+ * The `=` character.
117
+ */
118
+ Equals = 61,
119
+ /**
120
+ * The `>` character.
121
+ */
122
+ GreaterThan = 62,
123
+ /**
124
+ * The `?` character.
125
+ */
126
+ QuestionMark = 63,
127
+ /**
128
+ * The `@` character.
129
+ */
130
+ AtSign = 64,
131
+
132
+ A = 65,
133
+ B = 66,
134
+ C = 67,
135
+ D = 68,
136
+ E = 69,
137
+ F = 70,
138
+ G = 71,
139
+ H = 72,
140
+ I = 73,
141
+ J = 74,
142
+ K = 75,
143
+ L = 76,
144
+ M = 77,
145
+ N = 78,
146
+ O = 79,
147
+ P = 80,
148
+ Q = 81,
149
+ R = 82,
150
+ S = 83,
151
+ T = 84,
152
+ U = 85,
153
+ V = 86,
154
+ W = 87,
155
+ X = 88,
156
+ Y = 89,
157
+ Z = 90,
158
+
159
+ /**
160
+ * The `[` character.
161
+ */
162
+ OpenSquareBracket = 91,
163
+ /**
164
+ * The `\` character.
165
+ */
166
+ Backslash = 92,
167
+ /**
168
+ * The `]` character.
169
+ */
170
+ CloseSquareBracket = 93,
171
+ /**
172
+ * The `^` character.
173
+ */
174
+ Caret = 94,
175
+ /**
176
+ * The `_` character.
177
+ */
178
+ Underline = 95,
179
+ /**
180
+ * The ``(`)`` character.
181
+ */
182
+ BackTick = 96,
183
+
184
+ a = 97,
185
+ b = 98,
186
+ c = 99,
187
+ d = 100,
188
+ e = 101,
189
+ f = 102,
190
+ g = 103,
191
+ h = 104,
192
+ i = 105,
193
+ j = 106,
194
+ k = 107,
195
+ l = 108,
196
+ m = 109,
197
+ n = 110,
198
+ o = 111,
199
+ p = 112,
200
+ q = 113,
201
+ r = 114,
202
+ s = 115,
203
+ t = 116,
204
+ u = 117,
205
+ v = 118,
206
+ w = 119,
207
+ x = 120,
208
+ y = 121,
209
+ z = 122,
210
+
211
+ /**
212
+ * The `{` character.
213
+ */
214
+ OpenCurlyBrace = 123,
215
+ /**
216
+ * The `|` character.
217
+ */
218
+ Pipe = 124,
219
+ /**
220
+ * The `}` character.
221
+ */
222
+ CloseCurlyBrace = 125,
223
+ /**
224
+ * The `~` character.
225
+ */
226
+ Tilde = 126,
227
+
228
+ /**
229
+ * The &nbsp; (no-break space) character.
230
+ * Unicode Character 'NO-BREAK SPACE' (U+00A0)
231
+ */
232
+ NoBreakSpace = 160,
233
+
234
+ U_Combining_Grave_Accent = 0x0300, // U+0300 Combining Grave Accent
235
+ U_Combining_Acute_Accent = 0x0301, // U+0301 Combining Acute Accent
236
+ U_Combining_Circumflex_Accent = 0x0302, // U+0302 Combining Circumflex Accent
237
+ U_Combining_Tilde = 0x0303, // U+0303 Combining Tilde
238
+ U_Combining_Macron = 0x0304, // U+0304 Combining Macron
239
+ U_Combining_Overline = 0x0305, // U+0305 Combining Overline
240
+ U_Combining_Breve = 0x0306, // U+0306 Combining Breve
241
+ U_Combining_Dot_Above = 0x0307, // U+0307 Combining Dot Above
242
+ U_Combining_Diaeresis = 0x0308, // U+0308 Combining Diaeresis
243
+ U_Combining_Hook_Above = 0x0309, // U+0309 Combining Hook Above
244
+ U_Combining_Ring_Above = 0x030A, // U+030A Combining Ring Above
245
+ U_Combining_Double_Acute_Accent = 0x030B, // U+030B Combining Double Acute Accent
246
+ U_Combining_Caron = 0x030C, // U+030C Combining Caron
247
+ U_Combining_Vertical_Line_Above = 0x030D, // U+030D Combining Vertical Line Above
248
+ U_Combining_Double_Vertical_Line_Above = 0x030E, // U+030E Combining Double Vertical Line Above
249
+ U_Combining_Double_Grave_Accent = 0x030F, // U+030F Combining Double Grave Accent
250
+ U_Combining_Candrabindu = 0x0310, // U+0310 Combining Candrabindu
251
+ U_Combining_Inverted_Breve = 0x0311, // U+0311 Combining Inverted Breve
252
+ U_Combining_Turned_Comma_Above = 0x0312, // U+0312 Combining Turned Comma Above
253
+ U_Combining_Comma_Above = 0x0313, // U+0313 Combining Comma Above
254
+ U_Combining_Reversed_Comma_Above = 0x0314, // U+0314 Combining Reversed Comma Above
255
+ U_Combining_Comma_Above_Right = 0x0315, // U+0315 Combining Comma Above Right
256
+ U_Combining_Grave_Accent_Below = 0x0316, // U+0316 Combining Grave Accent Below
257
+ U_Combining_Acute_Accent_Below = 0x0317, // U+0317 Combining Acute Accent Below
258
+ U_Combining_Left_Tack_Below = 0x0318, // U+0318 Combining Left Tack Below
259
+ U_Combining_Right_Tack_Below = 0x0319, // U+0319 Combining Right Tack Below
260
+ U_Combining_Left_Angle_Above = 0x031A, // U+031A Combining Left Angle Above
261
+ U_Combining_Horn = 0x031B, // U+031B Combining Horn
262
+ U_Combining_Left_Half_Ring_Below = 0x031C, // U+031C Combining Left Half Ring Below
263
+ U_Combining_Up_Tack_Below = 0x031D, // U+031D Combining Up Tack Below
264
+ U_Combining_Down_Tack_Below = 0x031E, // U+031E Combining Down Tack Below
265
+ U_Combining_Plus_Sign_Below = 0x031F, // U+031F Combining Plus Sign Below
266
+ U_Combining_Minus_Sign_Below = 0x0320, // U+0320 Combining Minus Sign Below
267
+ U_Combining_Palatalized_Hook_Below = 0x0321, // U+0321 Combining Palatalized Hook Below
268
+ U_Combining_Retroflex_Hook_Below = 0x0322, // U+0322 Combining Retroflex Hook Below
269
+ U_Combining_Dot_Below = 0x0323, // U+0323 Combining Dot Below
270
+ U_Combining_Diaeresis_Below = 0x0324, // U+0324 Combining Diaeresis Below
271
+ U_Combining_Ring_Below = 0x0325, // U+0325 Combining Ring Below
272
+ U_Combining_Comma_Below = 0x0326, // U+0326 Combining Comma Below
273
+ U_Combining_Cedilla = 0x0327, // U+0327 Combining Cedilla
274
+ U_Combining_Ogonek = 0x0328, // U+0328 Combining Ogonek
275
+ U_Combining_Vertical_Line_Below = 0x0329, // U+0329 Combining Vertical Line Below
276
+ U_Combining_Bridge_Below = 0x032A, // U+032A Combining Bridge Below
277
+ U_Combining_Inverted_Double_Arch_Below = 0x032B, // U+032B Combining Inverted Double Arch Below
278
+ U_Combining_Caron_Below = 0x032C, // U+032C Combining Caron Below
279
+ U_Combining_Circumflex_Accent_Below = 0x032D, // U+032D Combining Circumflex Accent Below
280
+ U_Combining_Breve_Below = 0x032E, // U+032E Combining Breve Below
281
+ U_Combining_Inverted_Breve_Below = 0x032F, // U+032F Combining Inverted Breve Below
282
+ U_Combining_Tilde_Below = 0x0330, // U+0330 Combining Tilde Below
283
+ U_Combining_Macron_Below = 0x0331, // U+0331 Combining Macron Below
284
+ U_Combining_Low_Line = 0x0332, // U+0332 Combining Low Line
285
+ U_Combining_Double_Low_Line = 0x0333, // U+0333 Combining Double Low Line
286
+ U_Combining_Tilde_Overlay = 0x0334, // U+0334 Combining Tilde Overlay
287
+ U_Combining_Short_Stroke_Overlay = 0x0335, // U+0335 Combining Short Stroke Overlay
288
+ U_Combining_Long_Stroke_Overlay = 0x0336, // U+0336 Combining Long Stroke Overlay
289
+ U_Combining_Short_Solidus_Overlay = 0x0337, // U+0337 Combining Short Solidus Overlay
290
+ U_Combining_Long_Solidus_Overlay = 0x0338, // U+0338 Combining Long Solidus Overlay
291
+ U_Combining_Right_Half_Ring_Below = 0x0339, // U+0339 Combining Right Half Ring Below
292
+ U_Combining_Inverted_Bridge_Below = 0x033A, // U+033A Combining Inverted Bridge Below
293
+ U_Combining_Square_Below = 0x033B, // U+033B Combining Square Below
294
+ U_Combining_Seagull_Below = 0x033C, // U+033C Combining Seagull Below
295
+ U_Combining_X_Above = 0x033D, // U+033D Combining X Above
296
+ U_Combining_Vertical_Tilde = 0x033E, // U+033E Combining Vertical Tilde
297
+ U_Combining_Double_Overline = 0x033F, // U+033F Combining Double Overline
298
+ U_Combining_Grave_Tone_Mark = 0x0340, // U+0340 Combining Grave Tone Mark
299
+ U_Combining_Acute_Tone_Mark = 0x0341, // U+0341 Combining Acute Tone Mark
300
+ U_Combining_Greek_Perispomeni = 0x0342, // U+0342 Combining Greek Perispomeni
301
+ U_Combining_Greek_Koronis = 0x0343, // U+0343 Combining Greek Koronis
302
+ U_Combining_Greek_Dialytika_Tonos = 0x0344, // U+0344 Combining Greek Dialytika Tonos
303
+ U_Combining_Greek_Ypogegrammeni = 0x0345, // U+0345 Combining Greek Ypogegrammeni
304
+ U_Combining_Bridge_Above = 0x0346, // U+0346 Combining Bridge Above
305
+ U_Combining_Equals_Sign_Below = 0x0347, // U+0347 Combining Equals Sign Below
306
+ U_Combining_Double_Vertical_Line_Below = 0x0348, // U+0348 Combining Double Vertical Line Below
307
+ U_Combining_Left_Angle_Below = 0x0349, // U+0349 Combining Left Angle Below
308
+ U_Combining_Not_Tilde_Above = 0x034A, // U+034A Combining Not Tilde Above
309
+ U_Combining_Homothetic_Above = 0x034B, // U+034B Combining Homothetic Above
310
+ U_Combining_Almost_Equal_To_Above = 0x034C, // U+034C Combining Almost Equal To Above
311
+ U_Combining_Left_Right_Arrow_Below = 0x034D, // U+034D Combining Left Right Arrow Below
312
+ U_Combining_Upwards_Arrow_Below = 0x034E, // U+034E Combining Upwards Arrow Below
313
+ U_Combining_Grapheme_Joiner = 0x034F, // U+034F Combining Grapheme Joiner
314
+ U_Combining_Right_Arrowhead_Above = 0x0350, // U+0350 Combining Right Arrowhead Above
315
+ U_Combining_Left_Half_Ring_Above = 0x0351, // U+0351 Combining Left Half Ring Above
316
+ U_Combining_Fermata = 0x0352, // U+0352 Combining Fermata
317
+ U_Combining_X_Below = 0x0353, // U+0353 Combining X Below
318
+ U_Combining_Left_Arrowhead_Below = 0x0354, // U+0354 Combining Left Arrowhead Below
319
+ U_Combining_Right_Arrowhead_Below = 0x0355, // U+0355 Combining Right Arrowhead Below
320
+ U_Combining_Right_Arrowhead_And_Up_Arrowhead_Below = 0x0356, // U+0356 Combining Right Arrowhead And Up Arrowhead Below
321
+ U_Combining_Right_Half_Ring_Above = 0x0357, // U+0357 Combining Right Half Ring Above
322
+ U_Combining_Dot_Above_Right = 0x0358, // U+0358 Combining Dot Above Right
323
+ U_Combining_Asterisk_Below = 0x0359, // U+0359 Combining Asterisk Below
324
+ U_Combining_Double_Ring_Below = 0x035A, // U+035A Combining Double Ring Below
325
+ U_Combining_Zigzag_Above = 0x035B, // U+035B Combining Zigzag Above
326
+ U_Combining_Double_Breve_Below = 0x035C, // U+035C Combining Double Breve Below
327
+ U_Combining_Double_Breve = 0x035D, // U+035D Combining Double Breve
328
+ U_Combining_Double_Macron = 0x035E, // U+035E Combining Double Macron
329
+ U_Combining_Double_Macron_Below = 0x035F, // U+035F Combining Double Macron Below
330
+ U_Combining_Double_Tilde = 0x0360, // U+0360 Combining Double Tilde
331
+ U_Combining_Double_Inverted_Breve = 0x0361, // U+0361 Combining Double Inverted Breve
332
+ U_Combining_Double_Rightwards_Arrow_Below = 0x0362, // U+0362 Combining Double Rightwards Arrow Below
333
+ U_Combining_Latin_Small_Letter_A = 0x0363, // U+0363 Combining Latin Small Letter A
334
+ U_Combining_Latin_Small_Letter_E = 0x0364, // U+0364 Combining Latin Small Letter E
335
+ U_Combining_Latin_Small_Letter_I = 0x0365, // U+0365 Combining Latin Small Letter I
336
+ U_Combining_Latin_Small_Letter_O = 0x0366, // U+0366 Combining Latin Small Letter O
337
+ U_Combining_Latin_Small_Letter_U = 0x0367, // U+0367 Combining Latin Small Letter U
338
+ U_Combining_Latin_Small_Letter_C = 0x0368, // U+0368 Combining Latin Small Letter C
339
+ U_Combining_Latin_Small_Letter_D = 0x0369, // U+0369 Combining Latin Small Letter D
340
+ U_Combining_Latin_Small_Letter_H = 0x036A, // U+036A Combining Latin Small Letter H
341
+ U_Combining_Latin_Small_Letter_M = 0x036B, // U+036B Combining Latin Small Letter M
342
+ U_Combining_Latin_Small_Letter_R = 0x036C, // U+036C Combining Latin Small Letter R
343
+ U_Combining_Latin_Small_Letter_T = 0x036D, // U+036D Combining Latin Small Letter T
344
+ U_Combining_Latin_Small_Letter_V = 0x036E, // U+036E Combining Latin Small Letter V
345
+ U_Combining_Latin_Small_Letter_X = 0x036F, // U+036F Combining Latin Small Letter X
346
+
347
+ /**
348
+ * Unicode Character 'LINE SEPARATOR' (U+2028)
349
+ * http://www.fileformat.info/info/unicode/char/2028/index.htm
350
+ */
351
+ LINE_SEPARATOR = 0x2028,
352
+ /**
353
+ * Unicode Character 'PARAGRAPH SEPARATOR' (U+2029)
354
+ * http://www.fileformat.info/info/unicode/char/2029/index.htm
355
+ */
356
+ PARAGRAPH_SEPARATOR = 0x2029,
357
+ /**
358
+ * Unicode Character 'NEXT LINE' (U+0085)
359
+ * http://www.fileformat.info/info/unicode/char/0085/index.htm
360
+ */
361
+ NEXT_LINE = 0x0085,
362
+
363
+ // http://www.fileformat.info/info/unicode/category/Sk/list.htm
364
+ U_CIRCUMFLEX = 0x005E, // U+005E CIRCUMFLEX
365
+ U_GRAVE_ACCENT = 0x0060, // U+0060 GRAVE ACCENT
366
+ U_DIAERESIS = 0x00A8, // U+00A8 DIAERESIS
367
+ U_MACRON = 0x00AF, // U+00AF MACRON
368
+ U_ACUTE_ACCENT = 0x00B4, // U+00B4 ACUTE ACCENT
369
+ U_CEDILLA = 0x00B8, // U+00B8 CEDILLA
370
+ U_MODIFIER_LETTER_LEFT_ARROWHEAD = 0x02C2, // U+02C2 MODIFIER LETTER LEFT ARROWHEAD
371
+ U_MODIFIER_LETTER_RIGHT_ARROWHEAD = 0x02C3, // U+02C3 MODIFIER LETTER RIGHT ARROWHEAD
372
+ U_MODIFIER_LETTER_UP_ARROWHEAD = 0x02C4, // U+02C4 MODIFIER LETTER UP ARROWHEAD
373
+ U_MODIFIER_LETTER_DOWN_ARROWHEAD = 0x02C5, // U+02C5 MODIFIER LETTER DOWN ARROWHEAD
374
+ U_MODIFIER_LETTER_CENTRED_RIGHT_HALF_RING = 0x02D2, // U+02D2 MODIFIER LETTER CENTRED RIGHT HALF RING
375
+ U_MODIFIER_LETTER_CENTRED_LEFT_HALF_RING = 0x02D3, // U+02D3 MODIFIER LETTER CENTRED LEFT HALF RING
376
+ U_MODIFIER_LETTER_UP_TACK = 0x02D4, // U+02D4 MODIFIER LETTER UP TACK
377
+ U_MODIFIER_LETTER_DOWN_TACK = 0x02D5, // U+02D5 MODIFIER LETTER DOWN TACK
378
+ U_MODIFIER_LETTER_PLUS_SIGN = 0x02D6, // U+02D6 MODIFIER LETTER PLUS SIGN
379
+ U_MODIFIER_LETTER_MINUS_SIGN = 0x02D7, // U+02D7 MODIFIER LETTER MINUS SIGN
380
+ U_BREVE = 0x02D8, // U+02D8 BREVE
381
+ U_DOT_ABOVE = 0x02D9, // U+02D9 DOT ABOVE
382
+ U_RING_ABOVE = 0x02DA, // U+02DA RING ABOVE
383
+ U_OGONEK = 0x02DB, // U+02DB OGONEK
384
+ U_SMALL_TILDE = 0x02DC, // U+02DC SMALL TILDE
385
+ U_DOUBLE_ACUTE_ACCENT = 0x02DD, // U+02DD DOUBLE ACUTE ACCENT
386
+ U_MODIFIER_LETTER_RHOTIC_HOOK = 0x02DE, // U+02DE MODIFIER LETTER RHOTIC HOOK
387
+ U_MODIFIER_LETTER_CROSS_ACCENT = 0x02DF, // U+02DF MODIFIER LETTER CROSS ACCENT
388
+ U_MODIFIER_LETTER_EXTRA_HIGH_TONE_BAR = 0x02E5, // U+02E5 MODIFIER LETTER EXTRA-HIGH TONE BAR
389
+ U_MODIFIER_LETTER_HIGH_TONE_BAR = 0x02E6, // U+02E6 MODIFIER LETTER HIGH TONE BAR
390
+ U_MODIFIER_LETTER_MID_TONE_BAR = 0x02E7, // U+02E7 MODIFIER LETTER MID TONE BAR
391
+ U_MODIFIER_LETTER_LOW_TONE_BAR = 0x02E8, // U+02E8 MODIFIER LETTER LOW TONE BAR
392
+ U_MODIFIER_LETTER_EXTRA_LOW_TONE_BAR = 0x02E9, // U+02E9 MODIFIER LETTER EXTRA-LOW TONE BAR
393
+ U_MODIFIER_LETTER_YIN_DEPARTING_TONE_MARK = 0x02EA, // U+02EA MODIFIER LETTER YIN DEPARTING TONE MARK
394
+ U_MODIFIER_LETTER_YANG_DEPARTING_TONE_MARK = 0x02EB, // U+02EB MODIFIER LETTER YANG DEPARTING TONE MARK
395
+ U_MODIFIER_LETTER_UNASPIRATED = 0x02ED, // U+02ED MODIFIER LETTER UNASPIRATED
396
+ U_MODIFIER_LETTER_LOW_DOWN_ARROWHEAD = 0x02EF, // U+02EF MODIFIER LETTER LOW DOWN ARROWHEAD
397
+ U_MODIFIER_LETTER_LOW_UP_ARROWHEAD = 0x02F0, // U+02F0 MODIFIER LETTER LOW UP ARROWHEAD
398
+ U_MODIFIER_LETTER_LOW_LEFT_ARROWHEAD = 0x02F1, // U+02F1 MODIFIER LETTER LOW LEFT ARROWHEAD
399
+ U_MODIFIER_LETTER_LOW_RIGHT_ARROWHEAD = 0x02F2, // U+02F2 MODIFIER LETTER LOW RIGHT ARROWHEAD
400
+ U_MODIFIER_LETTER_LOW_RING = 0x02F3, // U+02F3 MODIFIER LETTER LOW RING
401
+ U_MODIFIER_LETTER_MIDDLE_GRAVE_ACCENT = 0x02F4, // U+02F4 MODIFIER LETTER MIDDLE GRAVE ACCENT
402
+ U_MODIFIER_LETTER_MIDDLE_DOUBLE_GRAVE_ACCENT = 0x02F5, // U+02F5 MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
403
+ U_MODIFIER_LETTER_MIDDLE_DOUBLE_ACUTE_ACCENT = 0x02F6, // U+02F6 MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
404
+ U_MODIFIER_LETTER_LOW_TILDE = 0x02F7, // U+02F7 MODIFIER LETTER LOW TILDE
405
+ U_MODIFIER_LETTER_RAISED_COLON = 0x02F8, // U+02F8 MODIFIER LETTER RAISED COLON
406
+ U_MODIFIER_LETTER_BEGIN_HIGH_TONE = 0x02F9, // U+02F9 MODIFIER LETTER BEGIN HIGH TONE
407
+ U_MODIFIER_LETTER_END_HIGH_TONE = 0x02FA, // U+02FA MODIFIER LETTER END HIGH TONE
408
+ U_MODIFIER_LETTER_BEGIN_LOW_TONE = 0x02FB, // U+02FB MODIFIER LETTER BEGIN LOW TONE
409
+ U_MODIFIER_LETTER_END_LOW_TONE = 0x02FC, // U+02FC MODIFIER LETTER END LOW TONE
410
+ U_MODIFIER_LETTER_SHELF = 0x02FD, // U+02FD MODIFIER LETTER SHELF
411
+ U_MODIFIER_LETTER_OPEN_SHELF = 0x02FE, // U+02FE MODIFIER LETTER OPEN SHELF
412
+ U_MODIFIER_LETTER_LOW_LEFT_ARROW = 0x02FF, // U+02FF MODIFIER LETTER LOW LEFT ARROW
413
+ U_GREEK_LOWER_NUMERAL_SIGN = 0x0375, // U+0375 GREEK LOWER NUMERAL SIGN
414
+ U_GREEK_TONOS = 0x0384, // U+0384 GREEK TONOS
415
+ U_GREEK_DIALYTIKA_TONOS = 0x0385, // U+0385 GREEK DIALYTIKA TONOS
416
+ U_GREEK_KORONIS = 0x1FBD, // U+1FBD GREEK KORONIS
417
+ U_GREEK_PSILI = 0x1FBF, // U+1FBF GREEK PSILI
418
+ U_GREEK_PERISPOMENI = 0x1FC0, // U+1FC0 GREEK PERISPOMENI
419
+ U_GREEK_DIALYTIKA_AND_PERISPOMENI = 0x1FC1, // U+1FC1 GREEK DIALYTIKA AND PERISPOMENI
420
+ U_GREEK_PSILI_AND_VARIA = 0x1FCD, // U+1FCD GREEK PSILI AND VARIA
421
+ U_GREEK_PSILI_AND_OXIA = 0x1FCE, // U+1FCE GREEK PSILI AND OXIA
422
+ U_GREEK_PSILI_AND_PERISPOMENI = 0x1FCF, // U+1FCF GREEK PSILI AND PERISPOMENI
423
+ U_GREEK_DASIA_AND_VARIA = 0x1FDD, // U+1FDD GREEK DASIA AND VARIA
424
+ U_GREEK_DASIA_AND_OXIA = 0x1FDE, // U+1FDE GREEK DASIA AND OXIA
425
+ U_GREEK_DASIA_AND_PERISPOMENI = 0x1FDF, // U+1FDF GREEK DASIA AND PERISPOMENI
426
+ U_GREEK_DIALYTIKA_AND_VARIA = 0x1FED, // U+1FED GREEK DIALYTIKA AND VARIA
427
+ U_GREEK_DIALYTIKA_AND_OXIA = 0x1FEE, // U+1FEE GREEK DIALYTIKA AND OXIA
428
+ U_GREEK_VARIA = 0x1FEF, // U+1FEF GREEK VARIA
429
+ U_GREEK_OXIA = 0x1FFD, // U+1FFD GREEK OXIA
430
+ U_GREEK_DASIA = 0x1FFE, // U+1FFE GREEK DASIA
431
+
432
+ U_IDEOGRAPHIC_FULL_STOP = 0x3002, // U+3002 IDEOGRAPHIC FULL STOP
433
+ U_LEFT_CORNER_BRACKET = 0x300C, // U+300C LEFT CORNER BRACKET
434
+ U_RIGHT_CORNER_BRACKET = 0x300D, // U+300D RIGHT CORNER BRACKET
435
+ U_LEFT_BLACK_LENTICULAR_BRACKET = 0x3010, // U+3010 LEFT BLACK LENTICULAR BRACKET
436
+ U_RIGHT_BLACK_LENTICULAR_BRACKET = 0x3011, // U+3011 RIGHT BLACK LENTICULAR BRACKET
437
+
438
+
439
+ U_OVERLINE = 0x203E, // Unicode Character 'OVERLINE'
440
+
441
+ /**
442
+ * UTF-8 BOM
443
+ * Unicode Character 'ZERO WIDTH NO-BREAK SPACE' (U+FEFF)
444
+ * http://www.fileformat.info/info/unicode/char/feff/index.htm
445
+ */
446
+ UTF8_BOM = 65279,
447
+
448
+ U_FULLWIDTH_SEMICOLON = 0xFF1B, // U+FF1B FULLWIDTH SEMICOLON
449
+ U_FULLWIDTH_COMMA = 0xFF0C, // U+FF0C FULLWIDTH COMMA
450
+ }