Commit Graph
100 Commits
Author SHA1 Message Date
Tim Pope a152894a55 Don't rely on exception message for :Gbrowse - error 2019-07-22 14:34:46 -04:00
Tim Pope 8a693fb7bc Restore :Gdiffsplit :n 2019-07-22 14:34:45 -04:00
Tim Pope 80996c2e2c Map c? and r? to show commit and rebase help 2019-07-21 15:27:21 -04:00
Tim Pope 238a5d8aaf Map U as :Git reset -q 2019-07-21 15:27:20 -04:00
Tim Pope 76bd7d6cb4 Map gr to jump to rebasing section 2019-07-21 15:26:58 -04:00
Tim Pope ac97fa3781 Use terminal for :Git fetch/pull/push
I consider :Gfetch, etc, the proper interface, but allow this as a
backdoor.

References https://github.com/tpope/vim-fugitive/issues/1292
2019-07-21 15:26:47 -04:00
Tim Pope 6e2310a154 :Gstatus called from status window forces reload 2019-07-20 23:36:42 -04:00
Tim Pope 387cb5c2a0 Clean up error reporting on :Gwrite in diff 2019-07-20 23:36:42 -04:00
Tim Pope 8d584c199a Fix escaping for :Ggrep '#' 2019-07-20 23:36:42 -04:00
Tim Pope adba9c6345 Provide core.askPass default
Closes https://github.com/tpope/vim-fugitive/issues/722
2019-07-18 16:23:01 -04:00
Tim Pope d68efa32e8 Document parentheses movement maps 2019-07-18 14:18:09 -04:00
Tim Pope b0de6c2811 Fix :0Glog another/path 2019-07-18 14:18:09 -04:00
Tim Pope e25a214f78 Add an error about LANG= in g:fugitive_git_executable 2019-07-18 11:12:03 -04:00
Tim Pope ea26a94bde Consistently position cursor on :Gstatus 2019-07-18 11:12:03 -04:00
Tim Pope 3d305c75a0 Don't print current line on :G|chainedcommand 2019-07-18 11:12:03 -04:00
Tim Pope 68b999bfd0 Remove <C-W>C map
It's not worth claiming a whole map just to save one key press.
2019-07-18 11:12:03 -04:00
Tim Pope 07661dc102 Provide additional commit maps 2019-07-16 16:36:58 -04:00
Tim Pope 2992275d8e Don't load first quickfix result into status buffer 2019-07-16 16:36:58 -04:00
Tim Pope d8acfc35c7 Clarify in error message that :Gbrowse handlers are user installed 2019-07-16 16:36:58 -04:00
Tim Pope 0ee0498b88 Filter out warning on :Gedit master@{2.years.ago} 2019-07-16 16:00:09 -04:00
Tim Pope 469a73f3d9 Speed up :Ggrep 2019-07-15 22:41:51 -04:00
Tim Pope a1b78969f5 Decouple :Glog from :grep
One step closer to asynchronous job support.
2019-07-15 22:41:51 -04:00
Tim Pope 158ffdbb14 Extract function to create titled quickfix list 2019-07-15 22:41:51 -04:00
Tim Pope f83072703b Remove debugging variable 2019-07-15 22:41:35 -04:00
Tim Pope 4c650c699d Don't require shell quoting for colons
References https://github.com/tpope/vim-fugitive/issues/1289
2019-07-15 15:35:02 -04:00
Tim Pope dafb994c92 Remove unused function 2019-07-14 14:29:26 -04:00
Tim Pope 8c80cb63e2 Fix E211 handling in :Gmerge/:Grebase 2019-07-14 14:29:26 -04:00
Tim Pope dbdc947533 Fix <CR> as :Gblame map 2019-07-14 14:29:26 -04:00
Tim Pope 4da9fb8f43 Guard against empty filename checking for conflicts
Closes https://github.com/tpope/vim-fugitive/issues/1287
2019-07-13 07:50:11 -04:00
Tim Pope 0c259e3016 Tighten up autowrite handling 2019-07-13 07:50:11 -04:00
Tim Pope d0049b4417 Support double quotes for all subcommand wrappers 2019-07-12 09:20:13 -04:00
Tim Pope e169595314 Fix finishing :Gcommit on :wqa
This was added to compensate for the implicit autowrite we lost when
switching from :! to system(), but it seems calling in the
VimLeavePre/BufLeave event prevents the commit from happening on exit.
I don't fully understand it but it's easy to prevent.

Closes https://github.com/tpope/vim-fugitive/issues/1285
2019-07-12 09:20:13 -04:00
Tim Pope a1a40c360d Provide :Gclog and :Gcgrep aliases
The distant future might hold a :Glog command that isn't bound by the
limitations of the quickfix list, so introduce an alias for the quickfix
variant to retire to.

