5 Commits

Author SHA1 Message Date
Tama McGlinn
20cdd4ca61 Merge 29075ed079 into d74a7cff4c 2025-01-24 11:30:46 +01:00
Tim Pope
d74a7cff4c Add cW map as commit --fixup=reword:
References: https://github.com/tpope/vim-fugitive/pull/2369
2025-01-20 01:35:07 -05:00
Tim Pope
f4e8453ce7 Replace cA map with cn
Following Magit's lead.

References: https://github.com/tpope/vim-fugitive/pull/2369
2025-01-20 01:35:07 -05:00
Tim Pope
de42a732ee Fix help tag for g?
References: https://github.com/tpope/vim-fugitive/issues/2320
2025-01-20 01:21:42 -05:00
Tama McGlinn
29075ed079 Allow X on section headers
This reversibly throws away the changes.

Fixes #2063
2022-10-13 08:27:58 +02:00
2 changed files with 25 additions and 10 deletions

View File

@@ -5079,7 +5079,17 @@ function! s:StageDelete(lnum1, lnum2, count) abort
let did_conflict_err = 0
let reset_commit = matchstr(getline(a:lnum1), '^Un\w\+ \%(to\| from\) \zs\S\+')
try
for info in s:Selection(a:lnum1, a:lnum2)
let selection=s:Selection(a:lnum1, a:lnum2)
if empty(selection)
" if empty, check if we were on a section header
let first_line = getline(a:lnum1)
if first_line =~# '^\(\|Staged\|Unstaged\|Untracked\) ([0-9]*)$'
let end_of_section = search('^$', 'n')
" if so, select the whole section
let selection=s:Selection(a:lnum1+1, end_of_section)
endif
endif
for info in selection
if empty(info.paths)
if len(info.commit)
let reset_commit = info.commit . '^'
@@ -5191,7 +5201,7 @@ function! s:DoToggleHeadHeader(value) abort
endfunction
function! s:DoToggleHelpHeader(value) abort
exe 'help fugitive-map'
exe 'help fugitive-maps'
endfunction
function! s:DoStagePushHeader(value) abort
@@ -7917,6 +7927,7 @@ function! s:MapGitOps(is_ftplugin) abort
exe s:Map('n', 'cc', ':<C-U>Git commit<CR>', '<silent>', ft)
exe s:Map('n', 'ce', ':<C-U>Git commit --amend --no-edit<CR>', '<silent>', ft)
exe s:Map('n', 'cw', ':<C-U>Git commit --amend --only<CR>', '<silent>', ft)
exe s:Map('n', 'cW', ':<C-U>Git commit --fixup=reword:<C-R>=<SID>SquashArgument()<CR>', '', ft)
exe s:Map('n', 'cva', ':<C-U>tab Git commit -v --amend<CR>', '<silent>', ft)
exe s:Map('n', 'cvc', ':<C-U>tab Git commit -v<CR>', '<silent>', ft)
exe s:Map('n', 'cRa', ':<C-U>Git commit --reset-author --amend<CR>', '<silent>', ft)
@@ -7926,7 +7937,8 @@ function! s:MapGitOps(is_ftplugin) abort
exe s:Map('n', 'cF', ':<C-U><Bar>Git -c sequence.editor=true rebase --interactive --autosquash<C-R>=<SID>RebaseArgument()<CR><Home>Git commit --fixup=<C-R>=<SID>SquashArgument()<CR>', '', ft)
exe s:Map('n', 'cs', ':<C-U>Git commit --no-edit --squash=<C-R>=<SID>SquashArgument()<CR>', '', ft)
exe s:Map('n', 'cS', ':<C-U><Bar>Git -c sequence.editor=true rebase --interactive --autosquash<C-R>=<SID>RebaseArgument()<CR><Home>Git commit --no-edit --squash=<C-R>=<SID>SquashArgument()<CR>', '', ft)
exe s:Map('n', 'cA', ':<C-U>Git commit --edit --squash=<C-R>=<SID>SquashArgument()<CR>', '', ft)
exe s:Map('n', 'cn', ':<C-U>Git commit --edit --squash=<C-R>=<SID>SquashArgument()<CR>', '', ft)
exe s:Map('n', 'cA', ':<C-U>echoerr "Use cn"<CR>', '<silent><unique>', ft)
exe s:Map('n', 'c?', ':<C-U>help fugitive_c<CR>', '<silent>', ft)
exe s:Map('n', 'cr<Space>', ':Git revert<Space>', '', ft)
@@ -8045,8 +8057,8 @@ function! fugitive#MapJumps(...) abort
call s:Map('n', '.', ":<C-U> <C-R>=<SID>fnameescape(fugitive#Real(@%))<CR><Home>")
call s:Map('x', '.', ":<C-U> <C-R>=<SID>fnameescape(fugitive#Real(@%))<CR><Home>")
call s:Map('n', 'g?', ":<C-U>help fugitive-map<CR>", '<silent>')
call s:Map('n', '<F1>', ":<C-U>help fugitive-map<CR>", '<silent>')
call s:Map('n', 'g?', ":<C-U>help fugitive-maps<CR>", '<silent>')
call s:Map('n', '<F1>', ":<C-U>help fugitive-maps<CR>", '<silent>')
endif
let old_browsex = maparg('<Plug>NetrwBrowseX', 'n')

View File

@@ -465,15 +465,18 @@ Commit maps ~
cc Create a commit.
cvc Create a commit with -v.
ca Amend the last commit and edit the message.
cva Amend the last commit with -v.
ce Amend the last commit without editing the message.
cw Reword the last commit.
cvc Create a commit with -v.
cva Amend the last commit with -v
cW Create an `amend!` commit that rewords the commit
under the cursor.
cf Create a `fixup!` commit for the commit under the
cursor.
@@ -487,8 +490,8 @@ cs Create a `squash!` commit for the commit under the
cS Create a `squash!` commit for the commit under the
cursor and immediately rebase it.
cA Create a `squash!` commit for the commit under the
cursor and edit the message.
cn Create a `squash!` commit for the commit under the
(formerly cA) cursor and edit the message.
c<Space> Populate command line with ":Git commit ".