diff options
| author | Stephen Blott | 2015-01-16 16:59:27 +0000 |
|---|---|---|
| committer | Stephen Blott | 2015-01-16 16:59:27 +0000 |
| commit | 8d3665862400b46216c1c42d063890dee1850918 (patch) | |
| tree | 572efe878913e834235f3579048975a920f7809b /content_scripts | |
| parent | 41a2c5a3f77a15b2ad5f386f1a2a194df49d107d (diff) | |
| download | vimium-8d3665862400b46216c1c42d063890dee1850918.tar.bz2 | |
Instead, just restore the selection, for performFindInPlace().
Diffstat (limited to 'content_scripts')
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index ddedb1ef..a6ddffd3 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -11,6 +11,7 @@ findMode = false findModeQuery = { rawQuery: "", matchCount: 0 } findModeQueryHasResults = false findModeAnchorNode = null +findModeInitialRange = null isShowingHelpDialog = false keyPort = null # Users can disable Vimium on URL patterns via the settings page. The following two variables @@ -702,11 +703,8 @@ handleEnterForFindMode = -> settings.set("findModeRawQuery", findModeQuery.rawQuery) performFindInPlace = -> + findModeRestoreSelection() query = if findModeQuery.isRegex then getNextQueryFromRegexMatches(0) else findModeQuery.parsedQuery - - selection = window.getSelection() - selection.collapseToStart() if selection.type == "Range" - findModeQueryHasResults = executeFind(query, { caseSensitive: !findModeQuery.ignoreCase }) # :options is an optional dict. valid parameters are 'caseSensitive' and 'backwards'. @@ -920,7 +918,27 @@ showFindModeHUDForQuery = -> else HUD.show("/" + findModeQuery.rawQuery + " (No Matches)") +getCurrentRange = -> + selection = getSelection() + if selection.type == "None" + range = document.createRange() + range.setStart document.body, 0 + range.setEnd document.body, 0 + range + else + selection.collapseToStart() if selection.type == "Range" + range = selection.getRangeAt 0 + +findModeSaveSelection = -> + findModeInitialRange = getCurrentRange() + +findModeRestoreSelection = (range = findModeInitialRange) -> + selection = getSelection() + selection.removeAllRanges() + selection.addRange range + window.enterFindMode = -> + findModeSaveSelection() findModeQuery = { rawQuery: "" } findMode = true HUD.show("/") |
