Lines Matching refs:start
184 function string_del(str, start, end) {
185 return str.slice(0, start) + str.slice(end, str.length);
258 _index: { start: 0, end: 0 },
283 const a = this._index.start;
295 this._index.start = this._index.end = i;
300 this._index.start = a;
306 if (this._index.start == this._index.end) {
308 index = Math.max(Math.min(this._index.start + dx, this._text.length), 0);
311 index = dx < 0 ? this._index.start : this._index.end;
316 let index = (dy < 0) ? this._index.start : this._index.end;
380 r.textRange = { start: r.offsets[0], end: r.offsets[r.offsets.length-1] };
389 _deleteRange: function(start, end) {
390 ASSERT(start >= 0 && end <= this._text.length);
391 ASSERT(start <= end);
392 if (start === end) {
396 this._delete_style_range(start, end);
398 this._text = string_del(this._text, start, end);
401 let start = this._index.start;
402 if (start == this._index.end) {
403 if (start == 0) {
406 this._deleteRange(start - 1, start);
407 start -= 1;
409 this._deleteRange(start, this._index.end);
411 this._index.start = this._index.end = start;
415 if (this._index.start != this._index.end) {
418 const index = this._index.start;
427 this._index.start = this._index.end = index + 1;
450 let start = 0;
452 while (start < this._text.length) {
453 while (r.textRange.end <= start) {
461 while (s_end <= start) {
468 LOG('New range: ', start, end,
469 'from run', r.textRange.start, r.textRange.end,
473 if (r.textRange.start >= end) {
474 start = end;
486 if (start > r.textRange.start || end < r.textRange.end) {
490 if (r.offsets[i] >= start) {
529 start = end;
552 _delete_style_range: function(start, end) {
556 // [..................] start...end
562 let N = end - start;
563 let [i, prev_len] = this.find_style_index_and_prev_length(start);
565 if (start > prev_len) {
567 const skip = start - prev_len;
591 applyStyleToRange: function(style, start, end) {
592 if (start > end) { [start, end] = [end, start]; }
593 ASSERT(start >= 0 && end <= this._text.length);
594 if (start === end) {
598 LOG('trying to apply', style, start, end);
601 if (start <= this._styles[i]._length) {
604 start -= this._styles[i]._length;
610 if (start > 0) {
612 s._length = start;
613 ns._length -= start;
614 LOG('initial splice', i, start, s._length, ns._length);
617 end -= start;
618 // we don't use start any more
650 this.applyStyleToRange(style, this._index.start, this._index.end);