From 0e92be66dbae43771f70b9b3dbd43f75ea011c03 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Fri, 29 Nov 2019 13:44:12 +0100 Subject: [PATCH] Fix an issue around completions in comments before strings --- jedi/api/completion.py | 3 +++ test/test_api/test_completion.py | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/jedi/api/completion.py b/jedi/api/completion.py index d5c9182b..88080193 100644 --- a/jedi/api/completion.py +++ b/jedi/api/completion.py @@ -283,6 +283,9 @@ class Completion: def _extract_string_while_in_string(leaf, position): + if position < leaf.start_pos: + return None, None + if leaf.type == 'string': match = re.match(r'^\w*(\'{3}|"{3}|\'|")', leaf.value) quote = match.group(1) diff --git a/test/test_api/test_completion.py b/test/test_api/test_completion.py index 1d3d092b..2d35cb74 100644 --- a/test/test_api/test_completion.py +++ b/test/test_api/test_completion.py @@ -125,6 +125,10 @@ def test_in_comment(Script): assert not Script("max_attr_value = int(2) # Cast to int for spe").completions() +def test_in_comment_before_string(Script): + assert not Script(" # Foo\n'asdf'", line=1).completions() + + def test_async(Script, environment): if environment.version_info < (3, 5): pytest.skip()