Scintilla icon SciTE Ru-Board Kernel Changes
Документация   FAQ   Регулярные выражения   SciTE Extension   LUA   SciTE Director   Команды SciTE и Scintilla   Сборка Ru-Board   Ядро SciTE-Ru   Shell   SciTE Helper   История

Текстовый редактор SciTE RU-Board 3.55 .102

Все модификации оригинального кода редактора SciTE выполнены энтузиастами форума Ru-Board.
Данный файл содержит полный список всех доработок кода относительно исходной версии редактора.
Все изменения, внесенные в код редактора, помечались характерными комментариями, что позволяет при желании применить к оригинальному коду любое из них по отдельности.
Демонстрацию работы обновленного редактора с многочисленными примерами использования его расширенных возможностей, вы можете увидеть, загрузив пакет SciTE-Ru.

Для удобства восприятия список разбит на три раздела:

Интерфейс

[LangMenuChecker] (Автор: neo4max)
Текущий язык отмечается меткой в меню "Подсветка".
[UserPropertiesFilesSubmenu] (Автор: mhb, arhohryakov)
Пункты открытия файлов языковых настроек (language.properties) вынесены в отдельное подменю "Edit Properties".
[CheckFileExist] (Автор: neo4max)
Теперь SciTE проверяет наличие редактируемого файла на диске и при его отсутствии выводит соответствующее предупреждение. Кроме этого исправлено детектирование изменения даты редактируемого файла.
[find.fillout] (Авторы: Frank Wunderlich, VladVRO)
Новый параметр find.fillout в .properties, который позволяет задать способ начального заполнения поля в диалоге поиска:
  0 (по умолчанию) - если есть выделение и оно не содержит переводов строк, то использовать его, иначе взять слово рядом с курсором (как это и было ранее),
  1 - использовать выделение, если выделения нет, то оставить поле пустым,
  2 - всегда оставлять поле пустым.
[MoreRecentFiles] (Автор: Daniel Cardenas)
Список последних открывавшихся файлов можно расширить до 30 пунктов используя новый параметр:
save.recent.max=30
[save.session.multibuffers.only] (Автор: VladVRO)
Новый параметр в .properties, который позволяет запретить запись файла сессии при выходе из редактора, если открыта только одна вкладка:
save.session.multibuffers.only=1
[session.close.buffers.onload] (Автор: VladVRO)
Новый параметр session.close.buffers.onload в .properties позволяет задать закрывать или нет уже открытые файлы при загрузке сессии.
Например, для того что бы вкладки остались открытыми:
session.close.buffers.onload=0
по умолчанию при загрузке сессии все открытые файлы закрываются.
[ReadOnlyTabMarker] (Авторы: Midas, VladVRO, neo4max)
Добавлена возможность отображать состояние "только для чтения" с помощью доп. символов в имени вкладки, которые задаются в настройках параметром tabbar.readonly.marker, например:
tabbar.readonly.marker= R/O
Добавлена возможность создания вложенных подменю в меню Tools.
Они создаются вначале меню и отделены от остальных пунктов разделителем.
Сначала задаются названия подменю:
command.submenu.name.2.filepattern=Insert from Text
если они вложены в другое подменю, то задается номер родительского меню:
command.submenu.parent.2.filepattern=4
Затем для команд, входящих в подменю, задается номер родительского меню:
command.parent.6.filepattern=2
command.name.6.filepattern=Date and Time

В меню Tools возможно вставлять разделители.
Например, command.separator.34.filepattern=1 вставляет разделитель перед командой 34.
Так же возможна установка отметки перед выбранным пунктом меню.
Например, так: command.checked.34.filepattern=1.

