Недавно я закончил настройку своей среды neovim, в основном для работы с проектами python/c/cpp, мне даже удалось настроить настройку dap, которая, как мне кажется, «вроде» работает. Моя проблема заключается в том, что когда дело доходит до подсветки синтаксиса/общего использования клиента LSP для CMake, кажется, что ничего не работает, хотя я настроил его точно так же, как и другие LSP, которые я использую в настоящее время.
Моя версия neovim: NVIM v0.8.1 Я установил сервер с помощью плагина Mason. Сервер правильно установлен и отображается в :LspInfo, но никогда не подключается ни к одному созданному мной буферу.
Я создал проект с несколькими папками, включая папки .git и build, которые должны запускаться как корневой каталог, поэтому LSP должен быть прикреплен к файлу CMakelists.txt или файлу Makefile, или, по крайней мере, это то, что я понял в https://github.com/regen100/cmake-language-server описание.
Моя конфигурация LSP такая же, как эта: https://github.com/LunarVim/nvim-basic-ide/blob/master/lua/user/lsp/mason.lua добавление на серверы CMake. Я могу предоставить еще несколько снимков экрана, показывающих, что другие клиенты LSP отлично работают со своими буферами, но CMake активен и не подключается ни к одному файлу CMake, который я создаю.

Сервер правильно установлен и находится в пути с плагином Mason:
Ребята, у вас есть идеи, почему у меня возникла эта проблема? Излишне говорить, что я полный новичок, когда дело доходит до вещей vim/neovim, и недавно мне удалось собрать довольно приличную конфигурацию, скопировав множество опций, которыми Крис и другие разработчики из lunarvim поделились в своих репозиториях.
Я попытался создать несколько файлов стилей CMake и Make. Плюс добавление дополнительной папки, чтобы корневой каталог был обнаружен, и клиент LSP мог успешно подключиться к буферу.
Да, версия вашего первого снимка экрана с меньшим количеством пустого пространства, достигнутая путем создания скриншота уменьшенного размера окна, была бы отличной. Это займет меньше места в сообщении и, вероятно, увеличит размер текста при заполнении пространства, чтобы текст на скриншоте было легче читать.





Проблема заключалась в том, что клиент lsp подключается только к файлам, оканчивающимся на .cmake, а не на .txt.
Изменение типа файла решило проблему вложения
Привет, @starball, извини за задержку с ответом. Я создал отчет об ошибке в официальном репозитории lspconfig github.com/neovim/nvim-lspconfig/issues/2406. Единственный ответ, который я получил, заключался в том, чтобы изменить окончание файла на «.cmake». Я полностью согласен с вами в том смысле, что они должны рассматривать синтаксический анализ CMakelists.txt как триггер для клиента. Я постараюсь открыть новый тикет с предложением, что касается скриншота из предыдущего, он вам еще нужен?
Автор инструмента просто рекомендовал переименовать расширение файла с .txt на .cmake. Это даже не годится в качестве обходного пути в некоторых важных случаях. Я прокомментировал там. Надеюсь, автор инструмента понимает, что его инструмент должен измениться для поддержки файлов с именем CMakeLists.txt.
Благодаря @starball я решил посмотреть, могу ли я каким-то образом изменить требования к типам файлов для cmake client. Похоже, что есть несколько способов добиться этого, для записи первый из них больше подходит для более общего поиска конфигурации neovim по ссылке config.filetypes .
И для моей конкретной настройки я сделал следующее:
cmake.lua по пути /lua/user/lsp/settings/filetypesРезультат в ранее определенном буфере, а также некоторые другие .cmake файлы:
Хорошая работа! Не могли бы вы прочитать о проблемах с изображениями текста , а затем отредактировать , чтобы преобразовать ваши изображения текста в реальный текст? Вероятно полезно: /help/formatting
Спасибо за ваш вклад! Не могли бы вы предоставить снимок экрана меньшего размера с меньшим количеством свободного места для снимка экрана «клиент lsp не подключен»?