diff --git a/jedi/parser/tokenize.py b/jedi/parser/tokenize.py index 82b02d66..44e1ac70 100644 --- a/jedi/parser/tokenize.py +++ b/jedi/parser/tokenize.py @@ -275,5 +275,6 @@ def generate_tokens(readline): yield OP, token, spos, prefix for indent in indents[1:]: - yield DEDENT, '', spos, '' - yield ENDMARKER, '', spos, prefix + yield DEDENT, '', (lnum, max), '' + # As the last position we just take the max possible. + yield ENDMARKER, '', (lnum, max), prefix diff --git a/test/test_parser/test_fast_parser.py b/test/test_parser/test_fast_parser.py index 2b500872..ef00189b 100644 --- a/test/test_parser/test_fast_parser.py +++ b/test/test_parser/test_fast_parser.py @@ -425,3 +425,16 @@ def test_incomplete_function(): script = jedi.Script(dedent(source), 1, 3) assert script.completions() + + +def test_string_literals(): + """Simplified case of jedi-vim#377.""" + source = dedent(""" + x = ur''' ''' + + def foo(): + pass + x""") + + script = jedi.Script(dedent(source)) + assert script.completions()