Примеры

Programming Far Manager plugins

Примеры

В данном разделе перечислены примеры плагинов, которые находятся на официальном SVN репозитории.

Работа в редакторе:

Align
Выравнивание блока в редакторе.
Простой плагин из разряда "Вызвали, отработал, завершился" - пример работы с сервисной функцией EditorControl.
Auto wrap
Auto wrap в редакторе - пример установки "хука" для внутреннего редактора Far Manager.
Во включённом состоянии плагин пропускает через себя все события от клавиатуры и мыши. Используется функция ProcessEditorInputW:
int WINAPI _export ProcessEditorInputW(const INPUT_RECORD *Rec)
{
  // обработка очередного KEY_EVENT
}
Brackets
Поиск и выделение парных скобок в редакторе.
Плагин из разряда "Вызвали, отработал, завершился".
Поиск ведётся с помощью ECTL_GETSTRING, установка курсора на найденную парную скобку - ECTL_SETPOSITION, выделение блока - ECTL_SELECT.
DrawLine
Рисование линий.
Вариант "хука" из разряда "Вызвали, работает, пользователь сам останавливает работу плагина".
Используется "бесконечный цикл" с вызовом команд ECTL_READINPUT и ECTL_PROCESSINPUT:
HANDLE WINAPI _export OpenPluginW(int OpenFrom,INT_PTR Item)
{
  ...
  while (!Done)
  {
    Info.EditorControl(ECTL_READINPUT,&rec);
    ...
    Info.EditorControl(ECTL_PROCESSINPUT,&rec);
  }
  ...
}
EditCase
Изменение начертания символов (верхний/нижний регистр).
Плагин из разряда "Вызвали, отработал, завершился".
Строка берётся с помощью команды ECTL_GETSTRING, преобразуется и заменяется в редакторе с помощью команды ECTL_SETSTRING.
HlfViewer
Плагин HlfViewer создан для помощи тем людям, которые создают или изменяют hlf-файлы, а также просто хотят просмотреть тот или иной hlf-файл помощи (обработка клавиши F1 с последующим вызовом редактируемого HLF-файла, обработка перфикса "hlf:").

Прочее:

HelloWorld
"Здравствуй, Мир!" Этот модуль Far Manager предназначен исключительно для учебных целей.
Как повелось - изучение любого языка программирования начинается с программы "Hello, World!". Именно это и делает данный плагин.
FAR Commands
Плагин FAR Commands (или FARCmd) предоставляет дополнительные возможности, которые можно использовать в меню пользователя, ассоциаций файлов или командной строке. Показана работа с несколькими префиксами.
FileCase
Эта команда позволяет изменить регистр отмеченных имён файлов в соответствии с любым из нескольких доступных форматов. Это - простой плагин, воспользуйтесь им как шаблоном для создания новых команд для Far Manager.
Network
С помощью модуля просмотра сети вы можете перемещаться по сети, переходить на сетевые диски, отображать их на локальные диски и отменять такое отображение. Нажмите F5, чтобы отобразить выбранные диски на следующие доступные буквы или F6, если вы хотите выбрать буквы сами. F8 отменяет уже существующее отображение.
TmpPanel
Временная панель поддерживает аналогичный панели файлов интерфейс и предназначена для облегчения одновременной обработки групп файлов из различных папок. Плагин позволяет использовать до 10 временных панелей, каждая из которых содержит отдельный список файлов.