diff options
Diffstat (limited to 'ext/mixed/js/text-scanner.js')
-rw-r--r-- | ext/mixed/js/text-scanner.js | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ext/mixed/js/text-scanner.js b/ext/mixed/js/text-scanner.js index 11a6f88f..98d87341 100644 --- a/ext/mixed/js/text-scanner.js +++ b/ext/mixed/js/text-scanner.js @@ -24,7 +24,7 @@ class TextScanner extends EventDispatcher { constructor({ node, documentUtil, - getOptionsContext, + getSearchContext, ignoreElements=null, ignorePoint=null, searchTerms=false, @@ -35,7 +35,7 @@ class TextScanner extends EventDispatcher { super(); this._node = node; this._documentUtil = documentUtil; - this._getOptionsContext = getOptionsContext; + this._getSearchContext = getSearchContext; this._ignoreElements = ignoreElements; this._ignorePoint = ignorePoint; this._searchTerms = searchTerms; @@ -290,8 +290,8 @@ class TextScanner extends EventDispatcher { // Private - async _getOptionsContextForInput(inputInfo) { - const optionsContext = clone(await this._getOptionsContext()); + _createOptionsContextForInput(baseOptionsContext, inputInfo) { + const optionsContext = clone(baseOptionsContext); const {modifiers, modifierKeys} = inputInfo; optionsContext.modifiers = [...modifiers]; optionsContext.modifierKeys = [...modifierKeys]; @@ -305,13 +305,16 @@ class TextScanner extends EventDispatcher { let error = null; let searched = false; let optionsContext = null; + let detail = null; try { if (this._textSourceCurrent !== null && this._textSourceCurrent.hasSameStart(textSource)) { return; } - optionsContext = await this._getOptionsContextForInput(inputInfo); + ({optionsContext, detail} = await this._getSearchContext()); + optionsContext = this._createOptionsContextForInput(optionsContext, inputInfo); + searched = true; const result = await this._findDefinitions(textSource, searchTerms, searchKanji, optionsContext); @@ -334,6 +337,7 @@ class TextScanner extends EventDispatcher { inputInfo, textSource, optionsContext, + detail, error }); } |