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
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
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
Tim Pope
17618402fa
Remove :terminal special case for Neovim :Git
...
Neovim appears to be better about not locking up on terminal input, and
GIT_TERMINAL_PROMPT=0 gives us belt-and-suspenders protection.
2019-07-01 18:37:00 -04:00
Tim Pope
461c1beefa
Fix extra space in win32 environment variables
...
Closes https://github.com/tpope/vim-fugitive/issues/1271
2019-07-01 17:59:25 -04:00
Tim Pope
b343a4bec0
Add error handling to s:TreeChomp()
2019-07-01 05:52:05 -04:00
Tim Pope
14649fb858
Restore autowrite before :Gcommit
2019-07-01 05:52:02 -04:00
Tim Pope
3d252dac21
Avoid use of :! in :Gcommit
...
References https://github.com/tpope/vim-fugitive/issues/435
2019-07-01 00:02:42 -04:00
Tim Pope
cf9c04af06
Eliminate environment juggling in :Gcommit
2019-07-01 00:02:42 -04:00
Tim Pope
74fc4b5eea
Avoid intermediary v:errmsg in exception handling
2019-07-01 00:02:42 -04:00
Tim Pope
4a94b374d0
Fix bug revealing next hunk
2019-06-29 20:50:14 -04:00
Tim Pope
7c66d544e5
Only target current file if range is given to :Glog
2019-06-29 19:55:16 -04:00
Tim Pope
c8ac43422e
Adjust viewport position *after* reload
...
References https://github.com/tpope/vim-fugitive/issues/1268
2019-06-29 19:19:09 -04:00
Tim Pope
9c195de61b
Fix dd in :Gstatus staged section
...
References https://github.com/tpope/vim-fugitive/issues/1269
2019-06-28 14:42:01 -04:00
Tim Pope
cb4bb94f7b
Fix dd in :Gstatus
...
Closes https://github.com/tpope/vim-fugitive/issues/1269
2019-06-28 14:31:37 -04:00
Tim Pope
198e9c4128
Improve :Gstatus support for renames
...
Closes https://github.com/tpope/vim-fugitive/issues/1175
2019-06-27 23:49:32 -04:00
Tim Pope
8e024f9bcc
Add <mods> helper function
2019-06-27 23:49:32 -04:00
Tim Pope
192538c0a7
Fix :Gstatus overscroll when already at bottom of document
2019-06-27 23:09:34 -04:00
Tim Pope
0f20c35b62
Fix error on :Gedit with no argument
2019-06-25 16:28:36 -04:00