mirror of https://github.com/helix-editor/helix
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22c1a40725
The `take_while` should limit the layers to those that can match the input range so we don't always scan the entire `injection_layers`. We can limit `depth == 1` layers to those that start before the search `end`. Deeper layers overlap with shallower layers though so we need to allow those layers as well in the `take_while`. For example ```vue <script setup lang="ts"> const foo = 'bar'.match(/foo/); const bar = foo; </script> ``` L2 and L3 are a typescript layer and the `/foo/` part is a small regex layer. If you used `A-o` before the regex layer you would select the entire typescript layer. The search in `layer_id_containing_byte_range` would not consider the typescript layer since the regex layer comes earlier in `injection_ranges` and that layer's start is after `end`. The regex layer has a depth of `2` though so the change in this commit allows scanning through that layer. Co-authored-by: Pascal Kuthe <pascalkuthe@pm.me> |
4 months ago | |
---|---|---|
.. | ||
tree_cursor.rs | 4 months ago |