Tim Pope
fa20e5e77c
Remove :silent from all :checktime uses
...
This can appear to hang with 'noautoread', or if the buffer has changed
in memory. In reality it's not hanging, it's just silenced the
interactive prompt.
Resolves: https://github.com/tpope/vim-fugitive/issues/1917
2022-01-10 11:08:29 -05:00
Tim Pope
57968b63c2
Support tab complete of :Git push remote \+branch
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1916
2022-01-05 11:10:57 -05:00
Tim Pope
88a97127d1
Account for optional escaping in tab complete
...
Tab complete results are always passed to fnameescape(), which can
result in the output having more backslashes than the input, causing
those results to be filtered out. Attempt to reconcile this.
References: https://github.com/tpope/vim-fugitive/issues/1916
2022-01-05 11:08:38 -05:00
Tim Pope
b6dbb97759
Extend lazy detection to netrw
...
The requires dropping support for b:netrw_curdir, which was added in
fecd42864a for the vague reason of
handling "unusually named netrw buffers". I'll figure out what to do
about those alleged buffers when one of them surfaces again.
2022-01-05 11:07:15 -05:00
Tim Pope
b1c3cdffc9
Fix status reload after staging entire section
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1912
2021-12-29 16:50:00 -05:00
Tim Pope
ee992c808c
Narrow application of broken jobwait() workaround
...
Neovim seemlingly forces a redraw if :sleep is called while defocused,
but only if at least one FocusGained/FocusLost autocommand is defined.
The purpose of this :sleep is to force the exit callback to run when
jobwait() erroneously refuses to do the job. Our exit callback removes
the job from the dictionary, so we can use the lack of a job key in any
dictionary as a signal that we can skip it. Hacks on top of hacks.
Resolves: https://github.com/tpope/vim-fugitive/issues/1909
References: https://github.com/tpope/vim-fugitive/issues/1857
2021-12-28 16:03:34 -05:00
Tim Pope
831fdab983
Simplify extraction of directory of buffer name
...
The behavior of :p is more predictable than I realized when I first
wrote this.
2021-12-28 16:03:34 -05:00
Tim Pope
da30818d17
Resize EDITOR window automatically when necessary
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1907
2021-12-24 12:53:00 -05:00
Tim Pope
ab57abf1d0
Don't feedkeys() into terminal window
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1908
2021-12-23 21:47:29 -05:00
Tim Pope
f18571e647
Remove redundant ":p" modification during detection
...
Every ":p" does I/O to check for a directory, so let's do away with the
belt-and-suspenders usage.
2021-12-23 15:00:14 -05:00
Tim Pope
3fb9beacbc
Fix possible infinite loop
2021-12-12 13:28:20 -05:00
Tim Pope
365231384c
Don't treat buftype=nofile buffer names as file names
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1905
2021-12-08 16:17:41 -05:00
Tim Pope
c04e80c6eb
Fix accidental :execute 0
2021-12-08 16:13:28 -05:00
Tim Pope
79c2b3f48d
Try nested autocmds for ReadCmd/WriteCmd
...
I'm trying to leverage OptionSet for something. Let's see if this
causes issues for anybody.
2021-12-07 09:17:47 -05:00
Tim Pope
2064312ad7
Don't reject invalid Git dir when detecting common dir
...
Consumers of this function should be giving us a valid Git dir, and if
they don't, returning an empty string will only make matters worse.
References: https://github.com/tpope/vim-fugitive/pull/1898
2021-12-01 20:05:47 -05:00
Tim Pope
c666c86882
Fix blame from stage buffer
...
References: https://github.com/tpope/vim-fugitive/issues/1892
2021-12-01 19:48:43 -05:00
Tim Pope
a099a2631c
Disable diff.suppressBlankEmpty for summary window diff
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1897
2021-12-01 19:27:29 -05:00
Tim Pope
82f2841bdf
Fix gf error in commit message outside of repository
2021-11-28 15:36:44 -05:00
Tim Pope
5a24c25275
fugitive.vim 3.6
...
* Fix support for older Vim 7 patch levels.
* Support copies on :Gclog --follow.
v3.6
2021-11-25 14:53:57 -05:00
Tim Pope
e82332ee9e
Try to avoid trailing newline blame issues
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1892
2021-11-22 13:24:21 -05:00
Tim Pope
64bc1a3431
Remove dead code
...
The use of remove() here wouldn't actually work as it expects an index,
not a value.
2021-11-19 17:42:33 -05:00
Tim Pope
4a8db6b856
Support copies with :Gclog --follow
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1891
2021-11-19 17:19:30 -05:00
Tim Pope
3d5d23fe80
Remove q map stubs
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1890
2021-11-19 17:16:36 -05:00
Tim Pope
2dfaf17f9e
Use dummy events to prevent "No matching autocommands" message
...
This list of events was hand-curated to eliminate events already defined
elsewhere in the autoload file.
Resolves: https://github.com/tpope/vim-fugitive/issues/1887
2021-11-16 16:09:59 -05:00
Tim Pope
69ae31d402
Fix command execution on Vim 7
...
This worked on my test environment of 7.4.888, but did not work on
7.4.000.
References: https://github.com/tpope/vim-fugitive/issues/1889
2021-11-16 13:44:55 -05:00
Tim Pope
f9c0b8eafe
Fix readfile() usage
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1886
2021-11-15 20:54:19 -05:00
Tim Pope
e47121f8fd
Fix typo
2021-11-15 00:31:32 -05:00
Tim Pope
cd67d087df
fugitive.vim 3.5
...
* Lazy initialization.
* Make status buffer diff retrieval asynchronous.
* Support jump to diff from :Git log --name-status.
* Use smudge filters when viewing blobs.
* Provide User FugitiveEditor event.
* Provide FugitiveRemote() API function.
v3.5
2021-11-15 00:17:52 -05:00
Tim Pope
b736e457b3
Provide FugitiveRemote()
2021-11-13 16:25:36 -05:00
Tim Pope
2e4ee0b5d6
Don't scroll :Git! window for paginated commands
...
References: https://github.com/tpope/vim-fugitive/issues/1832
2021-11-11 00:44:14 -05:00
Tim Pope
a6b823b8d0
Fix race condition on nvim 0.4
...
I could have sworn this wasn't necessary on 0.4, which is why I added
the extra clause, but I can consistently reproduce E716 now.
Resolves: https://github.com/tpope/vim-fugitive/issues/1881
2021-11-02 14:07:58 -04:00
Tim Pope
174fd6a39b
Revert "Use :redrawstatus rather than &ro = &ro"
...
Turns out :redrawstatus is a lot more aggressive and can prevent seeing
Fugitive output.
This reverts commit 6ad15506cc .
References: https://github.com/tpope/vim-fugitive/issues/1180
2021-10-27 03:17:44 -04:00
Tim Pope
6ad15506cc
Use :redrawstatus rather than &ro = &ro
...
References: https://github.com/tpope/vim-fugitive/issues/1180
2021-10-26 09:22:33 -04:00
Tim Pope
30933405bb
Support blame maps without filetype plugin on
...
References: https://github.com/tpope/vim-fugitive/issues/1745
2021-10-19 11:44:22 -04:00
Tim Pope
4d29c1d6a0
Provide for retrieving parsed remote URL
...
The plan is to expose this as FugitiveRemote(), but let's give it some
bake time before making it official.
2021-10-17 20:25:23 -04:00
Tim Pope
93f41ace7d
Move to beginning of line in "(" map
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1867
2021-10-17 11:22:10 -04:00
Tim Pope
d5a6419fcf
Guard against parallel status reload
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1863
2021-10-17 11:22:10 -04:00
Tim Pope
88c7f867cf
Further decouple #BufReadStatus() from v:cmdbang
2021-10-16 12:58:13 -04:00
Tim Pope
0615cd2baf
Ignore v:cmdbang when not in autocommand
2021-10-16 10:57:04 -04:00
Tim Pope
ca61174e9d
Remove leading slash when parsing scpremote:/~user
2021-10-16 10:43:42 -04:00
Tim Pope
a4c6fb74ee
Help file formatting fix
2021-10-16 10:43:42 -04:00
Tim Pope
2e66b3ad05
Don't show diff on root commits
...
The diff on a root commit is often large and seldom helpful, so let's
get rid of it. This will also be one less thing to worry about when
changing to a fugitive file type.
2021-10-12 12:34:43 -04:00
Tim Pope
e38d029500
Adjust encapsulation of escaped completion handling
...
Most calls to s:FilterEscape() pass the original escaped argument, so
we should fix the callers that don't.
2021-10-11 00:38:57 -04:00
Tim Pope
69f5fcbd45
Allow escaped characters in tab complete
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1859
2021-10-10 13:24:20 -04:00
Tim Pope
b540332a3e
Improve parallelism of status buffer with earlier diff
...
This is a trivial gain, but also trivial to implement.
2021-10-08 19:05:18 -04:00
Tim Pope
ae93dbea2e
Ensure jobstart on_exit runs when waiting
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1857
2021-10-08 19:05:18 -04:00
Tim Pope
bcf7478e6b
Make status buffer diff retrieval asynchronous
...
Resolves: https://github.com/tpope/vim-fugitive/issues/1856
2021-10-06 14:45:36 -04:00
Tim Pope
a67854368e
Collapse all status buffer diffs on :edit!
...
References: https://github.com/tpope/vim-fugitive/issues/1563
2021-10-01 14:28:13 -04:00
Tim Pope
e2883a5426
Support reload on custom chmod and unlink events
...
These were recently added to eunuch.vim, but other plugins may use them
as well.
2021-09-30 12:43:23 -04:00
Tim Pope
194d63da4f
Restore laziness of status reload after write
...
This got lost in a refactor.
2021-09-30 12:43:23 -04:00