Commit Graph

1782 Commits

Author SHA1 Message Date
Tim Pope
b714adbc51 Fix q deprecation message 2019-08-21 09:12:17 -05:00
Tim Pope
9abe962c9d fugitive.vim 3.0
* Use custom format for :Gstatus, not literal git status output.
* Inline diffing in :Gstatus, with support for staging individual hunks.
* List unpushed and unpulled commits in :Gstatus.
* Show rebase status in :Gstatus.
* Greatly expanded set of mappings in :Gstatus. Try g?, c?, and r?.
* :Gstatus p (add --patch) is changed to P.
* :Gstatus U (checkout/clean) is changed to X. New U behavior is global reset.
* :Gstatus 2X/3X performs checkout --ours/--theirs.
* :Gstatus gI ignores file.
* Smarter :Gstatus automatic reload.
* :Git subcommand calls :Gsubcommand when appropriate.
* :Git add --patch and similar commands use :terminal.
* :Git diff, :Git log, and :Git --no-pager display results in temp buffer.
* :Git and subcommand wrappers use custom quoting rather than shell escaping.
* :Git ... ./path is relative to working directory.
* Add --option completion to :Git and git wrappers.
* Provide :G as wrapper for both :Gstatus and :Git.
* Support for :Grebase --interactive.
* :Gblame accepts all arguments, including filenames and commits.
* Support :Gblame --reverse to navigate forwards through history.
* Support :Gblame with range to blame subset of current file.
* Allow disabling dynamic blame colors with let g:fugitive_dynamic_colors = 0.
* :Glog opens quickfix list instead of displaying raw log output.
* Cleaner :Glog quickfix list leveraging Vim's new "module" format.
* :Glog no longer defaults to current file.  Use :0Glog for that.
* :0Glog follows file across renames.
* :Glog name softly deprecated in favor of :Gclog (named after :cfile).
* Provide :Grevert.
* :Gdiff renamed to :Gdiffsplit.
* :Gdiffsplit always opens one window.  Use :Gdiffsplit! for conflicts.
* Support git grep --column.
* Chdir with git -C rather than :cd for most commands. (Git 1.8.5 required)
* Show all stderr hook output on :Gcommit.
* Provide core.askPass default for Gpush and friends.
* Require bang to :Gwrite from index.
* Bug fixes.
* Polish.
v3.0
2019-08-20 10:06:56 -04:00
Tim Pope
b6bbb17e3f Expose IO functions as object
This is a new interface to a slightly older API for performing standard
VimL IO functions against URLs (or any other URLs, the interface is
generic).  Example wrapper function:

       function! IO(fn, ...) abort
         let file = a:fn ==# 'writefile' ? a:2 : a:1
         let obj = get(g:, 'io_' . matchstr(file, '^\a\a\+'), {})
         return call(get(obj, a:fn, a:fn), a:000)
       endfunction
       echo IO('filereadable', @%)
2019-08-20 08:51:52 -04:00
Tim Pope
9dcf1d7d81 Document important API functions 2019-08-20 08:51:52 -04:00
Tim Pope
a510b3aadf Deprecate :Gstatus q 2019-08-20 08:51:52 -04:00
Tim Pope
c63fd1b71b Support a...b as notation for merge base
Closes https://github.com/tpope/vim-fugitive/pull/913
2019-08-19 11:25:39 -04:00
Tim Pope
e768806266 Remove obsolete Git object examples 2019-08-19 11:22:52 -04:00
Tim Pope
f29298880f Provide FugitiveGitPath() 2019-08-19 09:04:32 -04:00
Tim Pope
2b6199594a Use FugitiveVimPath() to normalize directories during detection 2019-08-19 09:04:32 -04:00
Tim Pope
fd7b5d8a1e Rename s:PlatformSlash() to FugitiveVimPath() 2019-08-19 08:41:15 -04:00
Tim Pope
e759a85486 Provide separate highlight groups for file sections
References https://github.com/tpope/vim-fugitive/issues/1159
2019-08-19 08:05:22 -04:00
Tim Pope
85ffe4754e Remove dead code 2019-08-19 06:42:44 -04:00
Tim Pope
c242cb6369 Provide maps to find similar diff lines 2019-08-18 10:53:21 -04:00
Tim Pope
ff058bf5b7 Fix diff after :Gwrite
This works around a bug in Vim that was fixed in patch 8.0.0421.

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

