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
Tim Pope
6d42c7df44
Fix fugitive#isdirectory() with trailing slash
2019-06-08 02:42:32 -04:00
Tim Pope
bf7f05e62b
Accept a count to :Git
...
Now that <mods> support is widely available, I'm considering moving all
:Gsplit! variants onto :Git!, and making :0Git! suppress the split.
2019-06-05 22:43:31 -04:00
Tim Pope
41a734ef49
Fix Fugitive activation when historical version does not exist
...
I believe I omitted BufNewFile here because it seemed like kind of a
silly event for an unmodifiable, unwritable buffer, but I wasn't taking
into account that event is needed for Fugitive to activate.
Closes https://github.com/tpope/vim-fugitive/issues/1261
2019-06-03 21:06:59 -04:00
Tim Pope
078ffa6197
Don't assume b:git_dir is an actual directory
...
This is a quick first pass. There may be others hiding.
References https://github.com/tpope/vim-fugitive/issues/776
2019-06-02 18:56:29 -04:00
Teo Ljungberg
79f3be9f17
Abbreviate commit SHA1s for :Grebase -i
...
Rather than generating the full 40 character SHA1, this commit changes
the rebase todo file to use the abbreviated kind.
2019-06-02 12:59:47 -04:00
Tim Pope
0f9db6af70
Fix garbled screen after :Git! and related commands
...
Closes https://github.com/tpope/vim-fugitive/issues/1258
2019-05-21 17:00:12 -04:00
Tim Pope
5d99841b22
Fix fugitive#glob('[^x]')
2019-05-04 18:54:16 -04:00