|
4229 | 4229 | query: query |
4230 | 4230 | }; |
4231 | 4231 | } |
| 4232 | + var highlightTimeout = 0; |
4232 | 4233 | function highlightSearchMatches(cm, query) { |
4233 | | - var searchState = getSearchState(cm); |
4234 | | - var overlay = searchState.getOverlay(); |
4235 | | - if (!overlay || query != overlay.query) { |
4236 | | - if (overlay) { |
4237 | | - cm.removeOverlay(overlay); |
4238 | | - } |
4239 | | - overlay = searchOverlay(query); |
4240 | | - cm.addOverlay(overlay); |
4241 | | - if (cm.showMatchesOnScrollbar) { |
4242 | | - if (searchState.getScrollbarAnnotate()) { |
4243 | | - searchState.getScrollbarAnnotate().clear(); |
| 4234 | + clearTimeout(highlightTimeout); |
| 4235 | + highlightTimeout = setTimeout(function() { |
| 4236 | + var searchState = getSearchState(cm); |
| 4237 | + var overlay = searchState.getOverlay(); |
| 4238 | + if (!overlay || query != overlay.query) { |
| 4239 | + if (overlay) { |
| 4240 | + cm.removeOverlay(overlay); |
| 4241 | + } |
| 4242 | + overlay = searchOverlay(query); |
| 4243 | + cm.addOverlay(overlay); |
| 4244 | + if (cm.showMatchesOnScrollbar) { |
| 4245 | + if (searchState.getScrollbarAnnotate()) { |
| 4246 | + searchState.getScrollbarAnnotate().clear(); |
| 4247 | + } |
| 4248 | + searchState.setScrollbarAnnotate(cm.showMatchesOnScrollbar(query)); |
4244 | 4249 | } |
4245 | | - searchState.setScrollbarAnnotate(cm.showMatchesOnScrollbar(query)); |
| 4250 | + searchState.setOverlay(overlay); |
4246 | 4251 | } |
4247 | | - searchState.setOverlay(overlay); |
4248 | | - } |
| 4252 | + }, 50); |
4249 | 4253 | } |
4250 | 4254 | function findNext(cm, prev, query, repeat) { |
4251 | 4255 | if (repeat === undefined) { repeat = 1; } |
|
0 commit comments