mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
don't add another backslash if we already have one (PY-1960)
This commit is contained in:
@@ -47,6 +47,13 @@ public class PythonEnterHandler implements EnterHandlerDelegate {
|
||||
if (element == null) {
|
||||
return Result.Continue;
|
||||
}
|
||||
if (offset > 0) {
|
||||
final PsiElement beforeCaret = file.findElementAt(offset-1);
|
||||
if (beforeCaret instanceof PsiWhiteSpace && beforeCaret.getText().indexOf('\\') > 0) {
|
||||
// we've got a backslash at EOL already, don't need another one
|
||||
return Result.Continue;
|
||||
}
|
||||
}
|
||||
PsiElement statementBefore = findStatementBeforeCaret(file, offset);
|
||||
PsiElement statementAfter = findStatementAfterCaret(file, offset);
|
||||
if (statementBefore != statementAfter) { // Enter pressed at statement break
|
||||
|
||||
@@ -120,14 +120,18 @@ public class PyEditingTest extends PyLightFixtureTestCase {
|
||||
doTestEnter("z=1 <caret>2", "z=1 \n2");
|
||||
}
|
||||
|
||||
public void testEnterAtStartOfComment() {
|
||||
public void testEnterAtStartOfComment() { // PY-1958
|
||||
doTestEnter("# bar\n<caret># foo", "# bar\n\n# foo");
|
||||
}
|
||||
|
||||
public void testEnterAtEndOfComment() {
|
||||
public void testEnterAtEndOfComment() { // PY-1958
|
||||
doTestEnter("# bar<caret>\n# foo", "# bar\n\n# foo");
|
||||
}
|
||||
|
||||
public void testEnterAfterBackslash() { // PY-1960
|
||||
doTestEnter("s = \\<caret>\n'some string'", "s = \\\n\n'some string'");
|
||||
}
|
||||
|
||||
private void doTestEnter(String before, final String after) {
|
||||
int pos = before.indexOf("<caret>");
|
||||
before = before.replace("<caret>", "");
|
||||
|
||||
Reference in New Issue
Block a user