PY-80844 Disable the intention for converting f-strings into t-strings in Python < 3.14

(cherry picked from commit 97162fca82d36958d61641c56315295329018304)

GitOrigin-RevId: bd8a473ec0c175b8c5fdb49feec919c944777e81
This commit is contained in:
Mikhail Golubev
2025-05-02 15:39:27 +03:00
committed by intellij-monorepo-bot
parent f13659e3d5
commit 004fee8632
3 changed files with 9 additions and 5 deletions

View File

@@ -8,16 +8,15 @@ import com.intellij.modcommand.PsiUpdateModCommandAction
import com.intellij.openapi.editor.Document
import com.intellij.psi.util.parentOfType
import com.jetbrains.python.PyPsiBundle
import com.jetbrains.python.psi.PyDocStringOwner
import com.jetbrains.python.psi.PyFormattedStringElement
import com.jetbrains.python.psi.PyStringLiteralExpression
import com.jetbrains.python.psi.PyUtil
import com.jetbrains.python.psi.*
/**
* Intention to convert between f-strings and t-strings (PEP-750)
*/
class PyFStringToTStringIntention : PsiUpdateModCommandAction<PyFormattedStringElement>(PyFormattedStringElement::class.java) {
override fun getPresentation(context: ActionContext, stringElement: PyFormattedStringElement): Presentation? {
if (LanguageLevel.forElement(stringElement).isOlderThan(LanguageLevel.PYTHON314)) return null
val stringLiteral = stringElement.getParent() as? PyStringLiteralExpression ?: return null
val docStringOwner = stringLiteral.parentOfType<PyDocStringOwner>()
if (docStringOwner != null && docStringOwner.getDocStringExpression() === stringLiteral) return null