Lines Matching refs:start

164 function string_del(str, start, end) {
165 return str.slice(0, start) + str.slice(end, str.length);
247 _index: { start: 0, end: 0 },
272 const a = this._index.start;
284 this._index.start = this._index.end = i;
289 this._index.start = a;
295 if (this._index.start == this._index.end) {
297 index = Math.max(Math.min(this._index.start + dx, this._text.length), 0);
300 index = dx < 0 ? this._index.start : this._index.end;
305 let index = (dy < 0) ? this._index.start : this._index.end;
355 r.textRange = { start: r.offsets[0], end: r.offsets[r.offsets.length-1] };
364 _deleteRange: function(start, end) {
365 ASSERT(start >= 0 && end <= this._text.length);
366 ASSERT(start <= end);
367 if (start === end) {
371 this._delete_style_range(start, end);
373 this._text = string_del(this._text, start, end);
376 let start = this._index.start;
377 if (start == this._index.end) {
379 if (start == 0) {
382 this._deleteRange(start - 1, start);
383 start -= 1;
385 if (start >= this._text.length) {
388 this._deleteRange(start, start + 1);
391 this._deleteRange(start, this._index.end);
393 this._index.start = this._index.end = start;
398 if (this._index.start != this._index.end) {
401 const index = this._index.start;
410 this._index.start = this._index.end = index + len;
433 let start = 0;
435 while (start < this._text.length) {
436 while (r.textRange.end <= start) {
444 while (s_end <= start) {
451 LOG('New range: ', start, end,
452 'from run', r.textRange.start, r.textRange.end,
456 if (r.textRange.start >= end) {
457 start = end;
470 if (start > r.textRange.start || end < r.textRange.end) {
474 if (r.offsets[i] >= start) {
508 start = end;
531 _delete_style_range: function(start, end) {
535 // [..................] start...end
541 let N = end - start;
542 let [i, prev_len] = this.find_style_index_and_prev_length(start);
544 if (start > prev_len) {
546 const skip = start - prev_len;
570 applyStyleToRange: function(style, start, end) {
571 if (start > end) { [start, end] = [end, start]; }
572 ASSERT(start >= 0 && end <= this._text.length);
573 if (start === end) {
577 LOG('trying to apply', style, start, end);
580 if (start <= this._styles[i]._length) {
583 start -= this._styles[i]._length;
589 if (start > 0) {
591 s._length = start;
592 ns._length -= start;
593 LOG('initial splice', i, start, s._length, ns._length);
596 end -= start;
597 // we don't use start any more
629 this.applyStyleToRange(style, this._index.start, this._index.end);