Stop reporting a skipped index as an unsupported language - #81
Merged
Conversation
preload 는 TS 파일이 500개 넘으면 모델을 하나도 안 만들고 끝낸다(전부-아니면- 전무). 그러면 find_symbol 이 "이 워크스페이스에는 심볼 색인이 없습니다 (TypeScript 프로젝트가 아니거나 …)" 라고 답한다. 600개짜리로 재현함. 모델은 그 말을 믿고 grep 도 안 해본다. 안 만든 것과 지원 안 하는 것을 갈라서 말하게 함. find_references 도 같은 벽이라 함께. find_symbol 이 capped 를 계산해놓고 답에 안 쓰고 있던 것도 같이. 400개까지만 훑는데 훑다 만 걸 "없음" 으로 답했다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three more of the same shape as #80 — reporting an unknown as a no.
A large TypeScript project answered "not a TypeScript project"
projectModels.preloadis all-or-nothing: past 500 TS files it creates zero models and returns.find_symbolthen sees no models, concludes there is no index, and answers "이 워크스페이스에는 심볼 색인이 없습니다(TypeScript 프로젝트가 아니거나 해당 언어 서버가 없음)".That is false, and it is the worst kind of false — a model reads it as "this language isn't supported here" and does not even fall back to
search_files. Reproduced with a 600-file project.The two states are now distinguished: not built (too many files, with the limit named) versus not applicable.
find_referenceshits the same wall and got the same treatment.cappedwas computed and never usedfind_symbolscans at most 400 models and already returned acappedflag saying it stopped early. The answer ignored it, so a partial scan was reported as "no such symbol".Verification
Real app with 600 TS files, 4/4: preload does skip, the skip is visible as
tooBig, and the sources list is empty — so the answer takes the "not built" branch rather than the "not supported" one.1108 unit tests passing.
npm run typecheckandnpm run buildclean.A probe note: reading
isPreloadSkipped()through a separateimport()returnedfalsewhile the app's own path returnedtrue— a second module instance with empty state. The probe now reads throughsymbolIndex, the same path the app uses.