У меня установлен клиент языкового сервера ( vim-ls c) в качестве плагина в neovim. Этот клиент взаимодействует с языковым сервером для нескольких языков, таких как python или R, и предоставляет такие функции, как автозаполнение, переименование переменных и т. Д. c ...
Одна функция, которую я хочу использовать, - это выполнение кода в этом случае вы можете выбрать часть кода, а затем отправить ее на сервер LSP для оценки и получить ответ на нее. Я могу сделать то же самое, если я создам эмулятор терминала «term: // python» и скопирую туда код, но таким образом работают два «сервера», один через сервер LSP, а другой - из терминала. аналогично тому, что делает vim-matlab .
Я надеялся, что смогу сделать и то и другое только с одним запущенным экземпляром python или R или MATLAb. Если есть способ отправить набранную «команду» в эмуляторе терминала на сервер LSP через плагин vim-ls c, то эту работу можно выполнить только с одним запущенным экземпляром.
Я также Мысль о создании vimscript, который создает буфер, который эмулирует терминал (как это делает Conque или vim-терминал ), а затем захватывает и передает команды через этот скрипт. Хотя я не смог выяснить, как эти плагины сделали вывод команды и команды неизменяемыми, но оставил текущую набранную команду изменяемой пользователем.
Моя причина, по которой я предпочитаю маршрут LSP и не выбираю плагины например, vimterm состоит в том, что они не предоставляют различных функций, таких как автозаполнение и рефакторинг.
Любые предложения приветствуются. Спасибо.
РЕДАКТИРОВАТЬ: Я хотел бы уточнить, что на данный момент я не думаю, что vim-ls c имеет возможность отправлять запрос executeCommand. Я написал небольшой vimscript (отдельный код), который может это сделать. Я планирую своевременно подать запрос на получение и у меня будет функция, доступная в vim-ls c, следовательно, включение vim-ls c в описание. Извиняюсь за путаницу.