mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-9209 Insert a space after '#' sign when using smart enter in comment
This commit is contained in:
+7
-3
@@ -19,6 +19,7 @@ import com.intellij.openapi.editor.CaretModel;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.psi.PsiComment;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiWhiteSpace;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.jetbrains.python.codeInsight.editorActions.smartEnter.SmartEnterUtil;
|
||||
|
||||
@@ -34,12 +35,15 @@ public class PyCommentBreakerEnterProcessor implements EnterProcessor {
|
||||
return false;
|
||||
}
|
||||
final CaretModel caretModel = editor.getCaretModel();
|
||||
final PsiElement atCaret = psiElement.getContainingFile().findElementAt(caretModel.getOffset());
|
||||
PsiElement atCaret = psiElement.getContainingFile().findElementAt(caretModel.getOffset());
|
||||
if (atCaret instanceof PsiWhiteSpace) {
|
||||
atCaret = atCaret.getPrevSibling();
|
||||
}
|
||||
final PsiElement comment = PsiTreeUtil.getParentOfType(atCaret, PsiComment.class, false);
|
||||
if (comment != null) {
|
||||
SmartEnterUtil.plainEnter(editor);
|
||||
editor.getDocument().insertString(caretModel.getOffset(), "#");
|
||||
caretModel.moveToOffset(caretModel.getOffset() + 1);
|
||||
editor.getDocument().insertString(caretModel.getOffset(), "# ");
|
||||
caretModel.moveToOffset(caretModel.getOffset() + 2);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -1 +1 @@
|
||||
#<caret>comment
|
||||
# <caret>comment
|
||||
@@ -1,2 +1,2 @@
|
||||
#comment
|
||||
#<caret>
|
||||
# comment
|
||||
# <caret>
|
||||
@@ -0,0 +1,2 @@
|
||||
# foo <caret>
|
||||
pass
|
||||
@@ -0,0 +1,3 @@
|
||||
# foo
|
||||
# <caret>
|
||||
pass
|
||||
@@ -189,4 +189,9 @@ public class PySmartEnterTest extends PyTestCase {
|
||||
public void testWithOnlyColonMissing() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
// PY-9209
|
||||
public void testSpaceInsertedAfterHashSignInComment() {
|
||||
doTest();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user