Description
It is unclear to me what the requirements are for the data coming in from PartialResults, particularly in SemanticTokens requests.
For example, imagine that we call textDocument/semanticTokens/full
against Roslyn on a very large file/project right after startup. Would it be "legal" for Roslyn to reply with a "first-pass" attempt at Tokens which provides them from the start to the end of the file, but provides a partialResultToken
which could be checked for a second-pass with more accurate results, covering the same area? If yes that implies that the array of semanticToken int's would be relative to the start of the document for each time the partialResult is queried, and that partialResults may invalidate results from previous partials. If that is NOT allowed would workspace/semanticTokens/refresh
be the only way to get this "second-pass"? If it is that has significant implications for imbedded scenarios such as Razor and what they can and cannot cache.