yks-element 1.5.3 → 1.5.6

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.
@@ -1,1332 +0,0 @@
1
- "no use strict";
2
- !(function(window) {
3
- if (typeof window.window != "undefined" && window.document)
4
- return;
5
- if (window.require && window.define)
6
- return;
7
-
8
- if (!window.console) {
9
- window.console = function() {
10
- var msgs = Array.prototype.slice.call(arguments, 0);
11
- postMessage({type: "log", data: msgs});
12
- };
13
- window.console.error =
14
- window.console.warn =
15
- window.console.log =
16
- window.console.trace = window.console;
17
- }
18
- window.window = window;
19
- window.ace = window;
20
-
21
- window.onerror = function(message, file, line, col, err) {
22
- postMessage({type: "error", data: {
23
- message: message,
24
- data: err && err.data,
25
- file: file,
26
- line: line,
27
- col: col,
28
- stack: err && err.stack
29
- }});
30
- };
31
-
32
- window.normalizeModule = function(parentId, moduleName) {
33
- // normalize plugin requires
34
- if (moduleName.indexOf("!") !== -1) {
35
- var chunks = moduleName.split("!");
36
- return window.normalizeModule(parentId, chunks[0]) + "!" + window.normalizeModule(parentId, chunks[1]);
37
- }
38
- // normalize relative requires
39
- if (moduleName.charAt(0) == ".") {
40
- var base = parentId.split("/").slice(0, -1).join("/");
41
- moduleName = (base ? base + "/" : "") + moduleName;
42
-
43
- while (moduleName.indexOf(".") !== -1 && previous != moduleName) {
44
- var previous = moduleName;
45
- moduleName = moduleName.replace(/^\.\//, "").replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
46
- }
47
- }
48
-
49
- return moduleName;
50
- };
51
-
52
- window.require = function require(parentId, id) {
53
- if (!id) {
54
- id = parentId;
55
- parentId = null;
56
- }
57
- if (!id.charAt)
58
- throw new Error("worker.js require() accepts only (parentId, id) as arguments");
59
-
60
- id = window.normalizeModule(parentId, id);
61
-
62
- var module = window.require.modules[id];
63
- if (module) {
64
- if (!module.initialized) {
65
- module.initialized = true;
66
- module.exports = module.factory().exports;
67
- }
68
- return module.exports;
69
- }
70
-
71
- if (!window.require.tlns)
72
- return console.log("unable to load " + id);
73
-
74
- var path = resolveModuleId(id, window.require.tlns);
75
- if (path.slice(-3) != ".js") path += ".js";
76
-
77
- window.require.id = id;
78
- window.require.modules[id] = {}; // prevent infinite loop on broken modules
79
- importScripts(path);
80
- return window.require(parentId, id);
81
- };
82
- function resolveModuleId(id, paths) {
83
- var testPath = id, tail = "";
84
- while (testPath) {
85
- var alias = paths[testPath];
86
- if (typeof alias == "string") {
87
- return alias + tail;
88
- } else if (alias) {
89
- return alias.location.replace(/\/*$/, "/") + (tail || alias.main || alias.name);
90
- } else if (alias === false) {
91
- return "";
92
- }
93
- var i = testPath.lastIndexOf("/");
94
- if (i === -1) break;
95
- tail = testPath.substr(i) + tail;
96
- testPath = testPath.slice(0, i);
97
- }
98
- return id;
99
- }
100
- window.require.modules = {};
101
- window.require.tlns = {};
102
-
103
- window.define = function(id, deps, factory) {
104
- if (arguments.length == 2) {
105
- factory = deps;
106
- if (typeof id != "string") {
107
- deps = id;
108
- id = window.require.id;
109
- }
110
- } else if (arguments.length == 1) {
111
- factory = id;
112
- deps = [];
113
- id = window.require.id;
114
- }
115
-
116
- if (typeof factory != "function") {
117
- window.require.modules[id] = {
118
- exports: factory,
119
- initialized: true
120
- };
121
- return;
122
- }
123
-
124
- if (!deps.length)
125
- // If there is no dependencies, we inject "require", "exports" and
126
- // "module" as dependencies, to provide CommonJS compatibility.
127
- deps = ["require", "exports", "module"];
128
-
129
- var req = function(childId) {
130
- return window.require(id, childId);
131
- };
132
-
133
- window.require.modules[id] = {
134
- exports: {},
135
- factory: function() {
136
- var module = this;
137
- var returnExports = factory.apply(this, deps.slice(0, factory.length).map(function(dep) {
138
- switch (dep) {
139
- // Because "require", "exports" and "module" aren't actual
140
- // dependencies, we must handle them seperately.
141
- case "require": return req;
142
- case "exports": return module.exports;
143
- case "module": return module;
144
- // But for all other dependencies, we can just go ahead and
145
- // require them.
146
- default: return req(dep);
147
- }
148
- }));
149
- if (returnExports)
150
- module.exports = returnExports;
151
- return module;
152
- }
153
- };
154
- };
155
- window.define.amd = {};
156
- window.require.tlns = {};
157
- window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
158
- for (var i in topLevelNamespaces)
159
- this.require.tlns[i] = topLevelNamespaces[i];
160
- };
161
-
162
- window.initSender = function initSender() {
163
-
164
- var EventEmitter = window.require("ace/lib/event_emitter").EventEmitter;
165
- var oop = window.require("ace/lib/oop");
166
-
167
- var Sender = function() {};
168
-
169
- (function() {
170
-
171
- oop.implement(this, EventEmitter);
172
-
173
- this.callback = function(data, callbackId) {
174
- postMessage({
175
- type: "call",
176
- id: callbackId,
177
- data: data
178
- });
179
- };
180
-
181
- this.emit = function(name, data) {
182
- postMessage({
183
- type: "event",
184
- name: name,
185
- data: data
186
- });
187
- };
188
-
189
- }).call(Sender.prototype);
190
-
191
- return new Sender();
192
- };
193
-
194
- var main = window.main = null;
195
- var sender = window.sender = null;
196
-
197
- window.onmessage = function(e) {
198
- var msg = e.data;
199
- if (msg.event && sender) {
200
- sender._signal(msg.event, msg.data);
201
- }
202
- else if (msg.command) {
203
- if (main[msg.command])
204
- main[msg.command].apply(main, msg.args);
205
- else if (window[msg.command])
206
- window[msg.command].apply(window, msg.args);
207
- else
208
- throw new Error("Unknown command:" + msg.command);
209
- }
210
- else if (msg.init) {
211
- window.initBaseUrls(msg.tlns);
212
- sender = window.sender = window.initSender();
213
- var clazz = this.require(msg.module)[msg.classname];
214
- main = window.main = new clazz(sender);
215
- }
216
- };
217
- })(this);
218
-
219
- ace.define("ace/lib/oop",[], function(require, exports, module){"use strict";
220
- exports.inherits = function (ctor, superCtor) {
221
- ctor.super_ = superCtor;
222
- ctor.prototype = Object.create(superCtor.prototype, {
223
- constructor: {
224
- value: ctor,
225
- enumerable: false,
226
- writable: true,
227
- configurable: true
228
- }
229
- });
230
- };
231
- exports.mixin = function (obj, mixin) {
232
- for (var key in mixin) {
233
- obj[key] = mixin[key];
234
- }
235
- return obj;
236
- };
237
- exports.implement = function (proto, mixin) {
238
- exports.mixin(proto, mixin);
239
- };
240
-
241
- });
242
-
243
- ace.define("ace/apply_delta",[], function(require, exports, module){"use strict";
244
- function throwDeltaError(delta, errorText) {
245
- console.log("Invalid Delta:", delta);
246
- throw "Invalid Delta: " + errorText;
247
- }
248
- function positionInDocument(docLines, position) {
249
- return position.row >= 0 && position.row < docLines.length &&
250
- position.column >= 0 && position.column <= docLines[position.row].length;
251
- }
252
- function validateDelta(docLines, delta) {
253
- if (delta.action != "insert" && delta.action != "remove")
254
- throwDeltaError(delta, "delta.action must be 'insert' or 'remove'");
255
- if (!(delta.lines instanceof Array))
256
- throwDeltaError(delta, "delta.lines must be an Array");
257
- if (!delta.start || !delta.end)
258
- throwDeltaError(delta, "delta.start/end must be an present");
259
- var start = delta.start;
260
- if (!positionInDocument(docLines, delta.start))
261
- throwDeltaError(delta, "delta.start must be contained in document");
262
- var end = delta.end;
263
- if (delta.action == "remove" && !positionInDocument(docLines, end))
264
- throwDeltaError(delta, "delta.end must contained in document for 'remove' actions");
265
- var numRangeRows = end.row - start.row;
266
- var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));
267
- if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)
268
- throwDeltaError(delta, "delta.range must match delta lines");
269
- }
270
- exports.applyDelta = function (docLines, delta, doNotValidate) {
271
- var row = delta.start.row;
272
- var startColumn = delta.start.column;
273
- var line = docLines[row] || "";
274
- switch (delta.action) {
275
- case "insert":
276
- var lines = delta.lines;
277
- if (lines.length === 1) {
278
- docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);
279
- }
280
- else {
281
- var args = [row, 1].concat(delta.lines);
282
- docLines.splice.apply(docLines, args);
283
- docLines[row] = line.substring(0, startColumn) + docLines[row];
284
- docLines[row + delta.lines.length - 1] += line.substring(startColumn);
285
- }
286
- break;
287
- case "remove":
288
- var endColumn = delta.end.column;
289
- var endRow = delta.end.row;
290
- if (row === endRow) {
291
- docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);
292
- }
293
- else {
294
- docLines.splice(row, endRow - row + 1, line.substring(0, startColumn) + docLines[endRow].substring(endColumn));
295
- }
296
- break;
297
- }
298
- };
299
-
300
- });
301
-
302
- ace.define("ace/lib/event_emitter",[], function(require, exports, module){"use strict";
303
- var EventEmitter = {};
304
- var stopPropagation = function () { this.propagationStopped = true; };
305
- var preventDefault = function () { this.defaultPrevented = true; };
306
- EventEmitter._emit =
307
- EventEmitter._dispatchEvent = function (eventName, e) {
308
- this._eventRegistry || (this._eventRegistry = {});
309
- this._defaultHandlers || (this._defaultHandlers = {});
310
- var listeners = this._eventRegistry[eventName] || [];
311
- var defaultHandler = this._defaultHandlers[eventName];
312
- if (!listeners.length && !defaultHandler)
313
- return;
314
- if (typeof e != "object" || !e)
315
- e = {};
316
- if (!e.type)
317
- e.type = eventName;
318
- if (!e.stopPropagation)
319
- e.stopPropagation = stopPropagation;
320
- if (!e.preventDefault)
321
- e.preventDefault = preventDefault;
322
- listeners = listeners.slice();
323
- for (var i = 0; i < listeners.length; i++) {
324
- listeners[i](e, this);
325
- if (e.propagationStopped)
326
- break;
327
- }
328
- if (defaultHandler && !e.defaultPrevented)
329
- return defaultHandler(e, this);
330
- };
331
- EventEmitter._signal = function (eventName, e) {
332
- var listeners = (this._eventRegistry || {})[eventName];
333
- if (!listeners)
334
- return;
335
- listeners = listeners.slice();
336
- for (var i = 0; i < listeners.length; i++)
337
- listeners[i](e, this);
338
- };
339
- EventEmitter.once = function (eventName, callback) {
340
- var _self = this;
341
- this.on(eventName, function newCallback() {
342
- _self.off(eventName, newCallback);
343
- callback.apply(null, arguments);
344
- });
345
- if (!callback) {
346
- return new Promise(function (resolve) {
347
- callback = resolve;
348
- });
349
- }
350
- };
351
- EventEmitter.setDefaultHandler = function (eventName, callback) {
352
- var handlers = this._defaultHandlers;
353
- if (!handlers)
354
- handlers = this._defaultHandlers = { _disabled_: {} };
355
- if (handlers[eventName]) {
356
- var old = handlers[eventName];
357
- var disabled = handlers._disabled_[eventName];
358
- if (!disabled)
359
- handlers._disabled_[eventName] = disabled = [];
360
- disabled.push(old);
361
- var i = disabled.indexOf(callback);
362
- if (i != -1)
363
- disabled.splice(i, 1);
364
- }
365
- handlers[eventName] = callback;
366
- };
367
- EventEmitter.removeDefaultHandler = function (eventName, callback) {
368
- var handlers = this._defaultHandlers;
369
- if (!handlers)
370
- return;
371
- var disabled = handlers._disabled_[eventName];
372
- if (handlers[eventName] == callback) {
373
- if (disabled)
374
- this.setDefaultHandler(eventName, disabled.pop());
375
- }
376
- else if (disabled) {
377
- var i = disabled.indexOf(callback);
378
- if (i != -1)
379
- disabled.splice(i, 1);
380
- }
381
- };
382
- EventEmitter.on =
383
- EventEmitter.addEventListener = function (eventName, callback, capturing) {
384
- this._eventRegistry = this._eventRegistry || {};
385
- var listeners = this._eventRegistry[eventName];
386
- if (!listeners)
387
- listeners = this._eventRegistry[eventName] = [];
388
- if (listeners.indexOf(callback) == -1)
389
- listeners[capturing ? "unshift" : "push"](callback);
390
- return callback;
391
- };
392
- EventEmitter.off =
393
- EventEmitter.removeListener =
394
- EventEmitter.removeEventListener = function (eventName, callback) {
395
- this._eventRegistry = this._eventRegistry || {};
396
- var listeners = this._eventRegistry[eventName];
397
- if (!listeners)
398
- return;
399
- var index = listeners.indexOf(callback);
400
- if (index !== -1)
401
- listeners.splice(index, 1);
402
- };
403
- EventEmitter.removeAllListeners = function (eventName) {
404
- if (!eventName)
405
- this._eventRegistry = this._defaultHandlers = undefined;
406
- if (this._eventRegistry)
407
- this._eventRegistry[eventName] = undefined;
408
- if (this._defaultHandlers)
409
- this._defaultHandlers[eventName] = undefined;
410
- };
411
- exports.EventEmitter = EventEmitter;
412
-
413
- });
414
-
415
- ace.define("ace/range",[], function(require, exports, module){"use strict";
416
- var Range = /** @class */ (function () {
417
- function Range(startRow, startColumn, endRow, endColumn) {
418
- this.start = {
419
- row: startRow,
420
- column: startColumn
421
- };
422
- this.end = {
423
- row: endRow,
424
- column: endColumn
425
- };
426
- }
427
- Range.prototype.isEqual = function (range) {
428
- return this.start.row === range.start.row &&
429
- this.end.row === range.end.row &&
430
- this.start.column === range.start.column &&
431
- this.end.column === range.end.column;
432
- };
433
- Range.prototype.toString = function () {
434
- return ("Range: [" + this.start.row + "/" + this.start.column +
435
- "] -> [" + this.end.row + "/" + this.end.column + "]");
436
- };
437
- Range.prototype.contains = function (row, column) {
438
- return this.compare(row, column) == 0;
439
- };
440
- Range.prototype.compareRange = function (range) {
441
- var cmp, end = range.end, start = range.start;
442
- cmp = this.compare(end.row, end.column);
443
- if (cmp == 1) {
444
- cmp = this.compare(start.row, start.column);
445
- if (cmp == 1) {
446
- return 2;
447
- }
448
- else if (cmp == 0) {
449
- return 1;
450
- }
451
- else {
452
- return 0;
453
- }
454
- }
455
- else if (cmp == -1) {
456
- return -2;
457
- }
458
- else {
459
- cmp = this.compare(start.row, start.column);
460
- if (cmp == -1) {
461
- return -1;
462
- }
463
- else if (cmp == 1) {
464
- return 42;
465
- }
466
- else {
467
- return 0;
468
- }
469
- }
470
- };
471
- Range.prototype.comparePoint = function (p) {
472
- return this.compare(p.row, p.column);
473
- };
474
- Range.prototype.containsRange = function (range) {
475
- return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
476
- };
477
- Range.prototype.intersects = function (range) {
478
- var cmp = this.compareRange(range);
479
- return (cmp == -1 || cmp == 0 || cmp == 1);
480
- };
481
- Range.prototype.isEnd = function (row, column) {
482
- return this.end.row == row && this.end.column == column;
483
- };
484
- Range.prototype.isStart = function (row, column) {
485
- return this.start.row == row && this.start.column == column;
486
- };
487
- Range.prototype.setStart = function (row, column) {
488
- if (typeof row == "object") {
489
- this.start.column = row.column;
490
- this.start.row = row.row;
491
- }
492
- else {
493
- this.start.row = row;
494
- this.start.column = column;
495
- }
496
- };
497
- Range.prototype.setEnd = function (row, column) {
498
- if (typeof row == "object") {
499
- this.end.column = row.column;
500
- this.end.row = row.row;
501
- }
502
- else {
503
- this.end.row = row;
504
- this.end.column = column;
505
- }
506
- };
507
- Range.prototype.inside = function (row, column) {
508
- if (this.compare(row, column) == 0) {
509
- if (this.isEnd(row, column) || this.isStart(row, column)) {
510
- return false;
511
- }
512
- else {
513
- return true;
514
- }
515
- }
516
- return false;
517
- };
518
- Range.prototype.insideStart = function (row, column) {
519
- if (this.compare(row, column) == 0) {
520
- if (this.isEnd(row, column)) {
521
- return false;
522
- }
523
- else {
524
- return true;
525
- }
526
- }
527
- return false;
528
- };
529
- Range.prototype.insideEnd = function (row, column) {
530
- if (this.compare(row, column) == 0) {
531
- if (this.isStart(row, column)) {
532
- return false;
533
- }
534
- else {
535
- return true;
536
- }
537
- }
538
- return false;
539
- };
540
- Range.prototype.compare = function (row, column) {
541
- if (!this.isMultiLine()) {
542
- if (row === this.start.row) {
543
- return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
544
- }
545
- }
546
- if (row < this.start.row)
547
- return -1;
548
- if (row > this.end.row)
549
- return 1;
550
- if (this.start.row === row)
551
- return column >= this.start.column ? 0 : -1;
552
- if (this.end.row === row)
553
- return column <= this.end.column ? 0 : 1;
554
- return 0;
555
- };
556
- Range.prototype.compareStart = function (row, column) {
557
- if (this.start.row == row && this.start.column == column) {
558
- return -1;
559
- }
560
- else {
561
- return this.compare(row, column);
562
- }
563
- };
564
- Range.prototype.compareEnd = function (row, column) {
565
- if (this.end.row == row && this.end.column == column) {
566
- return 1;
567
- }
568
- else {
569
- return this.compare(row, column);
570
- }
571
- };
572
- Range.prototype.compareInside = function (row, column) {
573
- if (this.end.row == row && this.end.column == column) {
574
- return 1;
575
- }
576
- else if (this.start.row == row && this.start.column == column) {
577
- return -1;
578
- }
579
- else {
580
- return this.compare(row, column);
581
- }
582
- };
583
- Range.prototype.clipRows = function (firstRow, lastRow) {
584
- if (this.end.row > lastRow)
585
- var end = { row: lastRow + 1, column: 0 };
586
- else if (this.end.row < firstRow)
587
- var end = { row: firstRow, column: 0 };
588
- if (this.start.row > lastRow)
589
- var start = { row: lastRow + 1, column: 0 };
590
- else if (this.start.row < firstRow)
591
- var start = { row: firstRow, column: 0 };
592
- return Range.fromPoints(start || this.start, end || this.end);
593
- };
594
- Range.prototype.extend = function (row, column) {
595
- var cmp = this.compare(row, column);
596
- if (cmp == 0)
597
- return this;
598
- else if (cmp == -1)
599
- var start = { row: row, column: column };
600
- else
601
- var end = { row: row, column: column };
602
- return Range.fromPoints(start || this.start, end || this.end);
603
- };
604
- Range.prototype.isEmpty = function () {
605
- return (this.start.row === this.end.row && this.start.column === this.end.column);
606
- };
607
- Range.prototype.isMultiLine = function () {
608
- return (this.start.row !== this.end.row);
609
- };
610
- Range.prototype.clone = function () {
611
- return Range.fromPoints(this.start, this.end);
612
- };
613
- Range.prototype.collapseRows = function () {
614
- if (this.end.column == 0)
615
- return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row - 1), 0);
616
- else
617
- return new Range(this.start.row, 0, this.end.row, 0);
618
- };
619
- Range.prototype.toScreenRange = function (session) {
620
- var screenPosStart = session.documentToScreenPosition(this.start);
621
- var screenPosEnd = session.documentToScreenPosition(this.end);
622
- return new Range(screenPosStart.row, screenPosStart.column, screenPosEnd.row, screenPosEnd.column);
623
- };
624
- Range.prototype.moveBy = function (row, column) {
625
- this.start.row += row;
626
- this.start.column += column;
627
- this.end.row += row;
628
- this.end.column += column;
629
- };
630
- return Range;
631
- }());
632
- Range.fromPoints = function (start, end) {
633
- return new Range(start.row, start.column, end.row, end.column);
634
- };
635
- Range.comparePoints = function (p1, p2) {
636
- return p1.row - p2.row || p1.column - p2.column;
637
- };
638
- exports.Range = Range;
639
-
640
- });
641
-
642
- ace.define("ace/anchor",[], function(require, exports, module){"use strict";
643
- var oop = require("./lib/oop");
644
- var EventEmitter = require("./lib/event_emitter").EventEmitter;
645
- var Anchor = /** @class */ (function () {
646
- function Anchor(doc, row, column) {
647
- this.$onChange = this.onChange.bind(this);
648
- this.attach(doc);
649
- if (typeof row != "number")
650
- this.setPosition(row.row, row.column);
651
- else
652
- this.setPosition(row, column);
653
- }
654
- Anchor.prototype.getPosition = function () {
655
- return this.$clipPositionToDocument(this.row, this.column);
656
- };
657
- Anchor.prototype.getDocument = function () {
658
- return this.document;
659
- };
660
- Anchor.prototype.onChange = function (delta) {
661
- if (delta.start.row == delta.end.row && delta.start.row != this.row)
662
- return;
663
- if (delta.start.row > this.row)
664
- return;
665
- var point = $getTransformedPoint(delta, { row: this.row, column: this.column }, this.$insertRight);
666
- this.setPosition(point.row, point.column, true);
667
- };
668
- Anchor.prototype.setPosition = function (row, column, noClip) {
669
- var pos;
670
- if (noClip) {
671
- pos = {
672
- row: row,
673
- column: column
674
- };
675
- }
676
- else {
677
- pos = this.$clipPositionToDocument(row, column);
678
- }
679
- if (this.row == pos.row && this.column == pos.column)
680
- return;
681
- var old = {
682
- row: this.row,
683
- column: this.column
684
- };
685
- this.row = pos.row;
686
- this.column = pos.column;
687
- this._signal("change", {
688
- old: old,
689
- value: pos
690
- });
691
- };
692
- Anchor.prototype.detach = function () {
693
- this.document.off("change", this.$onChange);
694
- };
695
- Anchor.prototype.attach = function (doc) {
696
- this.document = doc || this.document;
697
- this.document.on("change", this.$onChange);
698
- };
699
- Anchor.prototype.$clipPositionToDocument = function (row, column) {
700
- var pos = {};
701
- if (row >= this.document.getLength()) {
702
- pos.row = Math.max(0, this.document.getLength() - 1);
703
- pos.column = this.document.getLine(pos.row).length;
704
- }
705
- else if (row < 0) {
706
- pos.row = 0;
707
- pos.column = 0;
708
- }
709
- else {
710
- pos.row = row;
711
- pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));
712
- }
713
- if (column < 0)
714
- pos.column = 0;
715
- return pos;
716
- };
717
- return Anchor;
718
- }());
719
- Anchor.prototype.$insertRight = false;
720
- oop.implement(Anchor.prototype, EventEmitter);
721
- function $pointsInOrder(point1, point2, equalPointsInOrder) {
722
- var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;
723
- return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
724
- }
725
- function $getTransformedPoint(delta, point, moveIfEqual) {
726
- var deltaIsInsert = delta.action == "insert";
727
- var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);
728
- var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);
729
- var deltaStart = delta.start;
730
- var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.
731
- if ($pointsInOrder(point, deltaStart, moveIfEqual)) {
732
- return {
733
- row: point.row,
734
- column: point.column
735
- };
736
- }
737
- if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {
738
- return {
739
- row: point.row + deltaRowShift,
740
- column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)
741
- };
742
- }
743
- return {
744
- row: deltaStart.row,
745
- column: deltaStart.column
746
- };
747
- }
748
- exports.Anchor = Anchor;
749
-
750
- });
751
-
752
- ace.define("ace/document",[], function(require, exports, module){"use strict";
753
- var oop = require("./lib/oop");
754
- var applyDelta = require("./apply_delta").applyDelta;
755
- var EventEmitter = require("./lib/event_emitter").EventEmitter;
756
- var Range = require("./range").Range;
757
- var Anchor = require("./anchor").Anchor;
758
- var Document = /** @class */ (function () {
759
- function Document(textOrLines) {
760
- this.$lines = [""];
761
- if (textOrLines.length === 0) {
762
- this.$lines = [""];
763
- }
764
- else if (Array.isArray(textOrLines)) {
765
- this.insertMergedLines({ row: 0, column: 0 }, textOrLines);
766
- }
767
- else {
768
- this.insert({ row: 0, column: 0 }, textOrLines);
769
- }
770
- }
771
- Document.prototype.setValue = function (text) {
772
- var len = this.getLength() - 1;
773
- this.remove(new Range(0, 0, len, this.getLine(len).length));
774
- this.insert({ row: 0, column: 0 }, text || "");
775
- };
776
- Document.prototype.getValue = function () {
777
- return this.getAllLines().join(this.getNewLineCharacter());
778
- };
779
- Document.prototype.createAnchor = function (row, column) {
780
- return new Anchor(this, row, column);
781
- };
782
- Document.prototype.$detectNewLine = function (text) {
783
- var match = text.match(/^.*?(\r\n|\r|\n)/m);
784
- this.$autoNewLine = match ? match[1] : "\n";
785
- this._signal("changeNewLineMode");
786
- };
787
- Document.prototype.getNewLineCharacter = function () {
788
- switch (this.$newLineMode) {
789
- case "windows":
790
- return "\r\n";
791
- case "unix":
792
- return "\n";
793
- default:
794
- return this.$autoNewLine || "\n";
795
- }
796
- };
797
- Document.prototype.setNewLineMode = function (newLineMode) {
798
- if (this.$newLineMode === newLineMode)
799
- return;
800
- this.$newLineMode = newLineMode;
801
- this._signal("changeNewLineMode");
802
- };
803
- Document.prototype.getNewLineMode = function () {
804
- return this.$newLineMode;
805
- };
806
- Document.prototype.isNewLine = function (text) {
807
- return (text == "\r\n" || text == "\r" || text == "\n");
808
- };
809
- Document.prototype.getLine = function (row) {
810
- return this.$lines[row] || "";
811
- };
812
- Document.prototype.getLines = function (firstRow, lastRow) {
813
- return this.$lines.slice(firstRow, lastRow + 1);
814
- };
815
- Document.prototype.getAllLines = function () {
816
- return this.getLines(0, this.getLength());
817
- };
818
- Document.prototype.getLength = function () {
819
- return this.$lines.length;
820
- };
821
- Document.prototype.getTextRange = function (range) {
822
- return this.getLinesForRange(range).join(this.getNewLineCharacter());
823
- };
824
- Document.prototype.getLinesForRange = function (range) {
825
- var lines;
826
- if (range.start.row === range.end.row) {
827
- lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];
828
- }
829
- else {
830
- lines = this.getLines(range.start.row, range.end.row);
831
- lines[0] = (lines[0] || "").substring(range.start.column);
832
- var l = lines.length - 1;
833
- if (range.end.row - range.start.row == l)
834
- lines[l] = lines[l].substring(0, range.end.column);
835
- }
836
- return lines;
837
- };
838
- Document.prototype.insertLines = function (row, lines) {
839
- console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead.");
840
- return this.insertFullLines(row, lines);
841
- };
842
- Document.prototype.removeLines = function (firstRow, lastRow) {
843
- console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead.");
844
- return this.removeFullLines(firstRow, lastRow);
845
- };
846
- Document.prototype.insertNewLine = function (position) {
847
- console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.");
848
- return this.insertMergedLines(position, ["", ""]);
849
- };
850
- Document.prototype.insert = function (position, text) {
851
- if (this.getLength() <= 1)
852
- this.$detectNewLine(text);
853
- return this.insertMergedLines(position, this.$split(text));
854
- };
855
- Document.prototype.insertInLine = function (position, text) {
856
- var start = this.clippedPos(position.row, position.column);
857
- var end = this.pos(position.row, position.column + text.length);
858
- this.applyDelta({
859
- start: start,
860
- end: end,
861
- action: "insert",
862
- lines: [text]
863
- }, true);
864
- return this.clonePos(end);
865
- };
866
- Document.prototype.clippedPos = function (row, column) {
867
- var length = this.getLength();
868
- if (row === undefined) {
869
- row = length;
870
- }
871
- else if (row < 0) {
872
- row = 0;
873
- }
874
- else if (row >= length) {
875
- row = length - 1;
876
- column = undefined;
877
- }
878
- var line = this.getLine(row);
879
- if (column == undefined)
880
- column = line.length;
881
- column = Math.min(Math.max(column, 0), line.length);
882
- return { row: row, column: column };
883
- };
884
- Document.prototype.clonePos = function (pos) {
885
- return { row: pos.row, column: pos.column };
886
- };
887
- Document.prototype.pos = function (row, column) {
888
- return { row: row, column: column };
889
- };
890
- Document.prototype.$clipPosition = function (position) {
891
- var length = this.getLength();
892
- if (position.row >= length) {
893
- position.row = Math.max(0, length - 1);
894
- position.column = this.getLine(length - 1).length;
895
- }
896
- else {
897
- position.row = Math.max(0, position.row);
898
- position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);
899
- }
900
- return position;
901
- };
902
- Document.prototype.insertFullLines = function (row, lines) {
903
- row = Math.min(Math.max(row, 0), this.getLength());
904
- var column = 0;
905
- if (row < this.getLength()) {
906
- lines = lines.concat([""]);
907
- column = 0;
908
- }
909
- else {
910
- lines = [""].concat(lines);
911
- row--;
912
- column = this.$lines[row].length;
913
- }
914
- this.insertMergedLines({ row: row, column: column }, lines);
915
- };
916
- Document.prototype.insertMergedLines = function (position, lines) {
917
- var start = this.clippedPos(position.row, position.column);
918
- var end = {
919
- row: start.row + lines.length - 1,
920
- column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length
921
- };
922
- this.applyDelta({
923
- start: start,
924
- end: end,
925
- action: "insert",
926
- lines: lines
927
- });
928
- return this.clonePos(end);
929
- };
930
- Document.prototype.remove = function (range) {
931
- var start = this.clippedPos(range.start.row, range.start.column);
932
- var end = this.clippedPos(range.end.row, range.end.column);
933
- this.applyDelta({
934
- start: start,
935
- end: end,
936
- action: "remove",
937
- lines: this.getLinesForRange({ start: start, end: end })
938
- });
939
- return this.clonePos(start);
940
- };
941
- Document.prototype.removeInLine = function (row, startColumn, endColumn) {
942
- var start = this.clippedPos(row, startColumn);
943
- var end = this.clippedPos(row, endColumn);
944
- this.applyDelta({
945
- start: start,
946
- end: end,
947
- action: "remove",
948
- lines: this.getLinesForRange({ start: start, end: end })
949
- }, true);
950
- return this.clonePos(start);
951
- };
952
- Document.prototype.removeFullLines = function (firstRow, lastRow) {
953
- firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);
954
- lastRow = Math.min(Math.max(0, lastRow), this.getLength() - 1);
955
- var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;
956
- var deleteLastNewLine = lastRow < this.getLength() - 1;
957
- var startRow = (deleteFirstNewLine ? firstRow - 1 : firstRow);
958
- var startCol = (deleteFirstNewLine ? this.getLine(startRow).length : 0);
959
- var endRow = (deleteLastNewLine ? lastRow + 1 : lastRow);
960
- var endCol = (deleteLastNewLine ? 0 : this.getLine(endRow).length);
961
- var range = new Range(startRow, startCol, endRow, endCol);
962
- var deletedLines = this.$lines.slice(firstRow, lastRow + 1);
963
- this.applyDelta({
964
- start: range.start,
965
- end: range.end,
966
- action: "remove",
967
- lines: this.getLinesForRange(range)
968
- });
969
- return deletedLines;
970
- };
971
- Document.prototype.removeNewLine = function (row) {
972
- if (row < this.getLength() - 1 && row >= 0) {
973
- this.applyDelta({
974
- start: this.pos(row, this.getLine(row).length),
975
- end: this.pos(row + 1, 0),
976
- action: "remove",
977
- lines: ["", ""]
978
- });
979
- }
980
- };
981
- Document.prototype.replace = function (range, text) {
982
- if (!(range instanceof Range))
983
- range = Range.fromPoints(range.start, range.end);
984
- if (text.length === 0 && range.isEmpty())
985
- return range.start;
986
- if (text == this.getTextRange(range))
987
- return range.end;
988
- this.remove(range);
989
- var end;
990
- if (text) {
991
- end = this.insert(range.start, text);
992
- }
993
- else {
994
- end = range.start;
995
- }
996
- return end;
997
- };
998
- Document.prototype.applyDeltas = function (deltas) {
999
- for (var i = 0; i < deltas.length; i++) {
1000
- this.applyDelta(deltas[i]);
1001
- }
1002
- };
1003
- Document.prototype.revertDeltas = function (deltas) {
1004
- for (var i = deltas.length - 1; i >= 0; i--) {
1005
- this.revertDelta(deltas[i]);
1006
- }
1007
- };
1008
- Document.prototype.applyDelta = function (delta, doNotValidate) {
1009
- var isInsert = delta.action == "insert";
1010
- if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]
1011
- : !Range.comparePoints(delta.start, delta.end)) {
1012
- return;
1013
- }
1014
- if (isInsert && delta.lines.length > 20000) {
1015
- this.$splitAndapplyLargeDelta(delta, 20000);
1016
- }
1017
- else {
1018
- applyDelta(this.$lines, delta, doNotValidate);
1019
- this._signal("change", delta);
1020
- }
1021
- };
1022
- Document.prototype.$safeApplyDelta = function (delta) {
1023
- var docLength = this.$lines.length;
1024
- if (delta.action == "remove" && delta.start.row < docLength && delta.end.row < docLength
1025
- || delta.action == "insert" && delta.start.row <= docLength) {
1026
- this.applyDelta(delta);
1027
- }
1028
- };
1029
- Document.prototype.$splitAndapplyLargeDelta = function (delta, MAX) {
1030
- var lines = delta.lines;
1031
- var l = lines.length - MAX + 1;
1032
- var row = delta.start.row;
1033
- var column = delta.start.column;
1034
- for (var from = 0, to = 0; from < l; from = to) {
1035
- to += MAX - 1;
1036
- var chunk = lines.slice(from, to);
1037
- chunk.push("");
1038
- this.applyDelta({
1039
- start: this.pos(row + from, column),
1040
- end: this.pos(row + to, column = 0),
1041
- action: delta.action,
1042
- lines: chunk
1043
- }, true);
1044
- }
1045
- delta.lines = lines.slice(from);
1046
- delta.start.row = row + from;
1047
- delta.start.column = column;
1048
- this.applyDelta(delta, true);
1049
- };
1050
- Document.prototype.revertDelta = function (delta) {
1051
- this.$safeApplyDelta({
1052
- start: this.clonePos(delta.start),
1053
- end: this.clonePos(delta.end),
1054
- action: (delta.action == "insert" ? "remove" : "insert"),
1055
- lines: delta.lines.slice()
1056
- });
1057
- };
1058
- Document.prototype.indexToPosition = function (index, startRow) {
1059
- var lines = this.$lines || this.getAllLines();
1060
- var newlineLength = this.getNewLineCharacter().length;
1061
- for (var i = startRow || 0, l = lines.length; i < l; i++) {
1062
- index -= lines[i].length + newlineLength;
1063
- if (index < 0)
1064
- return { row: i, column: index + lines[i].length + newlineLength };
1065
- }
1066
- return { row: l - 1, column: index + lines[l - 1].length + newlineLength };
1067
- };
1068
- Document.prototype.positionToIndex = function (pos, startRow) {
1069
- var lines = this.$lines || this.getAllLines();
1070
- var newlineLength = this.getNewLineCharacter().length;
1071
- var index = 0;
1072
- var row = Math.min(pos.row, lines.length);
1073
- for (var i = startRow || 0; i < row; ++i)
1074
- index += lines[i].length + newlineLength;
1075
- return index + pos.column;
1076
- };
1077
- Document.prototype.$split = function (text) {
1078
- return text.split(/\r\n|\r|\n/);
1079
- };
1080
- return Document;
1081
- }());
1082
- Document.prototype.$autoNewLine = "";
1083
- Document.prototype.$newLineMode = "auto";
1084
- oop.implement(Document.prototype, EventEmitter);
1085
- exports.Document = Document;
1086
-
1087
- });
1088
-
1089
- ace.define("ace/lib/deep_copy",[], function(require, exports, module){exports.deepCopy = function deepCopy(obj) {
1090
- if (typeof obj !== "object" || !obj)
1091
- return obj;
1092
- var copy;
1093
- if (Array.isArray(obj)) {
1094
- copy = [];
1095
- for (var key = 0; key < obj.length; key++) {
1096
- copy[key] = deepCopy(obj[key]);
1097
- }
1098
- return copy;
1099
- }
1100
- if (Object.prototype.toString.call(obj) !== "[object Object]")
1101
- return obj;
1102
- copy = {};
1103
- for (var key in obj)
1104
- copy[key] = deepCopy(obj[key]);
1105
- return copy;
1106
- };
1107
-
1108
- });
1109
-
1110
- ace.define("ace/lib/lang",[], function(require, exports, module){"use strict";
1111
- exports.last = function (a) {
1112
- return a[a.length - 1];
1113
- };
1114
- exports.stringReverse = function (string) {
1115
- return string.split("").reverse().join("");
1116
- };
1117
- exports.stringRepeat = function (string, count) {
1118
- var result = '';
1119
- while (count > 0) {
1120
- if (count & 1)
1121
- result += string;
1122
- if (count >>= 1)
1123
- string += string;
1124
- }
1125
- return result;
1126
- };
1127
- var trimBeginRegexp = /^\s\s*/;
1128
- var trimEndRegexp = /\s\s*$/;
1129
- exports.stringTrimLeft = function (string) {
1130
- return string.replace(trimBeginRegexp, '');
1131
- };
1132
- exports.stringTrimRight = function (string) {
1133
- return string.replace(trimEndRegexp, '');
1134
- };
1135
- exports.copyObject = function (obj) {
1136
- var copy = {};
1137
- for (var key in obj) {
1138
- copy[key] = obj[key];
1139
- }
1140
- return copy;
1141
- };
1142
- exports.copyArray = function (array) {
1143
- var copy = [];
1144
- for (var i = 0, l = array.length; i < l; i++) {
1145
- if (array[i] && typeof array[i] == "object")
1146
- copy[i] = this.copyObject(array[i]);
1147
- else
1148
- copy[i] = array[i];
1149
- }
1150
- return copy;
1151
- };
1152
- exports.deepCopy = require("./deep_copy").deepCopy;
1153
- exports.arrayToMap = function (arr) {
1154
- var map = {};
1155
- for (var i = 0; i < arr.length; i++) {
1156
- map[arr[i]] = 1;
1157
- }
1158
- return map;
1159
- };
1160
- exports.createMap = function (props) {
1161
- var map = Object.create(null);
1162
- for (var i in props) {
1163
- map[i] = props[i];
1164
- }
1165
- return map;
1166
- };
1167
- exports.arrayRemove = function (array, value) {
1168
- for (var i = 0; i <= array.length; i++) {
1169
- if (value === array[i]) {
1170
- array.splice(i, 1);
1171
- }
1172
- }
1173
- };
1174
- exports.escapeRegExp = function (str) {
1175
- return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
1176
- };
1177
- exports.escapeHTML = function (str) {
1178
- return ("" + str).replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
1179
- };
1180
- exports.getMatchOffsets = function (string, regExp) {
1181
- var matches = [];
1182
- string.replace(regExp, function (str) {
1183
- matches.push({
1184
- offset: arguments[arguments.length - 2],
1185
- length: str.length
1186
- });
1187
- });
1188
- return matches;
1189
- };
1190
- exports.deferredCall = function (fcn) {
1191
- var timer = null;
1192
- var callback = function () {
1193
- timer = null;
1194
- fcn();
1195
- };
1196
- var deferred = function (timeout) {
1197
- deferred.cancel();
1198
- timer = setTimeout(callback, timeout || 0);
1199
- return deferred;
1200
- };
1201
- deferred.schedule = deferred;
1202
- deferred.call = function () {
1203
- this.cancel();
1204
- fcn();
1205
- return deferred;
1206
- };
1207
- deferred.cancel = function () {
1208
- clearTimeout(timer);
1209
- timer = null;
1210
- return deferred;
1211
- };
1212
- deferred.isPending = function () {
1213
- return timer;
1214
- };
1215
- return deferred;
1216
- };
1217
- exports.delayedCall = function (fcn, defaultTimeout) {
1218
- var timer = null;
1219
- var callback = function () {
1220
- timer = null;
1221
- fcn();
1222
- };
1223
- var _self = function (timeout) {
1224
- if (timer == null)
1225
- timer = setTimeout(callback, timeout || defaultTimeout);
1226
- };
1227
- _self.delay = function (timeout) {
1228
- timer && clearTimeout(timer);
1229
- timer = setTimeout(callback, timeout || defaultTimeout);
1230
- };
1231
- _self.schedule = _self;
1232
- _self.call = function () {
1233
- this.cancel();
1234
- fcn();
1235
- };
1236
- _self.cancel = function () {
1237
- timer && clearTimeout(timer);
1238
- timer = null;
1239
- };
1240
- _self.isPending = function () {
1241
- return timer;
1242
- };
1243
- return _self;
1244
- };
1245
- exports.supportsLookbehind = function () {
1246
- try {
1247
- new RegExp('(?<=.)');
1248
- }
1249
- catch (e) {
1250
- return false;
1251
- }
1252
- return true;
1253
- };
1254
- exports.skipEmptyMatch = function (line, last, supportsUnicodeFlag) {
1255
- return supportsUnicodeFlag && line.codePointAt(last) > 0xffff ? 2 : 1;
1256
- };
1257
-
1258
- });
1259
-
1260
- ace.define("ace/worker/mirror",[], function(require, exports, module) {
1261
- "use strict";
1262
-
1263
- var Document = require("../document").Document;
1264
- var lang = require("../lib/lang");
1265
-
1266
- var Mirror = exports.Mirror = function(sender) {
1267
- this.sender = sender;
1268
- var doc = this.doc = new Document("");
1269
-
1270
- var deferredUpdate = this.deferredUpdate = lang.delayedCall(this.onUpdate.bind(this));
1271
-
1272
- var _self = this;
1273
- sender.on("change", function(e) {
1274
- var data = e.data;
1275
- if (data[0].start) {
1276
- doc.applyDeltas(data);
1277
- } else {
1278
- for (var i = 0; i < data.length; i += 2) {
1279
- var d, err;
1280
- if (Array.isArray(data[i+1])) {
1281
- d = {action: "insert", start: data[i], lines: data[i+1]};
1282
- } else {
1283
- d = {action: "remove", start: data[i], end: data[i+1]};
1284
- }
1285
-
1286
- if ((d.action == "insert" ? d.start : d.end).row >= doc.$lines.length) {
1287
- err = new Error("Invalid delta");
1288
- err.data = {
1289
- path: _self.$path,
1290
- linesLength: doc.$lines.length,
1291
- start: d.start,
1292
- end: d.end
1293
- };
1294
- throw err;
1295
- }
1296
-
1297
- doc.applyDelta(d, true);
1298
- }
1299
- }
1300
- if (_self.$timeout)
1301
- return deferredUpdate.schedule(_self.$timeout);
1302
- _self.onUpdate();
1303
- });
1304
- };
1305
-
1306
- (function() {
1307
-
1308
- this.$timeout = 500;
1309
-
1310
- this.setTimeout = function(timeout) {
1311
- this.$timeout = timeout;
1312
- };
1313
-
1314
- this.setValue = function(value) {
1315
- this.doc.setValue(value);
1316
- this.deferredUpdate.schedule(this.$timeout);
1317
- };
1318
-
1319
- this.getValue = function(callbackId) {
1320
- this.sender.callback(this.doc.getValue(), callbackId);
1321
- };
1322
-
1323
- this.onUpdate = function() {
1324
- };
1325
-
1326
- this.isPending = function() {
1327
- return this.deferredUpdate.isPending();
1328
- };
1329
-
1330
- }).call(Mirror.prototype);
1331
-
1332
- });