.Language=Russian,Russian (Русский)
.PluginContents=Завершение слов в редакторе

@Contents
$ #Завершение слов в редакторе v4.0#

    ~Благодарности~@Thanks@

    ~Зачем нужен этот плагин?~@Need@

    ~Как им пользоваться?~@HowUse@

    ~Список найденных слов~@List@

    ~Автоматическое завершения слов~@AutoCmpl@

    ~Настройки для вызова плагина из меню~@Config@

    ~Настройки автоматического завершения слов~@ConfigAuto@

    ~Об авторе~@Author@

@Thanks
$ #Благодарности#

      #Я очень благодарен#

 #Евгению Рошалу и#    за Far Manager
 #"Far Team"#

 #Валентину Скирдину#  за многочисленные советы
                     и дружеское участие

 #Ивану Синтюрину#     за чудесный плагин "Search And Replace",
                     а также за идеи

 #Алексею Яценко,#     за живейший интерес к плагину, многочисленные
 #Стасу Механошину и#  идеи и самоотверженное тестирование
 #Ondrej Brablc#

 #Дмитрию Ерохину#     за корректировку файла помощи и русского
                     языкового модуля

 #Игорю Русских#       за "Colorer"


@Need
$ #Зачем нужен этот плагин?#
Вот цитата из документации первого автора этого плагина Андрея Третьякова:

    #Так вот, эту маленькую штучку я нарисовал для себя %)#
    #в целях более быстрой набивки текстов для жены.#
    #Ей надо было набить 1200 вопросов (на 240 листов) по#
    #фармакологии. Слова там однообразные и ужасные с точки#
    #зрения программиста.#
    #Клипбоард не спасал, поэтому я бросил эти билеты и сел#
    #за С++.#

    #Итог такой:#

    #данный плагин ждет нажатия на ctrl-space (контрол-пробел)#
    (сейчас Вы сами можете назначить комбинацию клавиш)
    #и по приходу оного сканирует предыдущие строчки текста.#
    #В этом тексте он ищет слова, начало которых совпадают с тем#
    #куском, что вы уже набили. Если что-то найдено - выпадает#
    #меню из вариантов, или если вариантов - 1, не выпадает.#
    #Если ничего нет - пищит.#

    #Сканируется не весь текст, а только 2000 предыдущих строк.#
    #Это сделано с целью убыстрения, так как я работаю на 486, :))#
    #мне это было надо в первую очередь.#

    #Есть ~настройка~@Config@, в которой можно указать несколько параметров#

А вот что к этому добавил второй автор Алексей Семенов:

    #После корректировки и перекомпиляции плагин стал:#
     #1. Работать !#
     #2. + Воспринимать кодовую страницу редактируемого текста. (New!)#
     #3. + Искать похожие слова не только в предыдущих строчках, но и#
          #в текущей (вплоть до положения курсора). (New!)#
     #4. + Стал меньше почти в 2 раза.#

Ну а ~мой~@mailto:mr_july@@mail.ru@ вклад в это дело таков:

    1. Количество ~настроек~@Config@ значительно увеличено.
    2. Функциональные возможности расширены.
    3. Алгоритм существенно переработан и оптимизирован.
    4. Плагин стал меньше почти в 3 раза (~~18kb).
    5. Добавлена помощь.
    6. Плагин "научился" АВТОМАТИЧЕСКИ завершать слова.
    7. Поддерживаются шаблоны при поиске вариантов
       (см. ~настройки~@Config@)


@HowUse
$ #Как это работает#
  Как Вы уже догадались, плагин написан для "лентяев", простите, для людей, умеющих
ценить свое время.

  Итак, вы печатаете текст и ловите себя на том, что многие
слова вам уже встречались. А нельзя ли сделать так, чтобы не нужно было "набивать"
все это снова и снова? Можно! Достаточно набрать несколько первых букв и вызвать
этот плагин. Перед вами предстанет ~список~@List@ слов, у которых начало совпадает
с тем, что Вы только что напечатали. Ваша задача сводится к тому, чтобы выбрать из
этого списка нужное слово и... Все!

                    #Как формируется этот список?#

  А очень просто! Плагин ищет слова с таким же началом в текущей строке, в
~N~@Config@ строках выше и ниже(~опция~@Config@). Если вариантов получается
очень много, то будут взяты только первые ~K~@Config@ штук, кроме того, по
достижении некоторого ~"критического"~@Config@ количества список будет
отсортирован по алфавиту.

  Но если Вам и эта процедура кажется слишком долгой, то специально для Вас
