From a90c82fc63443889606f7e910564e2e3a1acd7df Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Mon, 3 Dec 2012 16:59:13 +0400 Subject: [PATCH] fixed PY-8159 Lines continued with \ in doctest are marked as errors --- .../doctest/PyDocstringLanguageInjector.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java b/python/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java index 681432a666ff..343b137fd31b 100644 --- a/python/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java +++ b/python/src/com/jetbrains/python/documentation/doctest/PyDocstringLanguageInjector.java @@ -28,12 +28,22 @@ public class PyDocstringLanguageInjector implements LanguageInjector { int currentPosition = 0; int maxPosition = text.length(); + boolean endsWithSlash = false; for (String string : strings) { final String trimmedString = string.trim(); if (!trimmedString.startsWith(">>>") && !trimmedString.startsWith("...") && gotExample && start < end) { gotExample = false; - injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), TextRange.create(start, end), null, null); + if (!endsWithSlash) + injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), TextRange.create(start, end), null, null); } + if (endsWithSlash) { + endsWithSlash = false; + injectionPlacesRegistrar.addPlace(PyDocstringLanguageDialect.getInstance(), + TextRange.create(start, getEndOffset(currentPosition, string, maxPosition)), null, null); + } + if (trimmedString.endsWith("\\")) + endsWithSlash = true; + if (trimmedString.startsWith(">>>")) { if (!gotExample) start = currentPosition;