Commit Graph

1990 Commits

Author SHA1 Message Date
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
Tim Pope
dd39902e3d Minor performance improvement to global map definition 2021-09-30 12:43:23 -04:00
Tim Pope
7e483dc60d Show overflow sections as 255+ not 256
Resolves: https://github.com/tpope/vim-fugitive/issues/1853
2021-09-29 16:59:38 -04:00
Steven Humphrey
1213953abf Fix default remote in fugitive#RemoteUrl
A previous refactor resulted in fugitive#RemoteUrl() with no arguments
returning the string 'origin' instead of git@github.com....
2021-09-28 10:49:14 -04:00
Tim Pope
7b05afd548 Add experimental behavior for X on commit line
Resolves: https://github.com/tpope/vim-fugitive/issues/1847
2021-09-25 10:21:58 -04:00
Tim Pope
915c050724 Fix :GBrowse - destination 2021-09-25 10:20:09 -04:00
Tim Pope
142a0dc0c4 Fix wrong variable name in fugitive#RemoteUrl()
Resolves: https://github.com/tpope/vim-fugitive/pull/1843
2021-09-23 04:39:47 -04:00
Tim Pope
1352646890 Extract helper to parse fugitive#RemoteUrl() arguments 2021-09-19 14:44:42 -04:00
Tim Pope
e1d382b3e7 Fix resolution of scp style URLs 2021-09-19 14:44:42 -04:00
Tim Pope
3d67d23f47 Normalize path when parsing remote URL
Change an empty path to "/" as is the standard interpretation.  And for
git:// and ssh:// URLs, change a leading "/~" to "~", like Git itself
does.
2021-09-19 12:26:14 -04:00
Tim Pope
f02217b776 Avoid repeat config retrieval in :GBrowse 2021-09-19 12:26:12 -04:00
Tim Pope
12c40427a0 Separate remote resolution from URL reassembly 2021-09-19 08:29:40 -04:00
Tim Pope
bb89a7a497 Invert flag for lazy initialization
I think this second argument might become an optional buffer number at
some point, so change the special value for lazy to an invalid buffer
number.
2021-09-19 07:54:03 -04:00
Tim Pope
a67e1f8189 Try to avoid interference by $GIT_DIR and $GIT_WORK_TREE
Resolves: https://github.com/tpope/vim-fugitive/issues/1841
2021-09-17 06:16:58 -04:00
Tim Pope
27abc3f1bd Respect 'splitright' instead of 'splitbelow' for :vertical
Resolves: https://github.com/tpope/vim-fugitive/issues/1839
2021-09-16 08:13:00 -04:00
Tim Pope
67c4c031fa Support jump to diff from :Git log --name-status
Resolves: https://github.com/tpope/vim-fugitive/issues/1838
2021-09-14 18:19:16 -04:00
Tim Pope
79a6a1941d Fix typo 2021-09-14 14:04:42 -04:00
Tim Pope
ba52c2b446 Make RemoteUrl() option parsing a bit less convoluted 2021-09-14 03:38:26 -04:00
Tim Pope
529311cec7 Fix check for wrong executable 2021-09-14 02:12:50 -04:00
Tim Pope
5f387d4783 Fix FugitiveRemoteUrl('origin', FugitiveConfig()) 2021-09-14 00:06:58 -04:00
Tim Pope
5be8263f16 Override GPG_TTY to prevent terminal garbling
Resolves: https://github.com/tpope/vim-fugitive/issues/1836
2021-09-13 21:05:03 -04:00
Tim Pope
1651cd7f20 Extract helper to determine PTY availability
I constantly have to ask about this to troubleshoot bug reports, so make
it easier to determine.

Also rename g:fugitive_pty to make it clearer that it's not a preference
but a debugging tool.
2021-09-13 16:58:42 -04:00
Yuriy Taraday
630ecc8c3a Use --filters in cat-file whenever possible
Starting with Git 2.11 cat-file provides --filters option that can be
specified instead of "blob" type. This option tells Git to use all
filters specified in .gitattributes.

This enables diffs for files with filters, for example, git-crypt.

Closes #1509
2021-09-13 16:16:32 -04:00
Tim Pope
e2927fb467 Force current buffer number for FugitiveStatusline()
This is normally the default, but might be different during an event
like FugitiveChanged.
2021-09-10 16:13:51 -04:00
Tim Pope
1a652c0cdf Tab complete :Git ++options and --options
Resolves: https://github.com/tpope/vim-fugitive/issues/1833
2021-09-10 16:11:39 -04:00
Tim Pope
6b1d90251e Support lazy initialization in statusline indicator
Resolves: https://github.com/tpope/vim-fugitive/issues/1834
2021-09-10 15:51:47 -04:00
Tim Pope
bb4d1dd9a8 Eliminate internal use of FugitiveCommonDir()
Lead by example.
2021-09-10 15:51:41 -04:00
Tim Pope
b6545ad389 Fix inconsistency when scrolling :Git! preview window
Scrolling with win_execute() works fine while the command is running,
but once the job has finished, it fails to update the viewport until the
window is focused.  I don't get it.  It's not like the window knows a
job is running.  The only obvious trigger I could find is that
'nobuflisted' is set once once the job completes, but even disabling
that behavior fails to rectify the problem.  Screw it, manual focus
bouncing for everyone.

References: https://github.com/tpope/vim-fugitive/issues/1832
2021-09-10 02:47:21 -04:00
Tim Pope
be0abe0b21 Standardize <mods> handling for quickfix commands
Use <mods> for :copen rather than :cfirst, as that seems to be the more
useful of the two.

When I call :vertical copen, I get a window that is initially 10
columns wide, but which resizes to 20 columns upon blurring and
refocusing. Not sure what's up with that, but 10 columns is comically
narrow, so let's go ahead and open at 20 columns to begin with.

Resolves: https://github.com/tpope/vim-fugitive/issues/1831
2021-09-08 16:04:35 -04:00