Vimscript: как получить текущий выбранный элемент всплывающего меню

Вы знаете, Vim может отображать всплывающее меню с помощью &completefunc. Каждый пункт меню представляет собой словарь со следующими пунктами: 'слово', 'аббр', 'меню', 'информация', 'вид', 'icase', 'dup'.

Как я могу получить, какой пункт меню выбран в данный момент? Мне нужно выполнить некоторые действия, когда пользователь выбирает какой-либо пункт меню, и поэтому мне нужно получить словарь для этого пункта меню.


person Dmitry Frank    schedule 16.12.2011    source источник


Ответы (1)


Решение этого вопроса очень непростое. Вам нужно будет работать асинхронно, переопределить несколько вещей и интерпретировать временно вставленный текст.

Я ответил на аналогичный вопрос в официальном списке рассылки vim. (заголовок для поиска: Пользовательская функция завершения, сообщение -ID: b9811558-6ad0-44ba-a293-4e7fe24f84d2@zimbra60-e10.priv.proxad.net)

С тех пор (2011) я улучшил код, который использовал. Я довольно подробно описал результат на vi.SE.

person Luc Hermitte    schedule 16.12.2011