Текст всех пунктов меню и подменю Tools русифицируется так же как и основное меню - через файл locale.properties.
[ToolsMax] (Автор: Moon_aka_Sun, VladVRO)
Число допустимых пунктов в меню Tools увеличено до 300.
Для создания пользовательских команд в user.context.menu следует использовать формулу:
пользовательская команда = 9000 + номер этой команды в меню Tools
[ExtendedContextMenu] (Автор: Дмитрий Маслов, VladVRO)
Новые параметры в .properties позволяют ПОЛНОСТЬЮ настроить контекстные меню:
user.context.menu.filepattern - контекстное меню редактора
user.tabcontext.menu.filepattern - контекстное меню вкладок
user.outputcontext.menu.filepattern - контекстное меню консоли
С помощью параметров POPUPBEGIN и POPUPEND возможно создание подменю!
Формат:
user.context.menu.filepattern=\
Имя команды1|IDM_COMMAND1|\
Имя команды2|IDM_COMMAND2|...
Чтобы вставить разделитель нужно оба поля оставить пустыми
user.context.menu.filepattern=\
Имя команды1|IDM_COMMAND1|\
||\
Имя команды2|IDM_COMMAND2|...
Если параметр не задан в настройках, то отображается стандартное контекстное меню.
[user.toolbar] (Автор: Дмитрий Маслов, VladVRO, UR4LTZ, neo4max)
Новый параметр user.toolbar.filepattern в .properties позволяет ПОЛНОСТЬЮ настроить панель инструментов.
Формат:
user.toolbar.filepattern=\
Всплывающая подсказка1|IDM_COMMAND1|номер иконки1|\
Всплывающая подсказка2|IDM_COMMAND2|номер иконки2|...
Чтобы вставить разделитель нужно все три поля оставить пустыми
user.toolbar.filepattern=\
Всплывающая подсказка1|IDM_COMMAND1|номер иконки1|\
|||\
Всплывающая подсказка2|IDM_COMMAND2|номер иконки2|...
Если параметр не задан в настройках, то отображается стандартный тулбар.

Новый параметр в настройках позволяет задать пользовательскую библиотеку с иконками: user.toolbar.iconlib.filepattern=$(SciteUserHome)\gnome.dll
Кнопки на панели инструментов отображают состояние вкл/откл в зависимости от текущего значения изменяемого кнопкой параметра.
Так по виду (нажата/отжата) таких кнопок как IDM_WRAP, IDM_READONLY, IDM_VIEWSPACE и т.п. можно видеть текущее состояние соответствующих им установок - wrap, read.only, view.whitespace.
[SaveEnabled] (Автор: Дмитрий Маслов, neo4max)
Кнопки "Save" и "Save All" на панели инструментов становятся неактивными если текущий файл (все открытые файлы) не отличаются от сохраненных.
[StyleDefHotspot] (Автор: neo4max)
В строке описания стиля style.lexer.stylenumber можно использовать новый параметр hotspot|nothotspot. При наведении мыши, такой текст подчеркивается и вид курсора принимает форму руки.
[FindResultListStyle] (Авторы: VladVRO, Дмитрий Маслов)
Улучшена наглядность строк, выводимых встроенным инструментом для поиска текста в файлах (Ctrl+Shift+F):
- путь до файла в каждой строке результата отображается в сокращенном виде, относительным от каталога поиска,
- в результирующем тексте табуляция заменяется на пробелы, вначале строки пробелы не выводятся, двойные пробелы заменяются одинарными (эта опция отключается, если задать lexer.errorlist.value.separate=2),
- искомая подстрока может быть выделена в строках результата с помощью задания своего стиля отображения:
style.errorlist.30=fore:#000000 ,bold

Параметр в .properties lexer.errorlist.findliststyle=0 позволяет отключить эту возможность.

