codemirror / dev

Development repository for the CodeMirror editor project
https://codemirror.net/
Other
5.44k stars 343 forks source link

Unified Merge View Bug #1352

Closed 2dxgujun closed 3 months ago

2dxgujun commented 3 months ago

Describe the issue

There are three highlighted merge chunks. After merge the first & second chunk, scroll to the position of the third chunk, you'll notice that its highlight state has disappeared.

https://github.com/codemirror/dev/assets/8072733/fdac743d-5118-4eed-89b9-cc8d1df4eb44

Browser and platform

No response

Reproduction link

https://codemirror.net/try/?c=aW1wb3J0IHtNZXJnZVZpZXcsIHVuaWZpZWRNZXJnZVZpZXd9IGZyb20gIkBjb2RlbWlycm9yL21lcmdlIgppbXBvcnQge0VkaXRvclZpZXcsIGJhc2ljU2V0dXB9IGZyb20gImNvZGVtaXJyb3IiCmltcG9ydCB7RWRpdG9yU3RhdGV9IGZyb20gIkBjb2RlbWlycm9yL3N0YXRlIgoKbGV0IG9yaWdpbmFsID0gYGltcG9ydCBhYTsiOwoKdmlldyA9IChwcm9wcykgPT4gewogIHJldHVybiAoCiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGUud3JhcHBlcn0+CiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZS5ncm91cH0+CiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZS5jYXB0aW9ufT7/CU7/Y1v/a5T/XP//KVn/eYb/OGz/KVI8L3NwYW4+CiAgICAgICAgPGltZwogICAgICAgICAgc3JjPSIiCiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlLmljb259CiAgICAgICAgLz4KICAgICAgICA8aW1nCiAgICAgICAgICBzcmM9IiIKICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGUuYWN0aW9uX2JnfQogICAgICAgIC8+CiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlLmJ1dHRvbl93cmFwcGVyfT4KICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGUuYnV0dG9ufT7/LU7/Tk//zpj/aZY8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZS5kZXRhaWx9Pv/mi//FYDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZS5ncm91cF8xfT4KICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGUudmlld30+CiAgICAgICAgICA8c3BhbgogICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlLmNvdW50fQogICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17ewogICAgICAgICAgICAgIF9faHRtbDogcHJvcHMuY291bnQsCiAgICAgICAgICAgIH19CiAgICAgICAgICA+PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZS5tZXRhfT7/0Y//AE7/dF7/wFH/PFD/nlj/f5U8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlLmdyb3VwXzJ9PgogICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZS5jYXB0aW9uXzF9Pjn/Kk7/CGc8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlLmluZm99PjEw/0NR/3eN/y2N/1z//zpQ/zhS//pX/9GRPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZS50aXRsZV93cmFwcGVyfT4KICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGUudGl0bGVfMX0+/8t6/3NT/3BOPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlLmZvb3Rlcn0+CiAgICAgICAgPGltZwogICAgICAgICAgc3JjPSIiCiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlLmRlc2NfYmd9CiAgICAgICAgLz4KICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlLmRlc2N9PgogICAgICAgICAg/wxU//t8/xdS/4ZT//JT//tO/w9h//Zl//SV/3BO/2VR/wz//wFj/wlnNv8qTv8IZ//Idv8pUv+Caf+Hczk3JQogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICApOwp9O2AKCmxldCBkb2MgPSBgaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAicmVhY3QiOwppbXBvcnQgYWE7Cgp2aWV3ID0gKHByb3BzKSA9PiB7CiAgY29uc3QgID0gcHJvcHM7CiAgY29uc3QgPSB1c2VTdGF0ZShudWxsKTsKCiAgY29uc3QgaXNPcHRpb25hbCAKICAgIGlmICgKICAgICAgcmV0CiAgICB9IGVsc2UgewogICAgICByZXR1CiAgICB9CiAgfTsKCiAgY29uc3QgaGFuZGxlT3B0aW9uYWxDbGljayA9IGFzeW5jIChlKSA9PiB7CiAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogIAogICAgbGV0CiAgICBjb24KICAgIGlmIAogICAgICBoCiAgICB9CiAgICBoYW4KICAgICAgcwogICAgICAgCiAgICAgICAKICAgICAgfSk7CiAgICB9KTsKICB9OwoKICByZXR1cm4gKAogICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlLndyYXBwZXJ9PgogICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGUuZ3JvdXB9PgogICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGUuY2FwdGlvbn0+/wlO/2Nb/2uU/1z//ylZ/3mG/zhs/ylSPC9zcGFuPgogICAgICAgIDxpbWcKICAgICAgICAgIHNyYz0iIgogICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZS5pY29ufQogICAgICAgIC8+CiAgICAgICAgPGltZwogICAgICAgICAgc3JjPSIiCiAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlLmFjdGlvbl9iZ30KICAgICAgICAvPgogICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZS5idXR0b25fd3JhcHBlcn0+CiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlLmJ1dHRvbn0+/y1O/05P/86Y/2mWPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGUuZGV0YWlsfT7/5ov/xWA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGUuZ3JvdXBfMX0+CiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlLnZpZXd9PgogICAgICAgICAgPHNwYW4KICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZS5jb3VudH0KICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sKICAgICAgICAgICAgICBfX2h0bWw6IHByb3BzLmNvdW50LAogICAgICAgICAgICB9fQogICAgICAgICAgPjwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGUubWV0YX0+/9GP/wBO/3Re/8BR/zxQ/55Y/3+VPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZS5ncm91cF8yfT4KICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGUuY2FwdGlvbl8xfT45/ypO/whnPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZS5pbmZvfT4xMP9DUf93jf8tjf9c//86UP84Uv/6V//RkTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGUudGl0bGVfd3JhcHBlcn0+CiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlLnRpdGxlXzF9Pv/Lev9zU/9wTjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZS5mb290ZXJ9PgogICAgICAgIDxpbWcKICAgICAgICAgIHNyYz0iIgogICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZS5kZXNjX2JnfQogICAgICAgIC8+CiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZS5kZXNjfT4KICAgICAgICAgIP8MVP/7fP8XUv+GU//yU//7Tv8PYf/2Zf/0lf9wTv9lUf8M//8BY/8JZzb/Kk7/CGf/yHb/KVL/gmn/h3M5NyUKICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICB7d2F0YwogICAgICAgIDxkaXYKICAgICAgICAgIG9uQ2xpY2sKICAgICAgICAgIGNsYXMKICAgICAgICA+CiAgICAgICAgICA8aW1nCiAgICAgICAgICAgIGNsYQogICAgICAgICAgICBzcmM9ewogICAgICAgICAgICAgIGlzCiAgICAgICAgICAgICAgICA/ICcnCiAgICAgICAgICAgICAgICA6ICcnCiAgICAgICAgICAgIH0KICAgICAgICAgICAgYWx0PSIiCiAgICAgICAgICAvPgogICAgICAgIDwvZGl2PgogICAgICApIDogbnVsbH0KICAgIDwvZGl2PgogICk7Cn07YAoKbGV0IHZpZXcgPSBuZXcgRWRpdG9yVmlldyh7CiAgZG9jOiBkb2MsCiAgZXh0ZW5zaW9uczogWwogICAgYmFzaWNTZXR1cCwKICAgIEVkaXRvclZpZXcuZWRpdGFibGUub2YoZmFsc2UpLAogICAgRWRpdG9yU3RhdGUucmVhZE9ubHkub2YodHJ1ZSksCiAgICB1bmlmaWVkTWVyZ2VWaWV3KHsgb3JpZ2luYWwgfSkKICBdLAogIHBhcmVudDogZG9jdW1lbnQuYm9keQp9KQo=

marijnh commented 3 months ago

Attached patch should help with this!

2dxgujun commented 3 months ago

Attached patch should help with this!

Work like a charm! Thank you.