From: Sergey Matveev Date: Wed, 18 Dec 2019 18:35:50 +0000 (+0300) Subject: Попробовал Vim 8.2 popup окна X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=dc723a39b80458ff8c52393051ff41ff83c9d118;p=stargrave-blog.git Попробовал Vim 8.2 popup окна https://git.stargrave.org/cgit.cgi/dotfiles.git/tree/vim/.vim/ftplugin/go/gogetdoc.vim Решил я попробовать написать плагин для Vim который бы показывал доку для функи на которой я нахожусь в коде. Задачу только чисто Vim-ом вряд ли можно решить, ибо он не сможет понять что w.Write это на самом деле Write метод объекта net/http.ResponseWriter. Но есть замечательная утилита github.com/zmb3/gogetdoc, которой можно просто дать на вход путь к файлу и смещение в байтах на слово, для которого нужно найти доку. Работает оно не стремглав, но терпимо, сгодится. Задача плагина теперь очень проста: просто запустить эту внешнюю программу, вычислив положение в файле и показав её stdout вывод. Vim уже имеет асинхронные job-ы в фоне запускать и по каналу гонять данные. Но вот теперь можно попробовать показывать popup. Оказалось очень легко с ним. У него тьма опция для окон и прочего, но можно ничего не трогать и по умолчанию он отлично размещает, resize-ит окна, закрывает когда надо, программисту вообще не о чем парится: просто говоришь что я хочу показать вот этот текст рядом с курсором. ---