Добавлена возможность выделить искомую подстроку в строках результата внешнего поиска. Новые параметры в .properties lexer.errorlist.findtitle.begin и lexer.errorlist.findtitle.end позволяют задать формат заголовка поиска.
[ErrorLineBack] (Автор: UR4LTZ)
Новый параметр в .properties
error.line.back
позволяет задать цвет фона строки с текстом ошибки в окне консоли, отличный от заданного параметром error.marker.back.
[ReturnBackAfterRALL] (Автор: neo4max)
Новый параметр в .properties
find.replace.return.to.start=1
Если 1, то при нажатии на кнопку "Заменить все" (или "Заменить во всех файлах") курсор после замены возвращается на исходную позицию.
[find.bookmark] (Автор: dB6)
Новый параметр в .properties
find.bookmark=0
Если 0, то при нажатии на кнопку "Пометить все" метки (bookmarks) не устанавливаются.
[NewFind-MarkerDeleteAll] (Автор: Дмитрий Маслов)
Новый параметр в .properties
find.mark.delete=1
Если 1, то при нажатии на кнопку "Пометить все" удаляются все установленные ранее метки (bookmarks) и маркеры.
[close_on_dbl_clk] (Автор: Дмитрий Маслов)
Новый параметр в .properties
tabbar.tab.close.on.doubleclick=1
1 - Позволяет закрывать вкладку двойным кликом мыши.
[new_on_dbl_clk] (Автор: Дмитрий Маслов)
Добавлен функционал: На двойной клик по свободному месту справа от вкладок открывается новый файл (а ля FireFox)
[TabsMoving] (Автор: VladVRO)
В меню Вкладки добавлены две команды IDM_MOVETABLEFT и IDM_MOVETABRIGHT позволяющие перемещать текущую вкладку.
[TabbarTitleMaxLength] (Автор: VladVRO)
Новый параметр в .properties
tabbar.title.maxlength=число
накладывает ограничение на длину надписи (имя файла) в табе. Если текст надписи длиннее, то он будет урезан и завершен символом "…"
[NewBufferPosition] (Автор: VladVRO)
Новый параметр в .properties
buffers.new.position=число
0 - открывать новую вкладку в конце списка (default), 1 - следующей за текущей, 2 - в начале списка.
[warning.couldnotopenfile.disable] (Автор: mozers)
Новый параметр в .properties
warning.couldnotopenfile.disable=1
1 - убирает предупреждение "Не удается открыть файл", появляющееся при открытии несуществующего файла и новый файл с заданным именем создается молча.
[ZorderSwitchingOnClose] (Автор: VladVRO)
Модификация параметра в .properties
buffers.zorder.switching=1
теперь, если установлена в 1, то после закрытия вкладки редактор возвращается к последней открытой до этого.
[SetBookmark] (Автор: Midas)
Новый параметр в .properties
margin.bookmark.by.single.click=1
включает возможность установки/снятия bookmark-ов по одинарному щелчку мышью на колонке bookmark-ов.
[clearbefore] (Автор: neo4max)
Переменной command.mode добавлен новый параметр - clearbefore:[yes|no], со следующей логикой работы:
* clearbefore отсутствует - поведение, как и раньше, определяется значением clear.before.execute
* clearbefore:yes - как clear.before.execute=1
* clearbefore:no - как clear.before.execute=0
[output.caret] (Автор: VladVRO)
Новые параметры в .properties
output.caret.fore
output.caret.line.back
output.caret.line.back.alpha
для задания стиля курсора в окне консоли.
[NewIcons] (Автор: VladVRO)
Новые иконки для файлов, ассоциированных с SciTE и для файлов сессий.
[import] (Автор: mimir, VladVRO)
Переделан механизм импорта в файлах настроек, теперь редактор сперва делает попытку загрузить файл с явно указанным именем, если не находит, то добавляет расширение ".properties" и повторяет попытку.
Возможно использование директивы import в файлах *.abbrev
[selection.hide.on.deactivate] (Автор: mozers)
Параметр selection.hide.on.deactivate=0 позволяет не снимать выделение с текста когда окно SciTE теряет фокус.
[scite.userhome] (Автор: gansA, mozers, VladVRO)
Новый параметр в .properties
scite.userhome позволяет задать путь к каталогу $SciteUserHome для сохранения пользовательских данных (SciTE.recent, SciTE.ses, SciTEUser.properties)
Позволяет использовать в пути внутренние переменные SciTE, например, так:
scite.userhome=$(SciteDefaultHome)\home
[WarningMessage] (Автор: VladVRO)
Добавлена возможность настроить отображение предупреждения для информационных событий редактора (warning), сообщения задаются параметрами:
warning.findwrapped.message=текст сообщения
warning.notfound.message=текст сообщения
warning.wrongfile.message=текст сообщения
warning.executeok.message=текст сообщения
warning.executeko.message=текст сообщения
warning.nootherbookmark.message=текст сообщения
[autocompleteword.incremental] (Автор: Сергей Кищенко)
Новый параметр в .properties
autocompleteword.incremental=1 при autocompleteword.automatic=1 выводит многовариантную подсказку из найденных вариантов завершения слова. (Подробности)
[utf8.auto.check] (Автор: mhb, neo4max)
Новый параметр в .properties
utf8.auto.check позволяет автоматически детектировать текст в кодировке UTF-8 не снабженный BOM заголовком.
Значение 1 включает детектирование и автоматически добавляет BOM заголовок к редактируемому тексту, 2 - включает детектирование, но не добавляет BOM.
[oem2ansi] (Автор: gansA)
Параметр output.code.page.oem2ansi=1 включает перекодировку текста, выводимого в окно консоли, из OEM в ANSI.
Это позволяет редактировать скрипт в кодировке win1251 и видеть его вывод в консоли в кодировке dos866 не прибегая к переключению.
[caret] (Автор: mimir)
Добавлена возможность настраивать ширину и цвет курсора индивидуально для каждого лексера, например, так:
caret.fore.$(file.patterns.cpp)=#FF0000
caret.width.$(file.patterns.cpp)=3
Это акктуально для тех, у кого для разных языков заданы принципиально отличающиеся цветовые решения, например, с разным (светлым и темным) фоном.
[BetterCalltips] (Автор: chupakabra)
Новые параметры в .properties
calltip.lexer.automatic
calltip.*.automatic
Yстановка этого параметра в 0 означает что не будет происходить автоматическое отображение окошка с calltip'ом при наборе текста, но останется возможность вызвать его вручную.
calltip.lexer.show.per.page
calltip.*.show.per.page
Возможность указать количество определений, отображаемых одновременно в calltip'е. Значение по умолчанию - 1.
calltip.lexer.word.wrap
calltip.*.word.wrap
Опция включает возможность переноса по словам длинных calltip'ов, её значение определяет максимальный размер строки calltip'а в символах, 0 означает что данная функция будет отключена.

