См. также:
Приложение Блокнот, предлагающее основные функции редактирования текста, позволяет расширять свою функциональность за счёт пользовательских функций, которые можно самостоятельно создать на языке JavaScript.
Существуют следующие основные типы подобных функций:
Приложение Блокнот может предлагать возможности редактирования текста в одном из трёх режимов:
В каждом из режимов используются разные наборы событий, вызываемых в процессе редактирования текста. С точки зрения реализации этого механизма приложение Блокнот создаёт по отдельному экземпляру класса DirectScriptMultilineEditCorrector для каждого из режимов. Согласно общей логике работы этого класса, например, для нейтрального режима вызываются следующие события:
Для режима естественного языка и режима редактирования исходных текстов программ префиксы событий должны быть заменены, соответственно, на дluwrain.mode.natural и luwrain.mode.programming. События, оканчивающиеся на .pre, вызываются до основного обработчика операции редактирования, а события, оканчивающиеся на .post, в свою очередь, вызываются после выполнения основной операции редактирования. События до операции редактирования могут вернуть значение false? и это будет подразумевать отмену всей операции, но необходимо иметь в виду, что обработчиков может быть несколько, и каждый из них может не быть первым в списке, следовательно, в случае отмены операции к этому моменту уже могут быть выполнены изменения предшествующих обработчиков.