2013-05-21 2 views
2

Я хотел бы улучшить emacs-eclim и добавить инкрементный поиск через типы java в текущем отредактированном проекте (Shift-Ctrl-H в Eclipse).Реализация инкрементного поиска в emacs

Я могу назвать варианты eclim-java-find, чтобы получить результаты в буфере * eclim: find.

Но вот идет мой вопрос:

Как один реализовать поведение, которое позволяет пользователю вводить в минибуфер (с подсказкой) и вызывают некоторые другие функции на каждом изменении минибуфера (новые/удалены символы) с текущее содержимое минибуфера в качестве аргумента или какой-либо другой способ доступа к текущей строке поиска.

+0

Я не знаю о emacs-eclim, но вы говорите о табло-завершении строк? Если у вас есть доступ к строкам доступных типов java или вы можете их создать, вы можете использовать такие функции, как 'complete-read'. Это позволяет вам интерактивно сузить выбор в минибуфере, задав список целевых строк. – Tyler

ответ

2

Вы можете добавить функцию к post-command-hook, например. который вызывается после каждой команды (ввод символа также является командой: self-insert-command). Затем ваша функция может проверить содержимое минибуфера с помощью функции minibuffer-contents.

Только не забудьте удалить свою функцию с post-command-hook, когда ваша команда поиска закончена. Вы можете использовать minibuffer-setup-hook и minibuffer-exit-hook для управления с помощью вашей функции.

Не забудьте удалить функцию присоединения от minibuffer-setup-hook/minibuffer-exit-hook либо при завершении команды поиска. :)

Смежные вопросы