mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-06 16:08:05 +00:00
Language servers answer textDocument/references (and rename, incoming calls) only from the files they analyse: their configured scope (Pyright's `include`, a tsconfig, a compilation database) plus the open documents. Usages in other project files were silently missing until the file was opened. Reference searches now also find the project files of the server's languages that mention the symbol's name as a whole word (honouring .gitignore, excluded roots and ignored names; at most 300 files; off the UI thread and cancellable). Those the first answer did not cover and the user does not have open are opened on the server from disk, the request is repeated, and they are closed again. Diagnostics the server publishes for these files (including shortly after the close) never reach Problems, and a user opening such a file mid-search takes it over cleanly. An empty answer while the server reports progress is retried once indexing ends; results that may still be incomplete (server still indexing, or more matching files than searched) carry a note in Find Usages and Show Usages. lsp_references takes a request id so searches are cancelled when their tab closes, a new popup search starts, or the project changes. Find Usages, Show Usages (and Cmd-click on a declaration), usage counts, Safe Delete of a symbol, Rename and incoming Call Hierarchy share the path. File-level Safe Delete scans every symbol of the deleted files and keeps to the server's scope. Fixes #83 Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn