Skip to content

Commit

Permalink
feat(python): refactor PythonAutoTestService and related classes for …
Browse files Browse the repository at this point in the history
…improved performance and maintainability.
  • Loading branch information
phodal committed May 8, 2024
1 parent 9f19dfb commit d889c77
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 37 deletions.
Expand Up @@ -20,7 +20,6 @@ import com.intellij.psi.PsiFile
import com.intellij.psi.PsiManager
import com.intellij.psi.util.PsiTreeUtil
import com.intellij.psi.util.PsiUtilBase
import com.intellij.util.concurrency.annotations.RequiresWriteLock
import com.jetbrains.python.PythonLanguage
import com.jetbrains.python.psi.PyClass
import com.jetbrains.python.psi.PyFile
Expand Down
Expand Up @@ -135,23 +135,23 @@ fun buildAndInsert(replacementText: String, anchor: PyDocStringOwner): PyDocStri
val manager = PsiDocumentManager.getInstance(anchor.project)
val document = manager.getDocument(anchor.containingFile)!!
val beforeStatements = statements.prevSibling
var replacementWithLineBreaks = """
$indentation$replacementText
""".trimIndent()
var replacementWithLineBreaks = (indentation + replacementText).trimIndent()
if (statements.statements.isNotEmpty()) {
replacementWithLineBreaks += """
$indentation
""".trimIndent()
replacementWithLineBreaks += indentation.trimIndent()
}

val range = beforeStatements.textRange
if (beforeStatements !is PsiWhiteSpace) {
document.insertString(range.endOffset, replacementWithLineBreaks)
} else if (statements.statements.isEmpty() && beforeStatements.textContains('\n')) {
document.insertString(range.startOffset, replacementWithLineBreaks)
} else {
document.replaceString(range.startOffset, range.endOffset, replacementWithLineBreaks)

when {
beforeStatements !is PsiWhiteSpace -> {
document.insertString(range.endOffset, replacementWithLineBreaks)
}
statements.statements.isEmpty() && beforeStatements.textContains('\n') -> {
document.insertString(range.startOffset, replacementWithLineBreaks)
}
else -> {
document.replaceString(range.startOffset, range.endOffset, replacementWithLineBreaks)
}
}

return anchor
Expand Down

This file was deleted.

3 changes: 0 additions & 3 deletions pycharm/src/main/resources/cc.unitmesh.pycharm.xml
Expand Up @@ -22,9 +22,6 @@
<devFlowProvider
language="Python"
implementation="cc.unitmesh.python.provider.PythonAutoDevFlow"/>
<promptStrategy
language="Python"
implementation="cc.unitmesh.python.provider.PythonPromptStrategyAdvisor"/>

<testContextProvider
language="Python"
Expand Down

0 comments on commit d889c77

Please sign in to comment.