Tim Pope
3b0f68180f
Compensate for bad 'shellredir'
2019-07-28 19:21:01 -04:00
Tim Pope
49f3f92fd5
Guard against inadvertent :| invocation
...
I haven't been able to consistently reproduce it, but sometimes vim
takes :edit +CmdA\|CmdB to mean :CmdA followed by :| and not :CmdA
followed by :CmdB.
2019-07-28 19:16:28 -04:00
Tim Pope
645406f592
Use :Gdiffsplit! for diff maps
...
This opens a 3 way diff for merges and also focuses the more useful
window.
2019-07-28 01:20:38 -04:00
Tim Pope
7bfce97480
Provide misc :Git mappings
2019-07-28 01:12:33 -04:00
Tim Pope
3e9ef9349d
Remove error guards for old object syntax
2019-07-28 01:10:37 -04:00
Tim Pope
881ad1ed0b
Guard against missing output on :Gcommit success
2019-07-26 21:56:39 -04:00
Tim Pope
ebc3f35575
Require bang to :Gwrite from index
...
Closes https://github.com/tpope/vim-fugitive/issues/1057
2019-07-26 11:32:24 -04:00
Tim Pope
79566b5ddd
Don't override alt buffer on :Gwrite from index
2019-07-26 11:32:24 -04:00
Tim Pope
d90e912e46
Provide ignoring maps
...
Closes https://github.com/tpope/vim-fugitive/issues/235
2019-07-24 21:27:16 -04:00
Tim Pope
2bfb6e9889
Reverse inline diff mappings
...
References https://github.com/tpope/vim-fugitive/issues/1199
2019-07-24 21:27:16 -04:00
Tim Pope
b92de0138d
Provide rudimentary stash mappings
2019-07-23 20:44:25 -04:00
Tim Pope
d95cc5f8c2
Remove :Gedit HEAD and :Gedit refs/... special cases
2019-07-23 20:44:25 -04:00
Tim Pope
55cb58cd5f
Add :Git add --intent-to-add to :Gstatus P
2019-07-23 20:44:24 -04:00
Tim Pope
ce283cbdbf
Remove i special behavior on section heading
2019-07-23 20:10:48 -04:00
Tim Pope
994d1b518f
Remove --intend-to-add from :Gstatus i
...
You can't actually apply a hunk to a file added with --intend-to-add, so
this did not pair well with the hunk expansion behavior.
2019-07-23 19:37:06 -04:00
Tim Pope
d88a0f8465
Fix :Gstatus X in visual patch selection
2019-07-23 19:24:07 -04:00
Tim Pope
54bc4ab9dd
Improve error handling on :Gstatus X
2019-07-23 18:29:13 -04:00
Tim Pope
15df3f8959
Do what the user means for LANG= in g:fugitive_git_executable
2019-07-23 15:13:28 -04:00
Tim Pope
1fe6202848
Fix :Gbrowse assuming range
2019-07-22 15:20:21 -04:00
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
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
ganziqim
58b2b85c9e
Only check bdelete mapping in normal mode
2019-07-18 09:44:14 -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
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
Tim Pope
fc529da8ae
Work around autowrite bug when :terminal is open
2019-06-25 14:03:33 -04:00
Tim Pope
a0815c7010
Retire :Gedit -..., :Gedit @{...}, and :Gedit :n
...
I'm introducing :Gedit >... as a new shorthand because a leading > is
handled by fnameescape(), but it's very ugly, I don't think I want to
make it official.
2019-06-25 04:33:36 -04:00
Tim Pope
aff3359699
Retire :Gedit ^n and :Gedit ~n
2019-06-25 04:06:38 -04:00
Tim Pope
66a927524a
Don't map <CR> in editable index buffers
2019-06-25 04:02:02 -04:00