В настоящее время я пытаюсь создать серверную клиентскую архитектуру для любой программы, использующей каналы в качестве своих stdin и stdout.
У меня работает весь сервер, и он взаимодействует через именованные каналы (fifo). Я пытаюсь постоянно (асинхронно) читать содержимое канала stdout в буфер vim, и я ищу наиболее элегантное решение этой проблемы.
Скажем, у меня есть программа, python, связь через 2 (3, если вы используете аккаунт stderr, но это не имеет отношения к поиску решения), а именно PIPE_IN
в качестве его стандартного ввода и PIPE_OUT
в качестве его стандартного вывода.
Я могу написать в канал легко из vim (с :w
), как бы я прочитал из PIPE_OUT
в буфер vim или neovim?
Однако он не должен переноситься на системы, отличные от UNIX Я хотел бы сохранить совместимость как с vim, так и с neovim, насколько это возможно. Что бы вы посоветовали для этого? Должен ли я использовать язык Vimscript для этого? В этом случае лучше использовать режим командной строки vim? Какие другие, возможно, более элегантные решения, я пропускаю?
Заранее спасибо!
Примечание: код проекта сервера можно найти по адресу Soulthym / pyper на GitHub для цели тестирования.