public ImmutableArray <TextSpan> GetTagSpans(string tagId) { if (tagId == _instance.InlineRenameDialog.ValidRenameTag) { _instance.Workspace.WaitForAsyncOperations( Helper.HangMitigatingTimeout, FeatureAttribute.Rename ); } var tagInfo = _editorInProc.GetTagSpans(tagId).ToList(); // The spans are returned in an array: // [s1.Start, s1.Length, s2.Start, s2.Length, ...] // Reconstruct the spans from their component parts var builder = ArrayBuilder <TextSpan> .GetInstance(); for (var i = 0; i < tagInfo.Count; i += 2) { builder.Add(new TextSpan(tagInfo[i], tagInfo[i + 1])); } return(builder.ToImmutableAndFree()); }
public ImmutableArray <TextSpan> GetTagSpans(string tagId) { var tagInfo = _editorInProc.GetTagSpans(tagId).ToList(); // The spans are returned in an array: // [s1.Start, s1.Length, s2.Start, s2.Length, ...] // Reconstruct the spans from their component parts var builder = ArrayBuilder <TextSpan> .GetInstance(); for (int i = 0; i < tagInfo.Count; i += 2) { builder.Add(new TextSpan(tagInfo[i], tagInfo[i + 1])); } return(builder.ToImmutableAndFree()); }