You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Optimized find all references and reduced memory usage in VS (#8339)
* Added ItemKey.fsi/fsi. Added blank SemanticClassification.fs/fsi.
* Raise disposed exception
* Re-worked semantic classification. Renamed ItemKeyReader to ItemKeyStore. Exposing ItemKeyStore/Builder
* Fixing build
* Storing semantic classification
* Caching semantic classification
* Wiring it up
* Need to fix lexing
* Added experimental lexing API to handle find all refs syntactic classification from allocating a lot
* Added System.Memory
* Using Span to check equality without allocating
* Allocate less
* Fixing build. Reducing more allocations and not using lex filter on lexing tokens.
* Remove langversion
* Fixed record find all refs
* Fixing test
* Partial match for active pattern
* Feedback changes
* Added comment on TcResolutionsExtensions
* Creating view accessor when needed in ItemKey. Fixed UnionCase find all refs.
* Added comment on warning
* Added Range.comparer. Moving opens to top of file
* More feedback changes
* Added comment on sliding expiration
match ranges |> List.tryFind (fun(range,_)-> Range.rangeContainsPos range markerPos)with
48
+
match ranges |> List.tryFind (funstruct (range,_)-> Range.rangeContainsPos range markerPos)with
49
49
| None -> Assert.Fail("Cannot find colorization data for end of marker")
50
50
| Some(_, ty)-> Assert.AreEqual(classificationType, FSharpClassificationTypes.getClassificationTypeName ty,"Classification data doesn't match for end of marker")
51
51
@@ -54,7 +54,7 @@ type SemanticClassificationServiceTests() =
Copy file name to clipboardExpand all lines: src/fsharp/range.fsi
+3Lines changed: 3 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -200,3 +200,6 @@ module Range =
200
200
201
201
/// Convert a range from one-based line counting (used internally in the F# compiler and in F# error messages) to zero-based line counting (used by Visual Studio)
0 commit comments