You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-python/python-language-server/files/pyls-jedi-18.patch

69 lines
2.6 KiB

From 40afab312a6bf0dcd620c82e59555ea2967aacdf Mon Sep 17 00:00:00 2001
From: bnavigator <code@bnavigator.de>
Date: Tue, 5 Jan 2021 01:17:33 +0100
Subject: [PATCH 1/2] bump jedi compatibility: compare to Path-like object
---
pyls/plugins/symbols.py | 2 +-
setup.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pyls/plugins/symbols.py b/pyls/plugins/symbols.py
index 6468dd83..69a09fe9 100644
--- a/pyls/plugins/symbols.py
+++ b/pyls/plugins/symbols.py
@@ -37,7 +37,7 @@ def pyls_document_symbols(config, document):
not sym_full_name.startswith('__main__')):
continue
- if _include_def(d) and document.path == d.module_path:
+ if _include_def(d) and os.path.samefile(document.path, d.module_path):
tuple_range = _tuple_range(d)
if tuple_range in exclude:
continue
diff --git a/setup.py b/setup.py
index 12782990..99d2b312 100755
--- a/setup.py
+++ b/setup.py
@@ -10,7 +10,7 @@
'configparser; python_version<"3.0"',
'future>=0.14.0; python_version<"3"',
'backports.functools_lru_cache; python_version<"3.2"',
- 'jedi>=0.17.2,<0.18.0',
+ 'jedi>=0.17.2,<0.19.0',
'python-jsonrpc-server>=0.4.0',
'pluggy',
'ujson<=2.0.3 ; platform_system!="Windows" and python_version<"3.0"',
From e442467312fe967bff5f893b7e3f92da133182c8 Mon Sep 17 00:00:00 2001
From: bnavigator <code@bnavigator.de>
Date: Tue, 5 Jan 2021 01:37:25 +0100
Subject: [PATCH 2/2] Curse you Python 2 on Windows: os.path.samefile not
implemented
---
pyls/plugins/symbols.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/pyls/plugins/symbols.py b/pyls/plugins/symbols.py
index 69a09fe9..ef8e7fb8 100644
--- a/pyls/plugins/symbols.py
+++ b/pyls/plugins/symbols.py
@@ -36,8 +36,14 @@ def pyls_document_symbols(config, document):
if (not sym_full_name.startswith(module_name) and
not sym_full_name.startswith('__main__')):
continue
-
- if _include_def(d) and os.path.samefile(document.path, d.module_path):
+ try:
+ docismodule = os.path.samefile(document.path, d.module_path)
+ except AttributeError:
+ # Python 2 on Windows has no .samefile, but then these are
+ # strings for sure
+ docismodule = document.path == d.module_path
+
+ if _include_def(d) and docismodule:
tuple_range = _tuple_range(d)
if tuple_range in exclude:
continue