Commit Graph

1299 Commits

Author SHA1 Message Date
Tim Pope 99ad1a89fa Relocate 'path' adjustment
I'm not sure where we should do this (if at all), but after loading the
appropriate buffer (and thus applying the file type) is a better place
than during general activation.
2019-09-04 13:17:20 -04:00
Tim Pope 2eb6aac0c4 Adjust warning wording 2019-09-04 13:17:20 -04:00
Tim Pope c80ffaf073 Don't override user :Gr 2019-09-04 13:17:20 -04:00
Tim Pope 63a05a6935 Remove 'tags' support 2019-09-03 21:40:39 -04:00
Tim Pope 522d3d3c1e Make edit commands global 2019-09-03 20:21:47 -04:00
Tim Pope b8c33aa0a1 Enable edit commands to work without git dir 2019-09-03 20:20:37 -04:00
Tim Pope 39f9e2d722 Move IO functions with rest of API 2019-09-03 20:20:37 -04:00
Tim Pope a45e2c6d57 Provide :Gr as alias for :Gread 2019-09-02 19:58:13 -04:00
Tim Pope 5042fd965d Tweak :Gedit > semantics
Treat ~ and ^ suffixes as relative to current commit, not HEAD, and use
a bare > to get to the work tree version.
2019-09-02 19:58:13 -04:00
Tim Pope 251eda7eb6 Reduce fugitive#buffer() to stub object 2019-09-01 21:48:16 -04:00
Tim Pope c212d854d5 Accommodate git-blame revision ignoring features
Closes https://github.com/tpope/vim-fugitive/issues/1316
2019-09-01 12:56:58 -05:00
Tim Pope 082a9b99e7 Remove double word in docs 2019-09-01 12:56:58 -05:00
Tim Pope c13e0e1afd Don't browse to blob for empty buffer 2019-08-31 22:34:34 -04:00
Tim Pope b97a9abe29 Provide global :Git and :G 2019-08-22 19:46:20 -05:00
Tim Pope 410e17129d Use :Git not :G for visible maps
Let's treat :Git as canonical and :G as the shorthand.
2019-08-22 19:45:20 -05:00
Tim Pope 3a01f4b819 Remove toggling behavior of :Gblame
References https://github.com/tpope/vim-fugitive/issues/1316
2019-08-22 19:15:43 -05:00
Tim Pope f04a2275db Remove feedkeys() contortions in :Gdiffsplit
Closes https://github.com/tpope/vim-fugitive/issues/1313
2019-08-21 15:14:39 -05:00
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