aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932015-06-10 17:12:09 +0100
committermrmr19932015-06-10 20:59:46 +0100
commit6993359b4636ed53e558218beecc8ec9deb4ed70 (patch)
tree31d46968796ed6e4dba6cd07d0970301653162c0
parent5bace210e738c56a8e7bee946f21041158fea7b1 (diff)
downloadvimium-6993359b4636ed53e558218beecc8ec9deb4ed70.tar.bz2
Integrate executeFind into FindMode as FindMode.execute
-rw-r--r--content_scripts/mode_find.coffee34
-rw-r--r--content_scripts/mode_visual_edit.coffee2
-rw-r--r--content_scripts/vimium_frontend.coffee34
3 files changed, 35 insertions, 35 deletions
diff --git a/content_scripts/mode_find.coffee b/content_scripts/mode_find.coffee
index e6884a83..79d2be7e 100644
--- a/content_scripts/mode_find.coffee
+++ b/content_scripts/mode_find.coffee
@@ -89,7 +89,7 @@ class FindMode extends Mode
# match as the user adds matching characters, or removes previously-matched characters. See #1434.
@restoreSelection()
query = if FindMode.query.isRegex then FindMode.getNextQueryFromRegexMatches(0) else FindMode.query.parsedQuery
- FindMode.query.hasResults = executeFind query
+ FindMode.query.hasResults = FindMode.execute query
# should be called whenever rawQuery is modified.
@updateQuery: ->
@@ -161,6 +161,38 @@ class FindMode extends Mode
@saveQuery: -> FindModeHistory.saveQuery @query.rawQuery
+ # :options is an optional dict. valid parameters are 'caseSensitive' and 'backwards'.
+ @execute: (query, options) ->
+ result = null
+ options = extend {
+ backwards: false
+ caseSensitive: !@query.ignoreCase
+ colorSelection: true
+ }, options
+ query ?= FindMode.getQuery options.backwards
+
+ if options.colorSelection
+ document.body.classList.add("vimiumFindMode")
+ # ignore the selectionchange event generated by find()
+ document.removeEventListener("selectionchange", @restoreDefaultSelectionHighlight, true)
+
+ result = window.find(query, options.caseSensitive, options.backwards, true, false, true, false)
+
+ if options.colorSelection
+ setTimeout(
+ -> document.addEventListener("selectionchange", @restoreDefaultSelectionHighlight, true)
+ , 0)
+
+ # We are either in normal mode ("n"), or find mode ("/"). We are not in insert mode. Nevertheless, if a
+ # previous find landed in an editable element, then that element may still be activated. In this case, we
+ # don't want to leave it behind (see #1412).
+ if document.activeElement and DomUtils.isEditable document.activeElement
+ document.activeElement.blur() unless DomUtils.isSelected document.activeElement
+
+ result
+
+ @restoreDefaultSelectionHighlight: -> document.body.classList.remove("vimiumFindMode")
+
getCurrentRange = ->
selection = getSelection()
if selection.type == "None"
diff --git a/content_scripts/mode_visual_edit.coffee b/content_scripts/mode_visual_edit.coffee
index 0df93ab7..eaaf94d4 100644
--- a/content_scripts/mode_visual_edit.coffee
+++ b/content_scripts/mode_visual_edit.coffee
@@ -354,7 +354,7 @@ class Movement extends CountPrefix
doFind = (count, backwards) =>
initialRange = @selection.getRangeAt(0).cloneRange()
for [0...count] by 1
- unless executeFind null, {colorSelection: false, backwards}
+ unless FindMode.execute null, {colorSelection: false, backwards}
@setSelectionRange initialRange
HUD.showForDuration("No matches for '#{FindMode.query.rawQuery}'", 1000)
return
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index 65527880..6f50fb9d 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -637,38 +637,6 @@ window.handleEnterForFindMode = ->
document.body.classList.add("vimiumFindMode")
FindMode.saveQuery()
-# :options is an optional dict. valid parameters are 'caseSensitive' and 'backwards'.
-window.executeFind = (query, options) ->
- result = null
- options = extend {
- backwards: false
- caseSensitive: !FindMode.query.ignoreCase
- colorSelection: true
- }, options
- query ?= FindMode.getQuery options.backwards
-
- if options.colorSelection
- document.body.classList.add("vimiumFindMode")
- # ignore the selectionchange event generated by find()
- document.removeEventListener("selectionchange",restoreDefaultSelectionHighlight, true)
-
- result = window.find(query, options.caseSensitive, options.backwards, true, false, true, false)
-
- if options.colorSelection
- setTimeout(
- -> document.addEventListener("selectionchange", restoreDefaultSelectionHighlight, true)
- , 0)
-
- # We are either in normal mode ("n"), or find mode ("/"). We are not in insert mode. Nevertheless, if a
- # previous find landed in an editable element, then that element may still be activated. In this case, we
- # don't want to leave it behind (see #1412).
- if document.activeElement and DomUtils.isEditable document.activeElement
- document.activeElement.blur() unless DomUtils.isSelected document.activeElement
-
- result
-
-restoreDefaultSelectionHighlight = -> document.body.classList.remove("vimiumFindMode")
-
focusFoundLink = ->
if (FindMode.query.hasResults)
link = getLinkFromSelection()
@@ -686,7 +654,7 @@ selectFoundInputElement = ->
findAndFocus = (backwards) ->
Marks.setPreviousPosition()
- FindMode.query.hasResults = executeFind null, {backwards}
+ FindMode.query.hasResults = FindMode.execute null, {backwards}
if FindMode.query.hasResults
focusFoundLink()