Работа с рекурсивными зависимостями на языковом сервере Scala Metals с помощью bloop
Я немного использую coc.nvim, и мне он очень нравится. Недавно я начал работать над относительно большим проектом, состоящим в основном из кода Scala, и поэтому установил расширение coc-Metallic, которое автоматически устанавливает языковой сервер и другие вещи. Прекрасно работает в проектах с более простыми графами зависимостей, но при импорте всего проекта и его построении возникают ошибки вроде[coc.nvim] Fatal recursive dependency detected in...
. Я использую maven в качестве инструмента сборки, и он отлично работает.
Я считаю, что проблема связана с ляпом. Бегbloop projects
из корня проекта выдает такие же ошибки. Почему сборка кода выполняется нормально?mvn clean install
но не с ляпом? Без возможности использовать bloop из корня переход к определениям в проектах / модулях не работает, как и множество других функций металлов и CoC.
Мы очень ценим любые связанные с этим вопросы или идеи, которые помогут заставить это работать! (Включая тег кода VS, потому что он использует те же металлы LSP, и поэтому проблемы должны быть одинаковыми)
Изменить: можно подтвердить, что код VS имеет те же проблемы при установке расширения Scala (металлы).
Изменить: есть ли способ, которым я могу запускать металлы напрямую, избегая чего-либо, связанного с ошибкой? IntelliJ может нормально импортировать проект, поэтому я знаю, что в этом нет ничего плохого.
1 ответ
Попробуй СБТ БСП.
https://scalameta.org/metals/blog/2020/11/06/sbt-BSP-support/#how-do-i-try-it-out
При запуске [neo]vim:MetalsGenerateBspConfig
.