Если окошко calltip'а по горизонтали выходит за пределы окна редактора (к примеру, если курсор находится близко к правой границе окна), то смещаем горизонтальную позицию calltip таким образом, чтобы на экране было видно максимальное количество информации.

Добавлена возможность указывать несколько диапазонов подсветки для окошка calltip'а, введены новые команды Scintilla для этих целей (SCI_CALLTIPADDHLT, SCI_CALLTIPCLEARHLT, SCI_CALLTIPUPDATEHLT)
[TextSizeMax for Dialog] (Автор: dB6)
Максимально допустимый размер строки в диалогах поиска и замены увеличен до 1024 байт.
[ignore_overstrike_change] (Автор: Дмитрий Маслов)
Новый параметр в .properties
change.overwrite.enable=0 включает режим игнорирования переключения режима вставка/замена.
При 1 или отсутствии этого параметра действует режим по умолчанию.
Добавлена возможность установить этот параметр через SCI_SETOVERTYPE
0 - режим вставки (дефолтный)
1 - режим замены
2 - игнорировать переключение режима
3 - не игнорировать переключение режима (дефолтный)
(через SCI_SETOVERTYPE можно переключать режим независимо от установки игнорирования)

Расширения

[ForthImprovement] (Автор: VladVRO)
Улучшены лексеры Forth и Crontab. Добавлен фолдинг и созданы дополнительные группы ключевых слов.
В лексере Forth исправлен алгоритм поиска закрывающего тега для строки [ ].
[BatchLexerImprovement] (Автор: VladVRO)
Значительно доработан лексер batch (используется для отображения пакетных файлов *.bat, *.cmd, *.nt).
Исправлена ошибка обработки круглой открывающей скобки.
Круглые скобки теперь отображаются стилем SCE_BAT_OPERATOR и по ним сделан фолдинг.
Добавлено три новых стиля:
- SCE_BAT_ENVIRONMENT используется для отображения переменных окружения вида %variable%,
- SCE_BAT_EXPANSION используется для отображения переменных окружения вида !variable!,
  новый параметр в .properties lexer.batch.enabledelayedexpansion=1 включает подсветку переменных этого вида, по умолчанию она выключена.
