override fun select()

in src/main/kotlin/com/intellij/ideolog/editorActions/ExtendsSelection.kt [19:33]


  override fun select(e: PsiElement, editorText: CharSequence, cursorOffset: Int, editor: Editor): List<TextRange> {
    val (evt, evtOffset) = LogParsingUtils.getEvent(editor, editor.selectionModel.selectionStart)

    val fileType = detectLogFileFormat(editor)
    val tokens = ArrayList<LogToken>()
    fileType.tokenize(evt, tokens, true)

    for ((startOffset, endOffset) in tokens) {
      if (evtOffset + startOffset < editor.selectionModel.selectionStart && evtOffset + endOffset > editor.selectionModel.selectionEnd) {
        return listOf(TextRange(evtOffset + startOffset, evtOffset + endOffset))
      }
    }

    return listOf(TextRange(evtOffset, evtOffset + evt.length))
  }