:Gcgrep is a weird name since it directly maps to :grep, but provide it
anyways for symmetry.
2019-07-11 17:34:25 -04:00
Tim Pope e250f9730e Fix :Gblame on win32
Closes https://github.com/tpope/vim-fugitive/issues/1284
2019-07-11 17:34:25 -04:00
Tim Pope c33d7fcb9f Show stderr on :Gcommit
References https://github.com/tpope/vim-fugitive/pull/1115
2019-07-11 12:32:35 -04:00
Tim Pope d176cca5ae Don't include trailing newline in fugitive#GitVersion() 2019-07-11 12:32:35 -04:00
Tim Pope aa68223376 More helpful error on Git without -C
Closes https://github.com/tpope/vim-fugitive/issues/1283
2019-07-11 07:56:28 -04:00
Tim Pope bdf5a221fb Use standard argument handling for :Gfetch/:Gpush 2019-07-10 14:51:56 -04:00
Tim Pope fd48cde3b7 Fix escaping when :Grebase calls :Gcommit 2019-07-10 14:51:56 -04:00
Tim Pope 0a758c22b3 Retool :Ggrep 2019-07-10 08:22:49 -04:00
Tim Pope bb05732d7f Begin phasing out <line2> 2019-07-10 08:22:49 -04:00
Tim Pope de3f6d977c Fix commands on Vim without <mods>
Closes https://github.com/tpope/vim-fugitive/issues/1282
2019-07-09 19:26:44 -04:00
Tim Pope 5f9602e12f Also support :G command commit:./path 2019-07-09 13:30:07 -04:00
Tim Pope 9afa926a23 Fix subcommand completion to match :Git completion 2019-07-09 13:30:07 -04:00
Tim Pope 23138572f4 Fix :[range]Glog
Closes https://github.com/tpope/vim-fugitive/issues/1280
2019-07-09 13:30:07 -04:00
Tim Pope ad2e408e15 Treat :G ... ./path as relative to working directory
References https://github.com/tpope/vim-fugitive/issues/504
2019-07-09 12:26:57 -04:00
Tim Pope f38c59af7c Better error handling for obsolete argument syntax 2019-07-09 12:03:22 -04:00
Tim Pope 6b1e749849 Eliminate :cd in :Gread! and :Gblame 2019-07-09 12:03:22 -04:00
Tim Pope 2ddf4e97ef Work around broken nvim reltime()
Closes https://github.com/tpope/vim-fugitive/issues/1277
2019-07-09 12:03:22 -04:00
Tim Pope fb66f9a86d Set loclist not qflist title for :Gllog 2019-07-09 12:02:53 -04:00
Tim Pope 9556e59765 Fix :Glog on Vim without quickfix "module" support
Closes https://github.com/tpope/vim-fugitive/issues/1279
2019-07-09 12:02:53 -04:00
Tim Pope b48f93b550 Use proper argument parsing for :Glog 2019-07-09 06:45:58 -04:00
Tim Pope 0a4eee76e9 Don't hide :Glog errors 2019-07-09 06:45:58 -04:00
Tim Pope 1fb7fa0078 Use correct quickfix commands for :Gllog 2019-07-09 06:45:58 -04:00
Tim Pope 5c3d30223b Further tighten :Glog format 2019-07-09 06:45:58 -04:00
Tim Pope d22a14192f Don't map file/hunk jumps in blobs 2019-07-09 06:45:58 -04:00
Tim Pope f71a38db7d Fix argument handling for :Gmerge
This shouldn't matter in practice since :Gmerge doesn't accept path
arguments, but may as well do the right thing.
2019-07-09 06:45:58 -04:00
Tim Pope cecfc06be3 Tweak s:Dir() usage 2019-07-09 06:45:58 -04:00
Tim Pope 102b3a50e2 Support next/previous file/hunk in commits
One of these aliases is going to end up being for files only but I'll
decide which later.
2019-07-08 15:40:47 -04:00
Tim Pope ebd7c9ddd3 Add next/previous section maps 2019-07-08 15:39:51 -04:00
Tim Pope 45fd3f4cb8 Change interface for jumping directly to blame commit 2019-07-08 15:39:51 -04:00
Tim Pope eaa0764940 Fix false positve matching :Glog abbreviated SHA 2019-07-08 15:39:51 -04:00
Tim Pope 85a135a9b0 Complete options for subcommand wrappers
Closes https://github.com/tpope/vim-fugitive/issues/1265
2019-07-08 10:04:58 -04:00
Tim Pope cd78a08543 Retool diffing
Support mods, rename to match the built-in :diffsplit, and (perhaps
controversially) move three-way diffing to the bang variant, so that the
default behavior always focuses the other window.

