mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[terminal] IJPL-180524 Edit terminal PSI element check
Avoid calling `getNode()` because it may cause loading AST for stubbed PSI elements, which is slow. GitOrigin-RevId: 80774355978c59732f8d9b7e9695d72ae4c04e19
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e1fdb2490e
commit
313dbb2033
+4
-2
@@ -6,6 +6,7 @@ import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.util.Condition
|
||||
import com.intellij.openapi.util.TextRange
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import org.jetbrains.plugins.terminal.block.reworked.lang.TerminalOutputLanguage
|
||||
|
||||
/**
|
||||
@@ -59,6 +60,7 @@ internal class TerminalWordSelectionFilter : Condition<PsiElement> {
|
||||
}
|
||||
|
||||
private fun isTerminalPsiElement(e: PsiElement): Boolean {
|
||||
// e.language can be also used there, but it might be more expensive when the language is not terminal
|
||||
return e.node?.elementType?.language == TerminalOutputLanguage
|
||||
// the single `e.language` condition is enough, but it might be more expensive
|
||||
// because psi element implementations may compute the language differently.
|
||||
return e is LeafPsiElement && e.language == TerminalOutputLanguage
|
||||
}
|
||||
Reference in New Issue
Block a user