Skip to content

Commit c1231fd

Browse files
committed
Bisect bookmark range
1 parent 28ed2ad commit c1231fd

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

app/actions.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,12 +289,20 @@ def bookmarkMove(self, upper, delta):
289289
Returns:
290290
None.
291291
"""
292-
for index in range(len(self.bookmarks)):
292+
__getitem__ = lambda x, index: self.bookmarks[index][0][1]
293+
__len__ = lambda x: len(self.bookmarks)
294+
functions = dict(__getitem__=__getitem__, __len__=__len__)
295+
lowerLimits = type('', (object,), functions)()
296+
begin = bisect.bisect_left(lowerLimits, upper)
297+
298+
# TODO(Androbin, aaxu): defer changes outside the screen
299+
for index in range(begin, len(self.bookmarks)):
293300
bookmark = self.bookmarks[index]
294301
markRange = bookmark[0]
295302
if markRange[0] > upper:
296303
markRange = (markRange[0] + delta, markRange[1] + delta)
297-
elif markRange[1] >= upper:
304+
# elif markRange[1] >= upper:
305+
else:
298306
markRange = (markRange[0], markRange[1] + delta)
299307
bookmark = (markRange, bookmark[1])
300308
self.bookmarks[index] = bookmark

0 commit comments

Comments
 (0)