Closes https://github.com/tpope/vim-fugitive/pull/715
2019-07-08 10:04:58 -04:00
Tim Pope e49b9a9303 Pass bang to :Gblame to get horizontal split
Closes https://github.com/tpope/vim-fugitive/issues/1183
2019-07-08 09:41:08 -04:00
Tim Pope 362ce47ed1 Force hyphen in :Gblame -opts
I want to change the interface to allow passing an optional filename.
2019-07-08 09:41:08 -04:00
Tim Pope 668a615559 DWIM for :(top)/absolute/path 2019-07-08 09:41:08 -04:00
Tim Pope 6b02026cf9 Fix :Gblame <CR> with existing q map 2019-07-08 09:41:08 -04:00
Tim Pope bfe74225fa Use :terminal for :Git add --patch and similar commands 2019-07-08 03:54:06 -04:00
Tim Pope 2cde9172a9 Add section jump maps
References https://github.com/tpope/vim-fugitive/issues/1252
2019-07-08 03:50:49 -04:00
Tim Pope e0d4a281a8 Remove transitional g| mapping 2019-07-07 16:38:45 -04:00
Tim Pope 985861c083 Unify :G and :Git
The principle difference between these two is that :G uses -bar while
:Git fakes it.  Faking it enables double quotes, but I don't really
trust it.
2019-07-07 14:27:37 -04:00
Tim Pope d0212919f3 Only map q if no conflict 2019-07-07 14:27:37 -04:00
Tim Pope 7e91b47021 Move blame syntax to separate file 2019-07-07 14:03:38 -04:00
Tim Pope 2b5fdf146a Allow disabling dynamic blame colors
Closes https://github.com/tpope/vim-fugitive/pull/986
2019-07-07 13:38:35 -04:00
Tim Pope abefcb6ebd Add --option completion to :Git
References https://github.com/tpope/vim-fugitive/issues/1265
2019-07-07 13:16:08 -04:00
Tim Pope 2c13dfff03 Fix completion on :vert Git <Tab> 2019-07-07 13:16:08 -04:00
Tim Pope 2e0570046b Remove reload map
May as well free this up now because we're running short on maps.
2019-07-07 13:16:08 -04:00
Tim Pope 73b7e5e23f Use proper argument parsing for :Gcommit 2019-07-07 06:39:29 -04:00
Tim Pope e7f272a36c Change :Git! to split by default 2019-07-07 01:41:55 -04:00
Tim Pope 20bdfee4b7 Extract :Gsplit! implementation 2019-07-06 13:48:23 -04:00
Tim Pope a50e072587 Fix handling of bar in argument parsing 2019-07-06 13:48:23 -04:00
Tim Pope 2fdba349f5 Make completion more robust 2019-07-06 13:20:15 -04:00
Tim Pope aa41caf6c7 Lay groundwork for running commands without Git dir 2019-07-06 13:20:15 -04:00
Tim Pope 00bced7c53 Drop support for :Gblame -fn
The double dash options create false positives so this feature no longer
works correctly.
2019-07-06 13:20:15 -04:00
Tim Pope f33ac1b2a7 Use proper argument parsing in :Gmerge/:Grebase 2019-07-06 11:19:18 -04:00
Tim Pope 2503a957ff Better helper function names for expanding split 2019-07-06 10:20:10 -04:00
Tim Pope e87c612491 Jump to appropriate section for s/u on :Gstatus header 2019-07-06 08:56:39 -04:00
Tim Pope 0816915503 Restore popular fugitive#buffer() methods
I don't want outdated third party plugins to prevent people from
installing the upcoming stable release.
2019-07-06 08:56:39 -04:00
Tim Pope 81e57453ce Compensate for very old Vim without settabvar() 2019-07-06 08:56:39 -04:00
Tim Pope 873ede7aa4 Provide argument list version of s:UserCommand() 2019-07-06 08:56:39 -04:00
Tim Pope d1671f1fce Fix :Gedit > 2019-07-06 08:56:39 -04:00
Tim Pope fdb57922a4 Update escaping for dynamic :Git invocations 2019-07-06 02:17:38 -04:00
Tim Pope a025157c5f Don't rely on shell for quoting
Using shell syntax for Fugitive commands has a number of disadvantages:

* Commands behave differently depending on shell and platform.
* Checking for arguments (e.g., did :Ggrep receive --cached?) is
  impossible to do robustly.
* Double quoted strings conflict with -bar command chaining.
* Need to use %:S to for expansions, and backslash escaping even inside
  single quotes.

This is an experiment that instead implements the quoting ourselves.

For backwards compatibility, :Git and :Gcommit support double quoted
strings, but this is deprecated.
2019-07-06 00:55:25 -04:00
Tim Pope 3684c01ef4 Smarter :Gstatus reload 2019-07-05 10:36:06 -04:00
Tim Pope 0f46d5ce32 Don't throw exception on :Gedit :bogus 2019-07-05 10:36:06 -04:00
Tim Pope ef820b7577 Separate argument massaging from shell quoting 2019-07-05 08:03:53 -04:00
Tim Pope 137433c3c0 Eliminate shell syntax in :Gstatus undo 2019-07-05 05:03:57 -04:00
Tim Pope ed5ac8dc5d Fix jump to patched line in :Gstatus 2019-07-05 05:03:57 -04:00
Tim Pope a0e8f59b68 Make :Glog a bit less insufferable
This desperately needs async job support, but until I get around to
implementing that, this will have to do.
2019-07-04 08:49:00 -04:00