References https://github.com/tpope/vim-fugitive/pull/859
2019-08-18 10:53:20 -04:00
Tim Pope
ed6f4256fc Change work tree buffer on :Gwrite exactly once 2019-08-18 09:11:10 -04:00
Tim Pope
1c22b69652 Remove dp map in blobs
The built-in is actually useful so don't shadow it.
2019-08-18 09:11:10 -04:00
Tim Pope
52f71a3154 Follow renames on :0Gclog
Closes https://github.com/tpope/vim-fugitive/issues/563
2019-08-18 07:18:17 -04:00
Tim Pope
fdbcad0624 Allow expanding merge conflict in :Gstatus
Closes https://github.com/tpope/vim-fugitive/issues/1242
2019-08-18 04:58:59 -04:00
Tim Pope
bbd9afe790 Provide map to close diff buffers 2019-08-18 04:58:59 -04:00
Tim Pope
f2ca0e43a1 Give s:MapEx() more intention revealing name 2019-08-18 04:58:59 -04:00
Tim Pope
25581bf775 Support discarding multiple changes in visual mode
Closes https://github.com/tpope/vim-fugitive/issues/944
2019-08-18 01:51:38 -04:00
Tim Pope
e69a3ea21a Add nested to reload status autocommands
References https://github.com/tpope/vim-fugitive/pull/889
2019-08-17 08:43:21 -04:00
Tim Pope
442d56e23c Fix :Glog 2019-08-16 13:48:46 -04:00
Daniel Hahler
cb613ca05d Fix :Gdiffsplit with diffopt+=vertical
Only remove "vertical" from `&diffopt` after calling
`s:diff_modifier()`.

Regressed in c972b2a.
References https://github.com/tpope/vim-fugitive/pull/805#issuecomment-522057790.
2019-08-16 13:40:53 -04:00
Tim Pope
d6f7eaf16c Compensate for 'noequalalways' in merge diff
Closes https://github.com/tpope/vim-fugitive/issues/674
2019-08-16 07:08:05 -04:00
Tim Pope
b6dbe402e8 Fix :Glog with diff.noprefix set
Closes https://github.com/tpope/vim-fugitive/issues/606
2019-08-16 07:08:05 -04:00
Tim Pope
86c276d629 Fix version check for doautocmd <nomodeline> 2019-08-16 07:08:05 -04:00
Felix Archambault
22e9b26075 doc: prefer https url 2019-08-15 22:59:49 -04:00
Tim Pope
2518ef9a02 Map double click to jump to file
References https://github.com/tpope/vim-fugitive/pull/620
2019-08-15 22:58:37 -04:00
Tim Pope
bb82255490 Add :help reference to README 2019-08-15 22:46:36 -04:00
Tim Pope
a8163625f8 Vim automatically sets cursorbind for diff buffers
References https://github.com/tpope/vim-fugitive/pull/937
2019-08-15 22:39:04 -04:00
Tim Pope
7079d0c7e2 Convert all FugitivePrepare() int arguments to buffer names 2019-08-15 22:01:27 -04:00
Tim Pope
4f51d99f44 Encapsulate shell escaping user arguments 2019-08-15 22:01:27 -04:00
Tim Pope
c972b2a065 Fix :Ghdiffsplit with diffopt=vertical
Closes https://github.com/tpope/vim-fugitive/issues/990
2019-08-15 19:40:46 -04:00
Tim Pope
cf9ef7377f Don't process modelines after :Gwrite
Closes https://github.com/tpope/vim-fugitive/issues/956
2019-08-15 17:53:27 -04:00
Tim Pope
45ca1eab83 Use platform slashes for :Gcd
The only current difference is backslashes on Windows, which aren't
required, but this may evolve into larger changes in the future.
2019-08-15 17:53:27 -04:00
Tim Pope
a80b965d0d Remove legacy support for /relative/path 2019-08-15 17:53:27 -04:00
Tim Pope
03361373b1 Fix :Gstatus U map 2019-08-15 17:53:13 -04:00
Tim Pope
6a04e875f8 Provide diff maps in blobs 2019-08-15 11:49:54 -04:00
Tim Pope
557cc74141 Fix syntax error
Closes https://github.com/tpope/vim-fugitive/issues/1310
2019-08-15 11:49:54 -04:00
Tim Pope
b887de5ce2 Don't reuse blame buffers for Gstatus edits 2019-08-15 03:47:13 -04:00
Tim Pope
6cc52a1aab Fix extra bang in diff maps 2019-08-15 03:47:13 -04:00
Tim Pope
faa895239b Clean up gitdir file parsing 2019-08-15 03:34:00 -04:00
Tim Pope
6eb885c017 Always diff against parents in :Gdiffsplit! 2019-08-14 11:06:42 -04:00
Tim Pope
308e4bf241 Fix temp file gq shadowing blame gq 2019-08-14 09:38:39 -04:00
Tim Pope
7d484eaf52 Use s:Map() for nearly all maps 2019-08-14 09:38:39 -04:00
Tim Pope
34bfcd471b Fix error generating command for :'<,'>Gblame
Closes https://github.com/tpope/vim-fugitive/issues/1308
2019-08-14 09:38:39 -04:00
Tim Pope
1d2821f91e Clarify :Gstatus p behavior
I've seen a lot of confusion in the wild around this, and the old
behavior is immortalized in the Vimcasts.  Lets make this an error while
we regroup.
2019-08-14 01:44:13 -04:00
Tim Pope
53e5e61afa Emphasize :Glog behavior change
Let's go ahead and embrace :Gclog as a warning free version of the
command.
2019-08-14 01:44:13 -04:00
Tim Pope
1359d620eb Force <nowait> for all generated maps 2019-08-13 23:32:50 -04:00