- SCE_BAT_CLABEL используется для отображения указателей на метки вида :name.
[LocalizationFromLua] (Автор: VladVRO, neo4max)
В SciTE Lua Scripting Extension добавлена новая команда:
scite.GetTranslation(s, [retainIfNotFound]), которая возвращает перевод строки s,
где retainIfNotFound - (по умолчанию true) указывает на возврат исходного значения в случае, если перевод не найден.
Переводы строк берутся из файла locale.properties.
[OnFinalise] (Автор: VladVRO)
Добавлено новое событие SciTE в Луа API OnFinalise(). Событие возникает при закрытии редактора.
[ABAP] (Автор: VladVRO)
Добавлен новый лексер для языка ABAP/4.
[EncodingToLua] (Автор: neo4max)
В SciTE Lua Scripting Extension добавлены новые команды:
string.to_utf8(codepage) - конвертирует текст из указанной кодовой страницы в UTF-8
string.from_utf8(codepage) - конвертирует текст из UTF-8 в указанную кодовую страницу
Параметр codepage задается в числовом виде.

string.utf8upper() - преобразует utf8-строку в верхний регистр
string.utf8lower() - преобразует utf8-строку в нижний регистр
string.utf8len() - возвращает длину (в символах) utf8-строки

Так же добавлена новая функция
pane:codepage(), где pane - панель редактора (editor|output)
возвращающая текущую кодировку панели в числовом виде.

Теперь функции os.rename, os.remove, os.execute пытаются трактовать входные аргументы как UTF-8. Если не получается - то в системной кодировке.

Модифицирована функция загрузки внешних библиотек и скриптов - require.
Теперь у нее появилась возможность загрузки внешних библиотек даже если путь к ним содержит символы, отличные от системной кодировки.
[EditorUnicodeMode] (Автор: VladVRO)
Добавлен новый параметр editor.unicode.mode в который редактор сохраняет текущее значение режима двухбитной кодировки, заданного одним из следующего множества значений: IDM_ENCODING_DEFAULT, IDM_ENCODING_UCS2BE, IDM_ENCODING_UCS2LE, IDM_ENCODING_UTF8, IDM_ENCODING_UCOOKIE.
[macro] (Автор: VladVRO)
Поддержка записи и воспроизведения макросов с помощью LUA
[OnMenuCommand] (Автор: VladVRO)
Добавлено новое событие SciTE - OnMenuCommand (msg, source)
msg - id функции (SCI_constant)
source - является вторым входным параметром внутренней функции редактора MenuCommand.
Он может быть равным IDM_SRCWIN (350) - окно редактора, или IDM_RUNWIN (351) - окно вывода, или еще чему-то тому, где находится фокус.
[OnSendEditor] (Автор: VladVRO, neo4max)
Добавлено новое событие SciTE - OnSendEditor (msg, wp, lp)
Параметры теже что и у функции SendEditor.
msg - id функции (SCI_constant)
wp и lp - входные параметры для этой функции, причем wp - числовой параметр, lp - текстовый. В зависимости от функции они могут использоваться или нет.
OnSendEditor вызывается для команд доступных для записи в макрос и для SCI_SETREADONLY.

Пример вызова скрипта для смены регистра:
function OnSendEditor (msg)
  if msg == SCI_UPPERCASE then
    ChangeCase("U")
  elseif msg == SCI_LOWERCASE then
    ChangeCase("L")
  end
