From 4451d2fec7fddc30bbc21fa7d55d5c6faaf58773 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Thu, 27 Feb 2020 23:23:24 +0100 Subject: [PATCH] Refactoring diffs now show relative paths --- jedi/api/refactoring/__init__.py | 8 +-- test/refactor/inline.py | 56 +++++++++---------- test/refactor/rename.py | 92 ++++++++++++++++---------------- 3 files changed, 78 insertions(+), 78 deletions(-) diff --git a/jedi/api/refactoring/__init__.py b/jedi/api/refactoring/__init__.py index 0d0e2fad..4db77cba 100644 --- a/jedi/api/refactoring/__init__.py +++ b/jedi/api/refactoring/__init__.py @@ -1,4 +1,4 @@ -from os.path import dirname, basename, join +from os.path import dirname, basename, join, relpath import os import re import difflib @@ -26,8 +26,8 @@ class ChangedFile(object): new_lines = split_lines(self.get_new_code(), keepends=True) diff = difflib.unified_diff( old_lines, new_lines, - fromfile=self._from_path, - tofile=self._to_path + fromfile=relpath(self._from_path), + tofile=relpath(self._to_path), ) # Apparently there's a space at the end of the diff - for whatever # reason. @@ -90,7 +90,7 @@ class Refactoring(object): def get_diff(self): text = '' for from_, to in self.get_renames(): - text += 'rename from %s\nrename to %s\n' % (from_, to) + text += 'rename from %s\nrename to %s\n' % (relpath(from_), relpath(to)) return text + ''.join(f.get_diff() for f in self.get_changed_files().values()) diff --git a/test/refactor/inline.py b/test/refactor/inline.py index 8d8b19c3..6699d5b4 100644 --- a/test/refactor/inline.py +++ b/test/refactor/inline.py @@ -39,8 +39,8 @@ foobarb: int = 1 #? 5 test(foobarb) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,3 @@ -foobarb: int = 1 #? 5 @@ -69,15 +69,15 @@ from import_tree import some_mod #? 20 test(x, some_mod. inline_var.conjugate) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,4 @@ from import_tree import some_mod #? 20 -test(x, some_mod. inline_var.conjugate) +test(x, (5 + 3).conjugate) ---- /home/dave/source/jedi/test/refactor/import_tree/some_mod.py -+++ /home/dave/source/jedi/test/refactor/import_tree/some_mod.py +--- refactor/import_tree/some_mod.py ++++ refactor/import_tree/some_mod.py @@ -1,4 +1,3 @@ foobar = 3 @@ -107,8 +107,8 @@ def test(): a = (30 + b, c) + 1 return test(100, a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,5 +1,4 @@ def test(): #? 4 @@ -121,8 +121,8 @@ if 1: a = 1, 2 return test(100, a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,5 +1,4 @@ if 1: #? 4 @@ -134,8 +134,8 @@ a = 1+2 #? 11 test(100 * a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,3 @@ -a = 1+2 #? 11 @@ -146,8 +146,8 @@ a = 1+2 #? 11 (x, 100 * a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,3 @@ -a = 1+2 #? 11 @@ -159,8 +159,8 @@ a = 1+2 #? 9 (100 ** a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,5 +1,4 @@ x -a = 1+2 @@ -173,8 +173,8 @@ a = 1+2 #? 5 test(a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,5 +1,4 @@ x -a = 1+2 @@ -186,8 +186,8 @@ a = 1+2 #? 9 test(3, a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,3 @@ -a = 1+2 #? 9 @@ -198,8 +198,8 @@ a = 1|2 #? 5 (3, a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,3 @@ -a = 1|2 #? 5 @@ -210,8 +210,8 @@ a = 1 and 2 # foo #? 9 (3, 3 * a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,4 @@ -a = 1 and 2 # foo + # foo @@ -223,8 +223,8 @@ a = 1, 2 ; b = 3 #? 9 (3, 3 == a) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,4 @@ -a = 1, 2 ; b = 3 + b = 3 @@ -236,8 +236,8 @@ a = 1 + 2 #? 0 a.conjugate # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/inline.py -+++ /home/dave/source/jedi/test/refactor/inline.py +--- refactor/inline.py ++++ refactor/inline.py @@ -1,4 +1,3 @@ -a = 1 + 2 #? 0 diff --git a/test/refactor/rename.py b/test/refactor/rename.py index d027b9b7..e2d1db8d 100644 --- a/test/refactor/rename.py +++ b/test/refactor/rename.py @@ -15,8 +15,8 @@ def test1(): AssertionError return test1, test1.not_existing # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,6 +1,6 @@ -def test1(): +def blabla(): @@ -31,8 +31,8 @@ undefined_var #? 0 {'new_name': 'lala'} undefined_var # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,4 +1,4 @@ undefined_var #? 0 {'new_name': 'lala'} @@ -47,8 +47,8 @@ def y(): some_var = 3 some_var # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,7 +1,7 @@ def x(): #? 7 {'new_name': 'v'} @@ -67,8 +67,8 @@ mykeywordparam1(1) mykeywordparam1(param1=3) mykeywordparam1(x, param1=2) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,7 +1,7 @@ #? 22 {'new_name': 'lala'} -def mykeywordparam1(param1): @@ -88,8 +88,8 @@ mykeywordparam2(param1=3) #? 22 {'new_name': 'lala'} mykeywordparam2(x, param1=2) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,7 +1,7 @@ -def mykeywordparam2(param1): - str(param1) @@ -106,15 +106,15 @@ from import_tree.some_mod import foobar #? 0 {'new_name': 'renamed'} foobar # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/import_tree/some_mod.py -+++ /home/dave/source/jedi/test/refactor/import_tree/some_mod.py +--- refactor/import_tree/some_mod.py ++++ refactor/import_tree/some_mod.py @@ -1,4 +1,4 @@ -foobar = 3 +renamed = 3 inline_var = 5 + 3 ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,4 +1,4 @@ -from import_tree.some_mod import foobar +from import_tree.some_mod import renamed @@ -126,10 +126,10 @@ from import_tree import some_mod #? 0 {'new_name': 'renamedm'} some_mod # ++++++++++++++++++++++++++++++++++++++++++++++++++ -rename from /home/dave/source/jedi/test/refactor/import_tree/some_mod.py -rename to /home/dave/source/jedi/test/refactor/import_tree/renamedm.py ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +rename from refactor/import_tree/some_mod.py +rename to refactor/import_tree/renamedm.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,4 +1,4 @@ -from import_tree import some_mod +from import_tree import renamedm @@ -141,8 +141,8 @@ rename to /home/dave/source/jedi/test/refactor/import_tree/renamedm.py import undefined_import haha( undefined_import) # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,4 +1,4 @@ #? 20 {'new_name': 'lala'} -import undefined_import @@ -153,24 +153,24 @@ haha( undefined_import) #? 31 {'new_name': 'renamedm'} from import_tree.pkgx import pkgx # ++++++++++++++++++++++++++++++++++++++++++++++++++ ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/__init__.py -+++ /home/dave/source/jedi/test/refactor/import_tree/pkgx/__init__.py +--- refactor/import_tree/pkgx/__init__.py ++++ refactor/import_tree/pkgx/__init__.py @@ -1,3 +1,3 @@ -def pkgx(): +def renamedm(): pass ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/__init__.pyi -+++ /home/dave/source/jedi/test/refactor/import_tree/pkgx/__init__.pyi +--- refactor/import_tree/pkgx/__init__.pyi ++++ refactor/import_tree/pkgx/__init__.pyi @@ -1,2 +1,2 @@ -def pkgx() -> int: ... +def renamedm() -> int: ... ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/mod.pyi -+++ /home/dave/source/jedi/test/refactor/import_tree/pkgx/mod.pyi +--- refactor/import_tree/pkgx/mod.pyi ++++ refactor/import_tree/pkgx/mod.pyi @@ -1,2 +1,2 @@ -from . import pkgx +from . import renamedm ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,3 +1,3 @@ #? 31 {'new_name': 'renamedm'} -from import_tree.pkgx import pkgx @@ -179,15 +179,15 @@ from import_tree.pkgx import pkgx #? 18 {'new_name': 'renamedp'} from import_tree.pkgx # ++++++++++++++++++++++++++++++++++++++++++++++++++ -rename from /home/dave/source/jedi/test/refactor/import_tree/pkgx -rename to /home/dave/source/jedi/test/refactor/import_tree/renamedp ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/mod2.py -+++ /home/dave/source/jedi/test/refactor/import_tree/renamedp/mod2.py +rename from refactor/import_tree/pkgx +rename to refactor/import_tree/renamedp +--- refactor/import_tree/pkgx/mod2.py ++++ refactor/import_tree/renamedp/mod2.py @@ -1,2 +1,2 @@ -from .. import pkgx +from .. import renamedp ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,3 +1,3 @@ #? 18 {'new_name': 'renamedp'} -from import_tree.pkgx @@ -200,31 +200,31 @@ else: #? 4 {'new_name': 'rename'} pkgx # ++++++++++++++++++++++++++++++++++++++++++++++++++ -rename from /home/dave/source/jedi/test/refactor/import_tree/pkgx -rename to /home/dave/source/jedi/test/refactor/import_tree/rename ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/__init__.py -+++ /home/dave/source/jedi/test/refactor/import_tree/rename/__init__.py +rename from refactor/import_tree/pkgx +rename to refactor/import_tree/rename +--- refactor/import_tree/pkgx/__init__.py ++++ refactor/import_tree/rename/__init__.py @@ -1,3 +1,3 @@ -def pkgx(): +def rename(): pass ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/__init__.pyi -+++ /home/dave/source/jedi/test/refactor/import_tree/rename/__init__.pyi +--- refactor/import_tree/pkgx/__init__.pyi ++++ refactor/import_tree/rename/__init__.pyi @@ -1,2 +1,2 @@ -def pkgx() -> int: ... +def rename() -> int: ... ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/mod.pyi -+++ /home/dave/source/jedi/test/refactor/import_tree/rename/mod.pyi +--- refactor/import_tree/pkgx/mod.pyi ++++ refactor/import_tree/rename/mod.pyi @@ -1,2 +1,2 @@ -from . import pkgx +from . import rename ---- /home/dave/source/jedi/test/refactor/import_tree/pkgx/mod2.py -+++ /home/dave/source/jedi/test/refactor/import_tree/rename/mod2.py +--- refactor/import_tree/pkgx/mod2.py ++++ refactor/import_tree/rename/mod2.py @@ -1,2 +1,2 @@ -from .. import pkgx +from .. import rename ---- /home/dave/source/jedi/test/refactor/rename.py -+++ /home/dave/source/jedi/test/refactor/rename.py +--- refactor/rename.py ++++ refactor/rename.py @@ -1,7 +1,7 @@ if random_undefined_variable: - from import_tree.pkgx import pkgx