предусмотрен режим ~автоматического завершения слов~@AutoCmpl@

@List
$ #Список найденных слов#
  Из этого списка можно выбрать слово, которое будет вставлено вместо введенной
части. Выбор осуществляется либо мышью, либо клавишами курсора до нужного слова,
а затем #Enter#. Кроме того, имеются горячие клавиши. Отменить выбор можно
Esc. Ну, это, так сказать, #СТАНДАРТ#, а есть и #ИЗЮМИНКА#

#ИЗЮМИНКА:#

  Установив курсор на нужное слово, Вы можете нажать любой НЕБУКВЕННЫЙ символ
#"*()_=+/\.,:;" и т.д.# и тогда этот символ будет добавлен к выбранному слову.
Хочется обратить внимание на то, что таким образом обрабатываются только
НЕБУКВЕННЫЕ символы, а БУКВЫ используются как горячие клавиши.

@AutoCmpl
$ #АВТОДОПОЛНЕНИЕ слов#
  Тут все предельно просто. Из того самого ~списка~@HowUse@ будет
подставлено слово, если количество слов в списке меньше или равно
~заданному вами~@ConfigAuto@. Если слово, которое предложил компьютер,
является именно тем, что Вы имели в виду, то нажмите горячие клавиши (по умолчанию
это ТАБУЛЯЦИЯ (Tab)), но их можно и переопределить. Для этого просто
введите название клавиш принятым в FAR'е образом или назначьте их
интерактивно, воспользовавшись кнопкой "Назначить".

  Если Вы не нуждаетесь в столь "интеллектуальной" помощи, то просто
задайте #0# в соответствующем ~поле~@ConfigAuto@ ("Сколько слов
находить").

@Config
$ #Настройки для вызова плагина из меню#

 Перейти на ~Настройки автоматического завершения слов~@ConfigAuto@

 #Дополнять внутри#        должно ли работать дополнение, если
 #слова#                   под курсором находится буква.

 #Различать регистр#       самая нужная настройка. У меня всегда
 #букв#                    выключена. Таким образом, если я ввел
                         "лис" у меня будут найдены и "ЛИСА", и
                         "Лиса", и "лиса", и даже "ЛиСаКоВсК".

 #Считать цифры#           будут ли цифры считаться за буквы.
 #буквами#

 #Дополнительные#          я всегда добавляю "_" (подчеркивание), и
 #символы слов#            оно считается буквой. А что считаете
                         буквой Вы? Напишите в это поле.

 #Искать ниже#             определяет, нужно ли искать слово ниже
                           по тексту или только сверху.

 #Сколько строк#           задает максимальное количество строк для
 #просматривать#           поиска вариантов (сверху и снизу).

 #Сколько слов#            ну кому нужен список из 1024 вариантов?
 #находить#                Как в нем можно что-то найти? Если Вы
                         со мной не согласны, поставьте здесь число
                         побольше. Но, скажу по секрету, что найдено
                         будет не более 99 вариантов. Поэтому, если
                         Вы хотите "выжать максимум" из плагина
                         поставьте в это поле 99.

 #Минимальная длина#       задает минимальную длину слова, при
 #вариантов#               формировании ~списка вариантов~@List@. Таким
                         образом из него можно автоматически
                         исключить короткие слова.

 #Вставлять совпадающие#   будут дополняться только совпадающие части
 #части слов#              слов. Т.е. если в ~списке~@List@ находятся слова
                         "Начинающему", "Начинающего", "Начинающим" и
                         включена это опция, то автоматически будет
                         дополнено "Начинающ".

 #Ставить пробел#          добавляет пробел после выбранного слова.
 #в конце слова#

 #Показывать меню#         если не выбран, то при единственном
 #при 1 варианте#          варианте сразу его и лепим (без списка).

 #Пищать, если#            ну что тут добавить?
 #нет вариантов#

 #Макс. в несортированном# задает максимальное количество найденных
 #списке#                  слов, после которого список будет
                         отсортирован по алфавиту. Опять же, чтобы
                         легче найти нужное.

 #Символ звездочки#        Все, видимо, знают о том, что значит
                         символ '*' при записи масок файлов.
                         Например a*z.htm означает HTML-файлы, имена
                         которых начинаются на 'a' и заканчиваются
                         на 'z' (все, что находится между ними,
                         значения не имеет). Так вот, теперь и
                         EditCompletion понимает шаблоны. А "Символ
                         звездочки" - это такой символ, который будет
                         использоваться в шаблоне. Пример. "Символ
                         звездочки" = '-' В редакторе набираем "п-н"
                         и вызываем плагин. В меню будут содержаться
                         слова из текста, начинающиеся с буквы 'п' и
                         заканчивающиеся на 'н', например, "плагин",
                         "пингвин" и пр.

 #Сохранить#               сохранить текущие настройки.
 #Отмена#                  оставить старые.

 Перейти на ~Настройки автоматического завершения слов~@ConfigAuto@