end
[OnClick] (Автор: Дмитрий Маслов)
Добавлено новое событие SciTE OnClick(). Событие возникает при одиночном клике мыши в окне редактирования или в окне консоли.
Получает в строке параметров состояния клавиш-модификаторов (Shift, Ctrl, Alt):
function OnClick(shift, ctrl, alt)
[OnDoubleClick] (Автор: mimir, Дмитрий Маслов)
Событие OnDoubleClick(), теперь получает состояния клавиш-модификаторов (Shift, Ctrl, Alt):
function OnDoubleClick(shift, ctrl, alt)
[OnHotSpotReleaseClick] (Автор: mozers)
Добавлено новое событие SciTE OnHotSpotReleaseClick(). Событие возникает при отжатии кнопки мыши в hotspot зоне.
Получает в строке параметров состояние клавиши-модификатора Ctrl:
function OnHotSpotReleaseClick(ctrl)
[OnKey] (Автор: Дмитрий Маслов)
Расширена функция луа OnKey, теперь в нее передается также нажатый символ:
function OnKey(key, shift, ctrl, alt, char)
[OnMouseButtonUp] (Автор: VladVRO)
Добавлено новое событие SciTE OnMouseButtonUp(). Событие возникает при отжатии кнопки мыши в окне редактирования или в окне консоли.
Получает в строке параметров состояние клавиши-модификатора Ctrl:
function OnMouseButtonUp(ctrl)
[UserListItemID] (Автор: neo4max, Дмитрий Маслов)
Событие OnUserListSelection возвращает третий параметр, указывающий на позицию выбранного пункта в списке.
[MouseClickHandled] (Автор: VladVRO)
Добавлено новое сообщение SCI_SETMOUSECAPTURE для ядра Scintilla, позволяющее менять реакцию на события от мыши.
С его помощью можно сообщить ядру, что нажатие кнопки мыши обработано.
Пример: SendEditor(SCI_SETMOUSECAPTURE, 0)
Такое сообщение теперь отправляется, если OnClick() или OnDoubleClick() возвращает true.
[CheckMenus] (Автор: neo4max)
В SciTE Lua Scripting Extension добавлена новая команда
scite.CheckMenus() - которая позволяет обновить состояние меню и тулбара SciTE
[Perform] (Автор: VladVRO)
В SciTE Lua Scripting Extension добавлена новая команда
scite.Perform(actionList) - исполняет команды SciTE Director Interface
где actionList - одна или несколько команд разделенных символом новой строки.
[ReloadStartupScript] (Автор: VladVRO)
В SciTE Lua Scripting Extension добавлена новая команда
scite.ReloadStartupScript() - которая позволяет перезагрузить стартовый Луа скрипт
[GetWordChars] (Автор: Дмитрий Маслов)
CurrentWordCharacters - новая внутренняя переменная SciTE. Cодержит перечень символов из которых строятся слова текущего языка.
[BufferNumber] (Автор: VladVRO)
BufferNumber - новая внутренняя переменная SciTE. Cодержит номер текущего буфера.
[InsertAbbreviation] (Авторы: mimir, VladVRO, Дмитрий Маслов, neo4max)
В SciTE Lua Scripting Extension добавлена новая команда
InsertAbbreviation(string)
где "string" - это текст, по формату аналогичный сокращениям (abbrev), например:
scite.InsertAbbreviation("<a href="|" title="">%SEL%</a>")
В тексте расшифровки можно использовать пользовательские переменные:
- %SEL% - выделенный текст
- %CLP% - текст из буфера обмена
- %имя_переменной% - значение внутренней переменной SciTE (например, CurrentSelection, FileNameExt, SciteDefaultHome и т.п.)
При использовании в расшифровке знака процента он удваивается.
[ParametersDialogFromLua] (Автор: VladVRO)
В SciTE Lua Scripting Extension добавлена новая команда для вызова диалогового окна "Параметры" (Shift+F8)
scite.ShowParametersDialog(text)
где text - короткий комментарий в окне параметров.
Возвращает false если пользователь отказался (нажал отмену или Escape) иначе true.
Пример:
  function Dialog()
    props["1"]=props["CurrentSelection"]
    props["2"]=props["SciteDefaultHome"]
    if scite.ShowParametersDialog("Please set params") then
    print ("1="..props["1"].."\n2="..props["2"].."\n3="..props["3"].."\n4="..props["4"])
    else
      print ("Cancel")
    end
  end
