From 09485c12bdb4b9981451e29d9f3aa52bdb07a97e Mon Sep 17 00:00:00 2001 From: lclrc Date: Fri, 23 Jul 2021 17:58:28 +0800 Subject: [PATCH 1/2] Pass selection tempfile path to nnn command Make select action of nnn's plugin(like chksum, diffs etc.) works in nnn.vim. --- autoload/nnn.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/autoload/nnn.vim b/autoload/nnn.vim index dbba351..53c7a39 100644 --- a/autoload/nnn.vim +++ b/autoload/nnn.vim @@ -366,6 +366,7 @@ function! nnn#pick(...) abort let l:sess_cfg = ' ' endif + let g:nnn#command = 'NNN_SEL='.shellescape(s:temp_file).' '.g:nnn#command let l:cmd = g:nnn#command.l:sess_cfg.' -p '.shellescape(s:temp_file).' '.(l:directory != '' ? shellescape(l:directory): '') let l:layout = exists('l:opts.layout') ? l:opts.layout : g:nnn#layout From 5f4907cc36b64af946cb308f32fde974b8296dd1 Mon Sep 17 00:00:00 2001 From: lclrc Date: Thu, 29 Jul 2021 13:49:31 +0800 Subject: [PATCH 2/2] Move NNN_SEL to terminal env when it was created. --- autoload/nnn.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/autoload/nnn.vim b/autoload/nnn.vim index 53c7a39..3ff8d6d 100644 --- a/autoload/nnn.vim +++ b/autoload/nnn.vim @@ -264,7 +264,10 @@ endfunction function! s:create_term_buf(opts) if has("nvim") - call termopen([g:nnn#shell, &shellcmdflag, a:opts.cmd], {'on_exit': a:opts.on_exit }) + call termopen([g:nnn#shell, &shellcmdflag, a:opts.cmd], { + \ 'env': { 'NNN_SEL': s:temp_file }, + \ 'on_exit': a:opts.on_exit + \ }) startinsert return bufnr('') else @@ -272,6 +275,7 @@ function! s:create_term_buf(opts) let l:hidden = get(a:opts, 'hidden', 0) let l:Exit_cb = get(a:opts, 'on_exit') let l:tbuf = term_start([g:nnn#shell, &shellcmdflag, a:opts.cmd], { + \ 'env': { 'NNN_SEL': s:temp_file }, \ 'curwin': l:curwin, \ 'hidden': l:hidden, \ 'exit_cb': l:Exit_cb @@ -366,7 +370,6 @@ function! nnn#pick(...) abort let l:sess_cfg = ' ' endif - let g:nnn#command = 'NNN_SEL='.shellescape(s:temp_file).' '.g:nnn#command let l:cmd = g:nnn#command.l:sess_cfg.' -p '.shellescape(s:temp_file).' '.(l:directory != '' ? shellescape(l:directory): '') let l:layout = exists('l:opts.layout') ? l:opts.layout : g:nnn#layout