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
* (maint) Add tests for code folding for PowerShell classes
Previously there were no tests for PowerShell classes. This commit adds a simple
test for this scenario to ensure future changes do not break folding.
* (GH-824) Refactor the FoldingReference arrays and lists into it's own class
Previously the folding provider created many intermediate arrays and lists and
required post-processing. This commit changes the behaviour to use an
accumlator patter with an extended Dictionary class. This new class adds a
`SafeAdd` method to add FoldingRanges, which then has the logic to determine if
the range should indeed be added, for example, passing nulls or pre-existing
larger ranges.
By passing around this list using ByReference we can avoid creating many objects
which are just then thrown away.
This commit also moves the ShowLastLine code from the FoldingProvider into the
Language Server. This reduces the number of array enumerations to one.
* (GH-824) Refactor Token Folding Operations
Previously each token type detection was separated into discrete blocks
to make reading the code easier. However this meant there were many
enumerations of the Tokens array as well as passing around intermediate
arrays/lists. This commit takes the individual methods and overlaps them
to reduce the number of enumerations and regular expression matching to
a minimum.
Note that there are considerable code comments here due to the code now
being more complex on initial review.
* (GH-812) Update folder for DSC style scripts
Previously the code folding was not tested against DSC configuration scripts.
This commit adds tests for a sample DSC script to ensure the folding occurs at the correct
places
* (GH-824) More strict block comment folding detection
Previously the folder would search for the region markers without case sensitivity.
This commit modifies the regular expressions to be more strict on the what
is a region marker and adds a negative test to ensure that regions that are not
cased correctly are not folded .
0 commit comments