Skip to content

Commit 18f3c3f

Browse files
authored
Filter builtin modules (#519)
1 parent 5e785fe commit 18f3c3f

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

pyls/plugins/references.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ def pyls_references(document, position, exclude_declaration=False):
1414
# Filter out if the usage is the actual declaration of the thing
1515
usages = [d for d in usages if not d.is_definition()]
1616

17+
# Filter out builtin modules
18+
usages = [d for d in usages if not d.in_builtin_module()]
19+
1720
return [{
1821
'uri': uris.uri_with(document.uri, path=d.module_path) if d.module_path else document.uri,
1922
'range': {

test/plugins/test_references.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515

1616
DOC2 = """from test1 import Test1
1717
18-
Test1()
18+
try:
19+
Test1()
20+
except UnicodeError:
21+
pass
1922
"""
2023

2124

@@ -59,5 +62,18 @@ def test_references(tmp_workspace): # pylint: disable=redefined-outer-name
5962
assert doc2_import_ref['range']['end'] == {'line': 0, 'character': 23}
6063

6164
doc2_usage_ref = [u for u in refs if u['uri'] != DOC1_URI][1]
62-
assert doc2_usage_ref['range']['start'] == {'line': 2, 'character': 0}
63-
assert doc2_usage_ref['range']['end'] == {'line': 2, 'character': 5}
65+
assert doc2_usage_ref['range']['start'] == {'line': 3, 'character': 4}
66+
assert doc2_usage_ref['range']['end'] == {'line': 3, 'character': 9}
67+
68+
69+
def test_references_builtin(tmp_workspace): # pylint: disable=redefined-outer-name
70+
# Over 'UnicodeError':
71+
position = {'line': 4, 'character': 7}
72+
doc2_uri = uris.from_fs_path(os.path.join(tmp_workspace.root_path, DOC2_NAME))
73+
doc2 = Document(doc2_uri)
74+
75+
refs = pyls_references(doc2, position)
76+
assert len(refs) == 1
77+
78+
assert refs[0]['range']['start'] == {'line': 4, 'character': 7}
79+
assert refs[0]['range']['end'] == {'line': 4, 'character': 19}

0 commit comments

Comments
 (0)