From d5e8a8afcd5ff66f50cbded40ba550ee4d50978b Mon Sep 17 00:00:00 2001 From: Jerome Reybert <jreybert@gmail.com> Date: Tue, 31 Oct 2017 13:56:30 +0100 Subject: [PATCH] WIP: discard visual selection it does not work as is... ref #148 --- autoload/magit/mapping.vim | 6 ++++-- plugin/magit.vim | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/autoload/magit/mapping.vim b/autoload/magit/mapping.vim index 6bffbf8..2407dd9 100644 --- a/autoload/magit/mapping.vim +++ b/autoload/magit/mapping.vim @@ -117,9 +117,11 @@ function! magit#mapping#set_default() call s:mg_set_mapping('n', g:magit_discard_hunk_mapping, \ "magit#stage_hunk(1)", '\<\%(un\)\?staged\>') call s:mg_set_mapping('n', g:magit_stage_line_mapping, - \ "magit#stage_vselect()", '\<\%(un\)\?staged\>') + \ "magit#stage_vselect(0)", '\<\%(un\)\?staged\>') call s:mg_set_mapping('x', g:magit_stage_hunk_mapping, - \ "magit#stage_vselect()", '\<\%(un\)\?staged\>') + \ "magit#stage_vselect(0)", '\<\%(un\)\?staged\>') + call s:mg_set_mapping('x', g:magit_discard_hunk_mapping, + \ "magit#stage_vselect(1)", '\<\%(un\)\?staged\>') call s:mg_set_mapping('n', g:magit_mark_line_mapping, \ "magit#mark_vselect()", '\<\%(un\)\?staged\>') call s:mg_set_mapping('x', g:magit_mark_line_mapping, diff --git a/plugin/magit.vim b/plugin/magit.vim index 0f1a975..638873e 100644 --- a/plugin/magit.vim +++ b/plugin/magit.vim @@ -1042,7 +1042,7 @@ endfunction " INFO: in unstaged section, it stages the file, and in staged section, it " unstages the file " return: no -function! magit#stage_vselect() range +function! magit#stage_vselect(discard) range " func-range a:firstline a:lastline seems to work at least from vim 7.2 let lines = [] let curline = a:firstline @@ -1063,7 +1063,7 @@ function! magit#stage_vselect() range echomsg "https://github.com/jreybert/vimagit/issues/new" return endtry - return magit#stage_block(selection, 0) + return magit#stage_block(selection, a:discard) endfunction " magit#mark_vselect: wrapper function to mark selected lines (see -- GitLab