Commit Graph

966 Commits

Author SHA1 Message Date
Tim Pope
66073d955d Use blamed file when calling :Gbrowse in blame buffer 2019-02-25 14:18:36 -05:00
bennyyip
1a3c04585b Gblame: allow passing --relative-date 2019-02-23 19:38:43 -05:00
Tim Pope
ad32eae7e2 Override color.ui=always
Closes https://github.com/tpope/vim-fugitive/issues/1217
2019-02-23 18:11:31 -05:00
Tim Pope
c5d8b25c5e Don't repeatedly trigger FocusGained on win32
References https://github.com/tpope/vim-fugitive/issues/1209
2019-02-23 15:21:30 -05:00
Tim Pope
f259fd5d6d Provide "i"
This is a weird one, and might get axed.
2019-02-21 13:28:10 -05:00
Tim Pope
755554bb3c Sort untracked files before unstaged files 2019-02-21 13:28:10 -05:00
Tim Pope
28a03d0b00 Provide option for status reloading
Closes https://github.com/tpope/vim-fugitive/issues/1209
2019-02-21 13:28:10 -05:00
Tim Pope
8caa4a0ba3 Try J/K for next/previous
I'm also entertaining using J to toggle the "squash" instruction in an
interactive rebase, so no documentation for these yet.
2019-02-21 12:39:16 -05:00
Tim Pope
01b9a645b6 Provide checkout --ours/--theirs on X
Closes https://github.com/tpope/vim-fugitive/issues/954
2019-02-20 23:49:41 -05:00
Tim Pope
74aefa53ac Support X on newly added file
Closes https://github.com/tpope/vim-fugitive/issues/1212
2019-02-20 23:49:41 -05:00
Tim Pope
654f7f5432 Support "." in visual mode 2019-02-20 23:41:32 -05:00
Tim Pope
26cf153e76 Refactor status spaghetti into dispatch mechanism 2019-02-18 17:26:39 -05:00
Tim Pope
15fb5f68ad Remove duplicate q map 2019-02-18 14:02:33 -05:00
Tim Pope
a489c6e1d3 Fix reveal of hunks on CTRL-N 2019-02-13 21:01:19 -05:00
Tim Pope
02c26619c4 Remove duplicate help tag
These should be unified, but for now, --patch is just stealing the
spotlight from inline diffs, so I won't shed any tears over dropping its
help tag.

Closes https://github.com/tpope/vim-fugitive/issues/1203
2019-02-12 15:58:53 -05:00
Tim Pope
e9705826bd Trailing whitespace 2019-02-12 11:19:18 -05:00
Tim Pope
8c33bdfc26 Update :Gstatus description in README
This still doesn't do it justice, but it's a step in the right
direction.
2019-02-12 11:06:12 -05:00
Tim Pope
b3de2f2284 Handle mysterious tab at the end of a diff filename with spaces
Closes https://github.com/tpope/vim-fugitive/issues/1202
2019-02-12 10:39:24 -05:00
Tim Pope
5c5581386f Redo :Gstatus documentation 2019-02-11 13:22:47 -05:00
Tim Pope
817fc15287 Remove comment 2019-02-11 09:06:14 -05:00
Brennen Bearnes
ce8ddf37fc Fix autocmds & alternate file handling for "index"
This commit tweaks the existing autocommand for files matching
`index{,.lock}` to:

  - Fire BufReadPre and BufReadPost on either side of the read
    operation for files not in a `.git/` and already extant.
  - Fire BufNewFile for new files not in a `.git`.
  - Add `keepalt` to the `read`, thus allowing alternative file
    operations such as Ctrl-^ to work correctly.

Has been tested against:

  - BufReadPost,BufNewFile autocommands
  - A basic test case for alternate files where one is named `index`

Closes https://github.com/tpope/vim-fugitive/issues/834

Closes https://github.com/tpope/vim-fugitive/issues/959
2019-02-11 09:05:36 -05:00
Tim Pope
7cb2ca81e3 Use current window for :0Gsplit
This is to enable :0Gsplit! to replace :Git!, opening that command up
for something more useful.
2019-02-10 18:49:04 -05:00
Tim Pope
0727261b38 Fix current line assumption 2019-02-10 18:49:04 -05:00
Tim Pope
489201879b Eliminate s:StageReloadSeek() 2019-02-10 18:49:04 -05:00
Tim Pope
8899468c09 Handle git --version with (Apple ...) suffix
References https://github.com/tpope/vim-fugitive/issues/1194
2019-02-06 15:54:00 -05:00
Tim Pope
ed07f9a503 Guard against status reloading in wrong buffer
Closes https://github.com/tpope/vim-fugitive/issues/1191
2019-02-03 01:58:29 -05:00
Henrique Malheiro
c98d3cf38f Fix bug in excluding Gstatus window from reuse
When Gstatus is the only window, executing Gdiff results in the Gstatus
being reused for the diff split.

