From 1a8271f194ac644a8eeed90ada9013a1a11d0948 Mon Sep 17 00:00:00 2001 From: "LAPTOP-G43MA5MO\\ekarni" Date: Sun, 5 Dec 2021 22:50:28 +0200 Subject: [PATCH 1/5] handle curbuf --- pythonx/netranger/netranger.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/pythonx/netranger/netranger.py b/pythonx/netranger/netranger.py index a066cfc..d07741a 100644 --- a/pythonx/netranger/netranger.py +++ b/pythonx/netranger/netranger.py @@ -1091,9 +1091,33 @@ class Netranger(object): 1. BufEnter: on_bufenter. create/update NetRangerBuf. 2. CursorMoved: on_cursormoved. update node highlighting and some othe stuff. """ + def generate_and_ret_buf(self): + bufname = Vim.current.buffer.name + if len(bufname) > 0 and bufname[-1] == '~': + bufname = os.path.expanduser('~') + if not os.path.isdir(bufname): + return + if os.path.islink(bufname): + bufname = os.path.join(os.path.dirname(bufname), + os.readlink(bufname)) + bufname = os.path.abspath(bufname) + + # if self.buf_existed(bufname): + # self._bufs[Vim.current.buffer.number] = self._wd2bufnum[bufname] + # else: + self.gen_new_buf(bufname) + + return self._bufs[Vim.current.buffer.number] + + + + @property def cur_buf(self): - return self._bufs[Vim.current.buffer.number] + if Vim.current.buffer.number in self._bufs: + return self._bufs[Vim.current.buffer.number] + else: + return self.generate_and_ret_buf() @property def cur_node(self): From 33a504e098f22a6f951d7c56bbd18428c0daab40 Mon Sep 17 00:00:00 2001 From: "LAPTOP-G43MA5MO\\ekarni" Date: Sun, 5 Dec 2021 22:54:01 +0200 Subject: [PATCH 2/5] fixing windows 1 --- pythonx/netranger/netranger.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pythonx/netranger/netranger.py b/pythonx/netranger/netranger.py index d07741a..8045387 100644 --- a/pythonx/netranger/netranger.py +++ b/pythonx/netranger/netranger.py @@ -406,6 +406,8 @@ def abbrev_cwd(self, width): if len(res) <= width: return res.ljust(width) + res=res.replace('\\','/') #windows + sp = res.split('/') szm1 = len(sp) - 1 total = 2 * (szm1) + len(sp[-1]) From 620582d254eb76e6112c0f44d38b8c4cecd87916 Mon Sep 17 00:00:00 2001 From: "LAPTOP-G43MA5MO\\ekarni" Date: Sun, 5 Dec 2021 22:55:11 +0200 Subject: [PATCH 3/5] missing return --- pythonx/netranger/netranger.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pythonx/netranger/netranger.py b/pythonx/netranger/netranger.py index 8045387..e5522f8 100644 --- a/pythonx/netranger/netranger.py +++ b/pythonx/netranger/netranger.py @@ -420,6 +420,7 @@ def abbrev_cwd(self, width): return '/'.join(sp).ljust(width) else: total += len(sp[i]) - 1 + return res[-1 * width:] def redraw_header_content(self): self._header_node.name = self.abbrev_cwd(self.winwidth).strip() From fd44a57ef25f7ce0928c96ae6629999b3678fb0b Mon Sep 17 00:00:00 2001 From: "LAPTOP-G43MA5MO\\ekarni" Date: Sun, 5 Dec 2021 22:57:43 +0200 Subject: [PATCH 4/5] adding silent --- pythonx/netranger/netranger.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pythonx/netranger/netranger.py b/pythonx/netranger/netranger.py index e5522f8..696de3f 100644 --- a/pythonx/netranger/netranger.py +++ b/pythonx/netranger/netranger.py @@ -859,16 +859,16 @@ def _close_last_previewee(self): return if is_DIR: - Vim.command(f'{win_nr}hide') + Vim.command(f'silent! {win_nr}hide') else: if Vim.eval(f'getbufvar({bufnr}, "&buftype")') == 'terminal': - Vim.command(f'bwipeout! {bufnr}') + Vim.command(f'silent! bwipeout! {bufnr}') elif Vim.eval(f'getbufvar({bufnr}, "&modified")') == '1': - Vim.command(f'{win_nr}hide') + Vim.command(f'silent! {win_nr}hide') elif len(Vim.eval(f'win_findbuf({bufnr})')) > 1: - Vim.command(f'{win_nr}hide') + Vim.command(f'silent! {win_nr}hide') else: - Vim.command(f'bwipeout! {bufnr}') + Vim.command(f'silent! bwipeout! {bufnr}') def preview_on(self): """ Turn preview panel on. """ From 2740cb43836272434709ee75c8495b7dd1ad1704 Mon Sep 17 00:00:00 2001 From: "LAPTOP-G43MA5MO\\ekarni" Date: Sun, 5 Dec 2021 22:24:55 +0200 Subject: [PATCH 5/5] fixing issue #43, windows file operation not working --- pythonx/netranger/fs.py | 5 +++-- pythonx/netranger/util.py | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pythonx/netranger/fs.py b/pythonx/netranger/fs.py index 4d4b9ef..78fd6f3 100644 --- a/pythonx/netranger/fs.py +++ b/pythonx/netranger/fs.py @@ -178,11 +178,11 @@ def on_stderr(job_id, err_msg): pickle.dump(arguments, f) if sudo: - Vim.AsyncRun('sudo {} {} {}'.format(self.ServerCmd, cmd, fname), + Vim.AsyncRun('sudo {} {} {}'.format(self.ServerCmd, cmd, fname).replace('\\','\\\\'), on_exit=on_exit, term=True) else: - Vim.AsyncRun('{} {} {}'.format(self.ServerCmd, cmd, fname), + Vim.AsyncRun('{} {} {}'.format(self.ServerCmd, cmd, fname).replace('\\','\\\\'), on_stderr=on_stderr, on_exit=on_exit) @@ -197,6 +197,7 @@ def mv(self, src_arr, dst, sudo=False, on_exit=None): @classmethod def cp(self, src_arr, dst, sudo=False, on_exit=None): + print("uuu",src_arr,dst) self.exec_server_cmd('cp', on_exit, { 'src': src_arr, diff --git a/pythonx/netranger/util.py b/pythonx/netranger/util.py index 7562e64..5449650 100644 --- a/pythonx/netranger/util.py +++ b/pythonx/netranger/util.py @@ -4,6 +4,10 @@ def GenNetRangerScriptCmd(script): python = sys.executable - path = os.path.join(os.path.dirname(os.path.abspath(__file__)), + if os.name == 'nt': + path = os.path.join(os.path.dirname(os.path.abspath(__file__)), + f'..\\{script}.py') + else: + path = os.path.join(os.path.dirname(os.path.abspath(__file__)), f'../{script}.py') return f'{python} {path}'