пятница, 2 мая 2014 г.

Fuzzy matching в popup-switcher с использованием flx

Наконец добрался до fuzzy matching в popup-switcher. Есть несколько решений для осуществления нечеткого поиска в Emacs. Например:

Настройка

В popup-switcher используется flx. ИМХО, это просто прекрасный движек для нечеткого поиска, хотя автор и предупреждает о том, что проект достаточно молодой и возможно еще остались ошибки.

В flx-ido есть более высокоуровневые функции, поэтому фактически зависимость именно от flx-ido.

Как и в случае с CEDET и projectile, явно зависимость не указывается (чтобы не превращать popup-switcher в монстра с большим количеством обязательных зависимостей). Чтобы воспользоваться возможностью нечеткого поиска, необходимо установить flx и flx-ido любым удобным вам способом, например через MELPA:

 M-x package-install [RET] flx-ido [RET]
Кроме этого, необходимо установить psw-use-flx в значение t
 (setq psw-use-flx t)

Пример использования

Например, неообходимо найти функцию psw-get-item-by-name. Вызываем psw-switch-function (любым выбранным клавиатурным сочетанием), набираем первые буквы слов "get" и "item" - "gi", flx сузит список поиска и отсортирует по релевантности:
Пример использования flx в popup-switcher.

P.S.

Happy hacking! :)

Комментариев нет:

Отправить комментарий