@ConfigAuto
$ #Настройки автоматического завершения слов#

 Перейти на ~Настройки для вызова плагина из меню~@Config@

 #Дополнять внутри#        должно ли работать дополнение, если
 #слова#                   под курсором находится буква.

 #Различать регистр#       самая нужная настройка. У меня всегда
 #букв#                    выключена. Таким образом, если я ввел
                         "лис" у меня будут найдены и "ЛИСА", и
                         "Лиса", и "лиса", и даже "ЛиСаКоВсК".

 #Считать цифры#           будут ли цифры считаться за буквы.
 #буквами#

 #Дополнительные#          я всегда добавляю "_" (подчеркивание), и
 #символы слов#            оно считается буквой. А что считаете
                         буквой Вы? Напишите в это поле.

 #Искать ниже#             определяет, нужно ли искать слово ниже
                         по тексту или только сверху.

 #Сколько строк#           задает максимальное количество строк для
 #просматривать#           поиска вариантов (сверху и снизу).

 #Сколько слов#            Автоматическое дополнение слов начинает
 #находить#                работать только тогда, когда количество
                         найденных вариантов не больше, чем указано
                         здесь. Но, скажу по секрету, что найдено
                         будет не более 99 вариантов.

 #Минимальная длина#       задает минимальную длину слова, при
 #вариантов#               формировании ~списка вариантов~@List@. Таким
                         образом из него можно автоматически
                         исключить короткие слова.

 #Вставлять совпадающие#   будут дополняться только совпадающие части
 #части слов#              слов. Т.е. если в ~списке~@List@ находятся слова
                         "Начинающему", "Начинающего", "Начинающим" и
                         включена это опция, то автоматически будет
                         дополнено "Начинающ".

 #Ставить пробел#          добавляет пробел после выбранного слова.
 #в конце слова#

 #Принять автодополнение#  принять автодополнение, вызвав плагин из
 #из меню#                 меню плагинов (по F11). Удобно использовать,
                         если назначен макрос для активизации плагина
                         и Вы хотите, чтобы автодополнение можно было
                         принять той же комбинацией клавиш.

 #Искать варианты#         позволяет начинать поиск вариантов для
 #после N букв#            автодополнения, только если введено не менее
                         N первых букв слова.

 #Символы для#             задает набор символов, которые используются
 #принятия дополнения#     для принятия автодополнения. Сами символы
                         обрабатываются стандартным образом.

 #Принять дополнение#      задает комбинацию клавиш, которая будет
 #клавиш(ей/ами)#          использоваться для принятия варианта
                         автодополнения. По умолчанию это "Tab".
                         Кстати, названия клавиш записываются
                         общепринятым в FAR'е способом. Например:
                         ShiftSpace, CtrlRight и т.п.

 #Удалить дополнение#      задает комбинацию клавиш, которая будет
 #клавиш(ей/ами)#          использоваться для удаления варианта
                         автодополнения.

 #Назначить#               позволяет задать клавишу (комбинацию клавиш)
                         для принятия/удаления автодополнения в
                         интерактивном режиме. Это нужно для того, чтобы
                         вам не пришлось заполнять соответствующее поле
                         вручную.

 #Сохранить#               сохранить текущие настройки.

 #Отмена#                  оставить старые.

 #Цвет#                    задает цвет, которым будет выделена
                         автоматически добавленная часть слова.

 Перейти на ~Настройки для вызова плагина из меню~@Config@

@Author
$ #И кто натворил это безобразие?#

Авторский коллектив:

 1. Andrey Tretjakov, 1999 (#2:5085/40#)     - отец-основатель.

 2. Semenov Alexey ~griphon25@@hotmail.com~@mailto:griphon25@@hotmail.com@   - продолжатель дела отцов.

 3. Игорь Любимов ~mr_july@@mail.ru~@mailto:mr_july@@mail.ru@          - в ответе за все!

 4. Vadim Yegorov ~zg@@matrica.apollo.lv~@mailto:zg@@matrica.apollo.lv?subject=EditCompletion%20plugin@     - исправление неисправленного.

 Всю критику прошу выплеснуть на автора под номером 4! :)))
