Commit Graph

1116 Commits

Author SHA1 Message Date
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
Daniel Hahler
48e612601b s:BuildShell: fix E706
This happens with old Vim versions (before 7.4.1546):

> Vim(let):E706: Variable type mismatch for: cmd

Ref: https://github.com/vim/vim/commit/f6f32c38b
2019-07-06 07:20:40 -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
Tim Pope
04c68837d3 Fix stacking untracked files 2019-07-04 08:48:54 -04:00
Tim Pope
a9572e9ea6 Fix inline diff expansion 2019-07-04 08:44:42 -04:00
Tim Pope
4466eeb47a Restore "Untracked" section 2019-07-04 07:29:08 -04:00
Tim Pope
c62d23bc18 Change s:StageInfo() to use absolute paths like s:Selection() 2019-07-04 07:29:08 -04:00
Tim Pope
51c54138ba Fix count on :Gstatus maps 2019-07-04 07:14:07 -04:00
Tim Pope
fc6643c318 Remove hard coded length limit of 40 on hashes
SHA-256 is coming eventually, may as well rip these out now.
2019-07-04 02:36:26 -04:00
Tim Pope
302ee3b41c Fix P in :Gstatus 2019-07-03 17:17:45 -04:00
Tim Pope
d238736a30 Remove weird FAQ entry 2019-07-03 06:21:52 -04:00
Tim Pope
cf5b43443f Encapsulate "-z" null splitting 2019-07-02 06:58:50 -04:00
Tim Pope
39087fed59 Encapsulate system() plus v:shell_error 2019-07-02 06:58:50 -04:00
Tim Pope
77d86594cc Encapsulate common v:shell_error usages 2019-07-02 06:58:50 -04:00