Skip to content

Commit

Permalink
Enable - on headings in :Gstatus
Browse files Browse the repository at this point in the history
  • Loading branch information
tpope committed Apr 24, 2011
1 parent a71120c commit 3366704
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 7 deletions.
12 changes: 7 additions & 5 deletions doc/fugitive.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,13 @@ that are part of Git repositories).
:Gstatus Bring up the output of git-status in the preview
window. In addition to standard motions, you can
use <C-N> and <C-P> to jump from filename to
filename. Press D to |:Gdiff| the file on the cursor
line, or ds to |:Gsdiff|. Press - to stage or unstage
the file on the cursor line. Press p to do so on a
per hunk basis (--patch). Press C to invoke
|:Gcommit|.
filename. Press C to invoke |:Gcommit|. Press D to
|:Gdiff| the file on the cursor line, or ds to
|:Gsdiff|. Press - to stage or unstage the file on
the cursor line. Press p to do so on a per hunk basis
(--patch). All of D, -, and p have a different,
sensible (and hopefully intuitive) behavior when
invoked on a heading rather than a file name.

*fugitive-:Gcommit*
:Gcommit [args] A wrapper around git-commit. If there is nothing
Expand Down
26 changes: 24 additions & 2 deletions plugin/fugitive.vim
Original file line number Diff line number Diff line change
Expand Up @@ -592,8 +592,30 @@ function! s:StageToggle(lnum1,lnum2) abort
let output = ''
for lnum in range(a:lnum1,a:lnum2)
let line = getline(lnum)
if getline('.') == '# Changes to be committed:'
return 'Gcommit'
if line ==# '# Changes to be committed:'
call s:repo().git_chomp_in_tree('reset','-q')
silent! edit!
1
if !search('^# Untracked files:$','W')
call search('^# Change','W')
endif
return ''
elseif line =~# '^# Change\%(d but not updated\|s not staged for commit\):$'
call s:repo().git_chomp_in_tree('add','-u')
silent! edit!
1
if !search('^# Untracked files:$','W')
call search('^# Change','W')
endif
return ''
elseif line ==# '# Untracked files:'
call s:repo().git_chomp_in_tree('add','-N','.')
silent! edit!
1
if !search('^# Change\%(d but not updated\|s not staged for commit\):$','W')
call search('^# Change','W')
endif
return ''
endif
let filename = matchstr(line,'^#\t\%([[:alpha:] ]\+: *\)\=\zs.\{-\}\ze\%( (new commits)\)\=$')
if filename ==# ''
Expand Down

0 comments on commit 3366704

Please sign in to comment.