in vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/VimSearchGroupBase.kt [905:969]
override fun executeInput(input: ReplaceConfirmationChoice, editor: VimEditor, context: ExecutionContext) {
injector.actionExecutor.executeCommand(editor, {
highlight.remove()
injector.jumpService.saveJumpLocation(editor)
val matchRange = nextSubstitute.first.range
val match = nextSubstitute.second
when (input) {
ReplaceConfirmationChoice.SUBSTITUTE_THIS -> {}
ReplaceConfirmationChoice.SKIP -> doReplace = false
ReplaceConfirmationChoice.SUBSTITUTE_ALL -> {
doAsk = false
performSubstituteInLines(
editor,
caret,
context,
parent,
regex,
pattern,
oldLastSubstituteString,
line,
endLine,
column,
hasExpression,
substituteString,
exceptions,
options
)
closeModalInputPrompt()
return@executeCommand
}
ReplaceConfirmationChoice.QUIT -> {
doReplace = false
gotQuit = true
}
ReplaceConfirmationChoice.SUBSTITUTE_LAST -> {
doAll = false
endLine = line
}
}
lastMatchLine = line
val replaceResult = performReplace(
editor,
caret,
context,
parent,
match,
matchRange,
doReplace,
line,
endLine,
hasExpression,
substituteString,
exceptions
)
line = replaceResult.line
endLine = replaceResult.endLine
column = replaceResult.column
goToNextIteration()
}, "substitute-with-confirmation", modalInput)
}