forked from VimPlug/jedi
fix line split issues in cache
This commit is contained in:
@@ -101,6 +101,9 @@ def cache_call_signatures(source, user_pos, stmt):
|
|||||||
"""This function calculates the cache key."""
|
"""This function calculates the cache key."""
|
||||||
index = user_pos[0] - 1
|
index = user_pos[0] - 1
|
||||||
lines = source.splitlines() or ['']
|
lines = source.splitlines() or ['']
|
||||||
|
if source and source[-1] == '\n':
|
||||||
|
lines.append('')
|
||||||
|
|
||||||
before_cursor = lines[index][:user_pos[1]]
|
before_cursor = lines[index][:user_pos[1]]
|
||||||
other_lines = lines[stmt.start_pos[0]:index]
|
other_lines = lines[stmt.start_pos[0]:index]
|
||||||
whole = '\n'.join(other_lines + [before_cursor])
|
whole = '\n'.join(other_lines + [before_cursor])
|
||||||
|
|||||||
@@ -99,3 +99,8 @@ def test_cache_call_signatures():
|
|||||||
for i in range(3):
|
for i in range(3):
|
||||||
check(8, 'int', 'boo')
|
check(8, 'int', 'boo')
|
||||||
check(4, 'str', 'boo')
|
check(4, 'str', 'boo')
|
||||||
|
|
||||||
|
|
||||||
|
def test_cache_line_split_issues():
|
||||||
|
"""Should still work even if there's a newline."""
|
||||||
|
assert jedi.Script('int(\n').call_signatures()[0].name == 'int'
|
||||||
|
|||||||
Reference in New Issue
Block a user