## 事象 ```  . ├──  lib.py └──  main.py ``` `lib.py` ```python def hoge(): print("hoge") ``` のとき、`main.py` で `hoge` と入力しても補完候補に `hoge()` が表示されない。 `nvim/after/lsp/pyright.lua` ```lua return {} ``` ### 環境 | 対象 | バージョン | | ------------------ | --------- | | [[macOS]] | 15.7.2 | | [[Python]] | 3.13.11 | | [[Neovim]] | 0.11.5 | | [[nvim-lspconfig]] | `92ee7d4` | | [[Pyright]] | 1.1.407 | ## 原因 [[nvim-lspconfig]]のデフォルト設定で、[[Pyright]]の[[diagnosticMode]]が `"openFilesOnly"` になっていたから。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" /> <span class="link-card-v2-site-name">GitHub</span> </div> <div class="link-card-v2-title"> nvim-lspconfig/doc/configs.md at master · neovim/nvim-lspconfig </div> <div class="link-card-v2-content"> Quickstart configs for Nvim LSP. Contribute to neovim/nvim-lspconfig development by creating an account on GitHu ... </div> <img class="link-card-v2-image" src="https://opengraph.githubassets.com/37bbe1eb3abfc3f194b8505e1078fac659bb02b0f0af3a48b9473d0e4ebe9f94/neovim/nvim-lspconfig" /> <a href="https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#pyright"></a> </div> ## 解決方法 diagnosticMode を `workspace` にする。 `nvim/after/lsp/pyright.lua` ```lua return { settings = { python = { analysis = { diagnosticMode = "workspace", }, }, }, } ```