以下の内容はhttps://goropikari.hatenablog.com/entry/neovim_clangd_errorより取得しました。


Neovim で clangd を使うと trying to get AST for non-added document と出て clangd が機能しなくなった

日本語を含む C++ソースコードを Neovim で編集していると -32602: trying to get AST for non-added document というエラーが出てそれまで diagnostic や code format が効いていなのに突然効かなくなる現象に悩まされるようになった。 日本語が含まれているのが原因っぽい感じがしたがファイルを開いた直後だと効いていて、無駄な改行などを入れてファイル保存するとそのうち上記のエラーが出て機能しなくなってしまう。

mason-org/mason-lspconfig.nvim を辞めて素の Neovim の LSP の機能だけで完結させようと移行をしたらこの現象が起きるようになったのでなにか設定が悪そうなことは想像できたが LSP の log を見てエラーを文でググってみても解決になりそうな情報にはたどり着けず。

いろいろ試した結果 offsetEncodingutf-16 だけを指定してみたらエラーで落ちることはなくなった。nvim-lspconfig のデフォルト値である {'utf-8', 'utf-16'} だとこのエラーに悩まされる。 治ることには治ったがなぜ治ったのか理由はよくわからない。

return {
  cmd = {
    'clangd',
    '--background-index',
    '--clang-tidy',
    '--header-insertion=iwyu',
    '--completion-style=detailed',
    '--function-arg-placeholders',
    '--fallback-style=google',
  },
  capabilities = {
    offsetEncoding = { 'utf-16' },
    textDocument = {
      semanticTokens = {
        multilineTokenSupport = true,
      },
    },
  },
}

https://github.com/goropikari/kickstart.nvim/blob/d2497480c81de6d5e798809fa82b2f09a8d8ba11/after/lsp/clangd.lua#L12




以上の内容はhttps://goropikari.hatenablog.com/entry/neovim_clangd_errorより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14