Commit Graph

1990 Commits

Author SHA1 Message Date
Tim Pope
a252be79c0 Check for ch_close_in() to ensure full Vim jobs support
Resolves: https://github.com/tpope/vim-fugitive/issues/1973
2022-04-12 19:51:42 -04:00
Tim Pope
cba863444c Move unpushed sections above unpulled, again
This reverts commit 279d56eb47
(effectively).

References: https://github.com/tpope/vim-fugitive/issues/1963
2022-04-05 12:13:40 -04:00
Tim Pope
d725ef529e Turn remaining deprecated commands into error stubs 2022-04-01 18:27:49 -04:00
Tim Pope
8f169a84ff Allow simultaneous blames in diffed buffers
References: https://github.com/tpope/vim-fugitive/pull/1327
2022-04-01 18:27:49 -04:00
Tim Pope
d9a914b14d Replace 'cursorbind' in blame with manual line syncing
This is the only way to sync the line without also syncing the column.
Syncing the column is particularly problematic when it causes the blame
window to vertically scroll while typing.
2022-04-01 18:27:44 -04:00
Tim Pope
c0701f7a0e Fix expansion of SSH host aliases
Resolves: https://github.com/tpope/vim-fugitive/issues/1962
2022-03-30 11:08:14 -04:00
Tim Pope
321328c6c5 Avoid I/O from ":p" when handling temp files
This isn't a big deal for temp files themselves, but if we're checking
an arbitrary buffer, it's possible we'll end up hitting a slow network
share just to find out if the path is relative.

This new s:AbsoluteVimPath() helper could potentially be reused in a lot
of places.  But this diff is big enough as is; save that for later.
2022-03-26 15:41:55 -04:00
Tim Pope
8157efff49 Provide g:fugitive_defer_to_existing_maps
References: https://github.com/tpope/vim-fugitive/issues/1425
2022-03-25 18:08:01 -04:00
Tim Pope
b6405d8908 Provide literally named <Plug> maps
For every map X, also provide a map <Plug>fugitive:X.

References: https://github.com/tpope/vim-fugitive/issues/1425
2022-03-25 17:50:32 -04:00
Tim Pope
5716e11776 Fix line wrap in README 2022-03-24 08:02:43 -04:00
Tim Pope
46652a304f Add :GUnlink, like in eunuch.vim
This currently mirrors :GRemove, but gives us the option to add a third
variant.
2022-03-09 10:50:24 -05:00
Tim Pope
afd6c13c6b Fix infinite loop when summary window contains no sections
Resolves: https://github.com/tpope/vim-fugitive/issues/1954
2022-03-01 07:35:31 -05:00
Tim Pope
485ce07c27 Match FugitiveRemote() interface to window.location in JS 2022-02-11 13:02:45 -05:00
Tim Pope
c29ef11cd6 Parse anchor in remote URL
I've never seen this in practice, but if it does happen, we shouldn't
include it in the value for "path".
2022-02-11 13:02:45 -05:00
Tim Pope
6c19f1ddfb More robut escaping of +cmd arguments
Resolves: https://github.com/tpope/vim-fugitive/issues/1938
2022-02-02 11:53:01 -05:00
Tim Pope
a443104489 Add czs as :Git stash push --staged
Resolves: https://github.com/tpope/vim-fugitive/issues/1941
2022-02-02 05:49:09 -05:00
Roger Bongers
59529a2c36 Add basic bisect subcommand completion 2022-01-24 21:13:07 -05:00
Tim Pope
a93ceff61f Support extensions.worktreeConfig
Resolves: https://github.com/tpope/vim-fugitive/issues/1898
2022-01-13 14:06:42 -05:00
Tim Pope
f4d94c5985 Move CommonDir() from autoload to plugin 2022-01-11 18:47:38 -05:00
Tim Pope
bb4f9e660b Add core.worktree to FAQ 2022-01-11 18:39:40 -05:00
Tim Pope
189e3c406e Eliminate filereadable() guards by catching readfile() error 2022-01-11 18:36:36 -05:00
Tim Pope
944dc602c6 Require core.bare=true for bare repositories
Resolves: https://github.com/tpope/vim-fugitive/issues/1920
2022-01-11 13:50:55 -05:00
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