[FileAttr in PROPS] (Автор: Midas)
Теперь из скриптов доступны дополнительные свойства файла
FileAttr, FileTime, FileDate.
[CalltipBreaks] (Автор: Mitchell Foral)
Длинные всплывающие подсказки можно перенести на другую строку (добавлением символа \n в соответствующую строчку в api-файле)
[Euphoria] (Автор: M Duffy, Midas)
Добавлен новый лексер для языка Euphoria
[C_Word] (Автор: mimir)
Добавлено 3 новых класса ключевых слов для LexCpp (т.е. теперь можно задавать до 4х дополнительных наборов слов с разной подсветкой)
[PropsKeysSets] (Автор: VladVRO)
Добавлено 4 класса ключевых слов для лексера props.
Tеперь можно задавать до 4х дополнительных наборов слов с разной подсветкой, причем слова могут содержать символ ~, означающий произвольный набор символов, например block.start.~ или braces.~.style.
В результате постоянная часть переменной будет выделена одним цветом, а переменная часть - другим.
[PropsKeywords] (Автор: VladVRO)
Добавлена подсветка для ключевых слов "import" и "if" в файлах .properties.
[GetApplicationProps] (Автор: VladVRO)
Новая функция SciTEBase::GetProps() (для разработчиков) позволяет получить доступ к настройкам редактора в любом месте кода редактора.
[Zoom] (Автор: Дмитрий Маслов)
Теперь в функцию OnSendEditor передается событие SCI_SETZOOM, возникающее при изменении размера шрифта.

Устранение ошибок

[FixReplaceOnce] (Автор: neo4max)
Исправлена ошибка в работе диалога "Заменить", в результате которой введенные в диалоговом окне параметры поиска-замены могут быть случайно модифицированы командой editor:findtext
Добавлено предупреждение, возникающее при нажатии кнопки "Заменить" после уже произведенной последней замены.
Исправлена ошибка, возникающая при перемещении курсора в процессе последовательной замены.
[FixFind] (Автор: neo4max)
Если документ заканчивается пустой строкой, а в диалоговом окне поиска задан поиск "^$" (в режиме RegExp), то, при нажатии на "Пометить все" возникало зацикливание.
[FixEncoding] (Автор: neo4max)
Теперь все калтипы и текст расшифровки аббревиатур отображаются и вставляются в текущей кодировке активного буфера.
Для этого требуется чтобы соответствующие API и ABBREV файлы были в кодировке UTF-8.
[cmdline.spaces.fix] (Автор: nail333)
Исправление ошибки с открытием лишней пустой вкладки при наличии пробелов в конце командной строки.
[OpenNonExistent] (Автор: neo4max)
Исправлена ошибка связанная с открытием несуществующего файла.
[PropsColouriseFix] (Автор: VladVRO)
Исправлена подсветка синтаксиса в файлах настроек для длинных строк (более 1024 символов) и строк с символом переноса.
[LuaLexerImprovement] (Автор: VladVRO)
Переделан лексер для языка Lua.
Теперь символы ":" и "." обрабатываются в качестве разделителя сложного объекта. В настройках ключевых слов лексера как и ранее можно указывать слова вида string.sub или editor:append, и кроме того можно задать функции или поля объекта, например :GetText или .Cursor.
[GoMessageImprovement] (Автор: VladVRO)
Сделано перемещение фокуса в окно редактора после позиционирования на строке при клике мышкой в окне консоли на строке с ошибкой или результатом поиска.
Использована доработка [OnMouseButtonUp].
[fix_invalid_codepage] (Автор: Дмитрий Маслов)
Исправлена ошибка при которой не работало переключение в кодировку по умолчанию, если параметр code.page был задан неверно.
[English_KeyCode] (Автор: Дмитрий Маслов)
Исправлена ошибка при которой назначенные шорткаты переставали работать после переключения раскладки клавиатуры.
[InputErr] (Автор: mimir)
Исправлена ошибка зависания SciTE при использовании command.input.
Если пользователь забыл выделить текст перед запуском скрипта, то SciTE зависал.
[StyleDefault] (Автор: VladVRO, Дмитрий Маслов)
Убраны дефолтовые значения цвета символов (черный) и фона (белый), что позволяет не задавать их явно в файлах настройки во всех стилях для получения соответствующего фона при экспорте файла.
Если в style.*.32 явно не задан цвет символов и фона, то эти параметры берутся из настроек Windows, т.е. равными системным Window Text/Background.
[find_in_files_no_empty] (Автор: Дмитрий Маслов)
Поиск текста в файлах теперь не запускается если в строку поиска ничего не ввели.
[FileReaderUnlimitedLen] (Автор: VladVRO)
Убрано ограничение на длину строк во встроенном поиске по файлам. Раньше в длинных строках поиск работал только до 1001 символа, все остальное в строке игнорировалось.