override fun executeInput()

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)
    }