> -- Евгений Темиргалеев писал(а):
> Вроде в системе Оберон и не было коммандеров, команды распознавались в тексте и по ним можно было просто тыкать. Кто точно знает?Я точно знаю. Щелчок средней кнопкой мыши по тексту вида Module.Procedure запускает указанную процедуру на выполнение. Как я и написал, при таком способе коммандер не нужен.
Однако, систему Оберон брать за образец я бы поостерёгся - она слишком сильно ориентирована на мышь. Там клавиатурных сочетаний в привычном нам виде я вообще не нашёл, даже в меню.

В порядке дальнейшего оффтопика: зато в системе Оберон есть отличный модуль EditKeys. Всё мечтаю портировать его в виде плагина в Notepad++. Да и в ББ он бы пришёлся весьма кстати, на замену F5 от Info21. Вкратце - по горячей клавише производится подстановка макроса, введённого слева от курсора (первый идентификатор - имя макроса, далее налево стек параметров через двоеточие, если требуется). Например, пишем:
GetThis:p|
"|" - положение курсора. Нажимаем горячую клавишу, получаем заготовку:
PROCEDURE GetThis ();
BEGIN
|
END GetThis;
Всё с правильными отступами.
Макросы описаны в текстовом файле со специальным синтаксисом. Есть набор базовых макрокоманд (около 10), среди них возможность изменять параметры шрифта и вызывать произвольные команды (Модуль.Процедура). Макросы описаны как комбинации базовых макрокоманд и ранее описанных макросов.
Ещё пример:
i:5:dn
Опустить букву i на 5 пунктов. Легко можно написать макрос, форматирующий текст как индекс (для формул) или вставляющий спецсимвол из таблицы Unicode. Очень простой и мощный инструмент.