3 writes to _trackedDocuments
Microsoft.CodeAnalysis.LanguageServer.Protocol (3)
16 references to _trackedDocuments
Microsoft.CodeAnalysis.LanguageServer.Protocol (16)
Workspaces\LspWorkspaceManager.cs (16)
109Contract.ThrowIfTrue(_trackedDocuments.ContainsKey(uri), $"didOpen received for {uri} which is already open.");
116_trackedDocuments = _trackedDocuments.Add(uri, (documentText, languageId));
149Contract.ThrowIfFalse(_trackedDocuments.ContainsKey(uri), $"didClose received for {uri} which is not open.");
150_trackedDocuments = _trackedDocuments.Remove(uri);
203Contract.ThrowIfFalse(_trackedDocuments.ContainsKey(uri), $"didChange received for {uri} which is not open.");
204var (_, language) = _trackedDocuments[uri];
205_trackedDocuments = _trackedDocuments.SetItem(uri, (newSourceText, language));
213public ImmutableDictionary<DocumentUri, (SourceText SourceText, string LanguageId)> GetTrackedLspText() => _trackedDocuments;
287if (_trackedDocuments.TryGetValue(uri, out var trackedDocument) && _lspMiscellaneousFilesWorkspaceProvider is not null)
376var documentsInWorkspace = GetDocumentsForUris([.. _trackedDocuments.Keys], workspaceCurrentSolution);
378_trackedDocuments.Keys.Where(static trackedDocument => trackedDocument.ParsedUri?.Scheme == SourceGeneratedDocumentUri.Scheme)
380.Select(uri => (identity: SourceGeneratedDocumentUri.DeserializeIdentity(workspaceCurrentSolution, uri.ParsedUri!), _trackedDocuments[uri].Text))
416lspSolution = lspSolution.WithDocumentText(workspaceDocuments.Select(d => d.Id), _trackedDocuments[uri].Text);
432foreach (var (uri, (sourceText, _)) in _trackedDocuments)
500var isTextEquivalent = await AreChecksumsEqualAsync(firstDocument, _trackedDocuments[uriInWorkspace].Text, cancellationToken).ConfigureAwait(false);
529if (_trackedDocuments.TryGetValue(uri, out var trackedDocument))