Closes https://github.com/tpope/vim-fugitive/issues/853
2019-02-02 13:02:41 -05:00
David Briscoe
3304c14c63 Move filetype to after maps to allow user maps
The easiest way for users to define their own maps in Gstatus buffers is
using a ftplugin/fugitive.vim file with a `b:fugitive_type != 'index'`
guard. Setting the filetype after defining the maps allows users to
maniuplate "dangerous" maps and otherwise customize mappings.

For example, in ~/.vim/after/ftplugin/fugitive.vim:

    if !exists('g:loaded_fugitive') || b:fugitive_type != 'index'
        finish
    endif

    " Use s to stage *and* unstage changes: shadows -.
    nmap <buffer> <silent> s -
    xmap <buffer> <silent> s -

    " I hit this by accident.
    nunmap <buffer> X
2019-01-31 01:43:18 -05:00
Tim Pope
d27dbc40d4 Respect 'splitbelow' in :Gstatus
References https://github.com/tpope/vim-fugitive/issues/1169
2019-01-27 07:53:13 -05:00
John Drouhard
50cf1b3bd1 Fix s:Cd() usage in the Gblame command
Most usages in commit da3b2f32 (Support tab local working directories)
were updated to use this pattern, but Gblame missed the boat. Without
this, Gblame will change the root git tree but won't change back to the
previous location.
2019-01-27 05:26:00 -05:00
Tim Pope
8b32524219 Don't force foldtext for status buffer
Closes https://github.com/tpope/vim-fugitive/issues/1183
2019-01-26 03:55:33 -05:00
Tim Pope
5a7f5967e7 Don't set readonly globally 2019-01-24 14:11:07 -05:00
Tim Pope
552baf98b3 Support git grep --column
Closes
https://github.com/tpope/vim-fugitive/issues/1168
2019-01-13 15:17:09 -05:00
Tim Pope
58a4a2e102 Provide Git version comparison API 2019-01-13 15:17:09 -05:00
Maksim Odnoletkov
8bf74ceef3 Make all maps reblame at index when on dirty lines
Otherwise parent and grandparent maps lead to invalid URLs
2019-01-11 23:00:29 -05:00
Tim Pope
fe467f78bc Allow ShellCmdPost to fire inside :Make
This was trying to block `au QuickFixCmdPost * copen` as it interfered
with restoring the working directory, but that was mainly a concern for
the other half of the conditional, so restore it to enable the status
buffer to reload.
2019-01-11 14:11:25 -05:00
Tim Pope
07845537d7 Fix :belowright Gstatus
Closes https://github.com/tpope/vim-fugitive/issues/1169
2019-01-11 13:58:40 -05:00
Tim Pope
ddc5e1a21a Reload status after :Gpush and :Gfetch
So :make does indeed invoke ShellCmdPost.  I just forgot about the
:noautocmd.

Closes https://github.com/tpope/vim-fugitive/issues/1166
2019-01-09 20:00:35 -05:00
Tim Pope
9211b11cd2 Use native edit commands in :Gstatus
This lets the :topleft modification kick in on older versions of Vim.
2019-01-09 15:00:36 -05:00
Tim Pope
6e74463965 Run :Gstatus edit command at top level
This results in a cleaner error when calling :edit in a modified file.
2019-01-09 14:57:07 -05:00
Tim Pope
b8a6fd204c Always default to horizontal split for :Gstatus
Closes https://github.com/tpope/vim-fugitive/issues/1163
2019-01-09 14:03:43 -05:00
Tim Pope
75ca90739b Ignore warnings in git status --porcelain 2019-01-09 14:03:43 -05:00
Tim Pope
5a1c8bbe46 Reload status on all quickfix commands
I thought that I had confirmed :make triggered ShellCmdPost but
apparently not.

Closes https://github.com/tpope/vim-fugitive/issues/1166
2019-01-09 14:03:43 -05:00
Tim Pope
bb46630828 Clarify that removal notices need to be fixed at the source 2019-01-07 11:30:04 -05:00
Tim Pope
c448104332 Fix :Gread deleting too much due to closed folds 2019-01-07 10:23:17 -05:00
Tim Pope
441074f881 Fix unstaging a deleted file
Apparently the -- is mandatory if the file no longer exists.

Closes https://github.com/tpope/vim-fugitive/issues/1161
2019-01-07 10:23:17 -05:00
Tim Pope
68cd7ecf71 Add simple rebase maps
Leaving undocumented until the rebase functionality is more fleshed out.
2019-01-06 01:58:15 -05:00
Tim Pope
fbeb9d6793 Use appropriate message for :Glog --walk-reflogs 2019-01-06 01:58:15 -05:00
Tim Pope
07f4f8d2a9 Don't set global value of 'modifiable' 2019-01-06 01:58:15 -05:00
Tim Pope
29f16cd924 Deprecate :Glog defaulting to current file 2019-01-05 14:08:01 -05:00