Diff Вы: nobody
Вход

Differences From Artifact [07b68c6d9e]:

To Artifact [8010340d8d]:


87
88
89
90
91
92
93


94
95
96
97
98
99
100
...
222
223
224
225
226
227
228


229
230
231
232
233
234
235
...
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
{
    var s = str;
    var words = null;     

    this.reset = function () 
    {
        words = s.split(/[^\wА-я]+/);


    }
    
    this.assert = function (ix) 
    {
        return ((typeof(words) == "object") && (ix >= 0) && (ix < words.length));                  
    }
    
................................................................................
        while (true) {  
            var word = words.next(lookBackward);
            if (word) {
                this.complete(word);
                return;
            }
            words = this.nextLine();


        }
    }
    
	/* строит и возвращает список соответсвующих слов для следующей по порядку строки */
    this.nextLine = function ()
    {                   
        curLineIx += (backwardSearch ? -1 : 1); 
................................................................................
    }
    
	/* "разбирает" переданную в качестве параметра строку на слова и фильтрует их 
    в соотвествии с шаблоном, который описывает подходящие соответствия для исходного слова */
    this.parseLine = function (srcLine)
    {
        var w = new Line(srcLine);
        w.filter(pattern, true);       
        return w.iterator(backwardSearch);
    }
    
	/* выполняет подстановку очередного соответствия вместо исходного слова */
    this.complete = function (word)
    {        
        CurDoc.ReplaceLine(srcLine, this.leftPart() + word + this.rightPart());







>
>







 







>
>







 







|







87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
...
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
...
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
{
    var s = str;
    var words = null;     

    this.reset = function () 
    {
        words = s.split(/[^\wА-я]+/);
        if (!words.length || words.length == 1 && !words[0])
            words = new Array;
    }
    
    this.assert = function (ix) 
    {
        return ((typeof(words) == "object") && (ix >= 0) && (ix < words.length));                  
    }
    
................................................................................
        while (true) {  
            var word = words.next(lookBackward);
            if (word) {
                this.complete(word);
                return;
            }
            words = this.nextLine();
            if (!words.collection.count())
                return;
        }
    }
    
	/* строит и возвращает список соответсвующих слов для следующей по порядку строки */
    this.nextLine = function ()
    {                   
        curLineIx += (backwardSearch ? -1 : 1); 
................................................................................
    }
    
	/* "разбирает" переданную в качестве параметра строку на слова и фильтрует их 
    в соотвествии с шаблоном, который описывает подходящие соответствия для исходного слова */
    this.parseLine = function (srcLine)
    {
        var w = new Line(srcLine);
        w.filter(pattern, true);               
        return w.iterator(backwardSearch);
    }
    
	/* выполняет подстановку очередного соответствия вместо исходного слова */
    this.complete = function (word)
    {        
        CurDoc.ReplaceLine(srcLine, this.leftPart() + word + this.rightPart());