]> Sergey Matveev's repositories - stargrave-blog.git/commit
Попробовал Vim 8.2 popup окна
authorSergey Matveev <stargrave@stargrave.org>
Wed, 18 Dec 2019 18:35:50 +0000 (21:35 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 18 Dec 2019 18:35:50 +0000 (21:35 +0300)
commitdc723a39b80458ff8c52393051ff41ff83c9d118
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent5e47c0eba4638e2842a9c8607eb24b5dcfd5ad56
Попробовал 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-ит окна, закрывает когда надо,
программисту вообще не о чем парится: просто говоришь что я хочу
показать вот этот текст рядом с курсором.