Commit Graph

1787 Commits

Author SHA1 Message Date
Tim Pope
3c3e6ea67b Support most top level Git options 2020-03-02 04:24:26 -05:00
Tim Pope
5d7516d3c1 Don't override alternate implementations of legacy commands
This is primarily intended so users can define their own :Gpush and
:Gfetch when they lose their :Dispatch backed async.
2020-03-02 04:24:26 -05:00
Tim Pope
8aaf744f2a Don't rely on rebase --autosquash shorthand
I'm starting to think this is more confusing than helpful.
2020-03-02 04:24:26 -05:00
Tim Pope
d102dd92fd Fix :GRename ../
Closes https://github.com/tpope/vim-fugitive/issues/1481
2020-03-02 02:40:09 -05:00
0xACE
9acced1409 Fix typo 2020-03-01 19:32:25 -05:00
Tim Pope
3bd69748c3 Remove remaining :Gsubcmd calls from implementation 2020-02-29 22:37:57 -05:00
Tim Pope
abb4a26c1e Fix internal documentation command references 2020-02-29 22:37:57 -05:00
Tim Pope
3e59a79e48 Move :Ggrep docs near other :Gcommands 2020-02-29 22:37:57 -05:00
Tim Pope
e84f023edf Remove redundant exists(':Gblame') check
This command used to be restricted to file and blob buffers, but now
it's global, not to mention deprecated, and the check serves no purpose.
2020-02-29 22:37:57 -05:00
Tim Pope
d0dceb9feb Change subtopic help tag style from :Git- to :Git_
This is less Git-like, but a bit more Vim-like, and doesn't force us
into the awkward :Git---paginate.
2020-02-29 22:37:57 -05:00
Tim Pope
025151bc78 Fix deletion of trailing fold upon loading blob
Closes https://github.com/tpope/vim-fugitive/issues/1479
2020-02-29 22:37:45 -05:00
Tim Pope
aada6479cf Use :Gsubcmd completion for :Git subcmd 2020-02-29 07:38:35 -05:00
Tim Pope
6b40e51008 Remove most uses of s:EchoExec()
This function was intended to avoid the press ENTER prompt for brief
output, but the new :Git job based runner now does that more
effectively.  Remove all old uses of it except the U map, which I am
electing to keep quiet on older versions of Vim.
2020-02-29 07:38:35 -05:00
Tim Pope
c452181975 Remove old :Git! temp buffer behavior
Rip the band-aid off now so we can reclaim it for something else sooner
rather than later.

If you're trying to support both old and new versions of Fugitive,
exists('*FugitiveConfigGetAll') will be true on versions where
--paginate is supported.  In a pinch you can also swap in :Gsplit!, but
that's eventually going away too.
2020-02-23 18:10:47 -05:00
Tim Pope
430253c302 Drop support for non-PTY :!
The experience without a PTY is pretty lackluster, and if you're using a
GUI or Windows, there's probably nothing stopping you from upgrading to
a version of Vim with job support.
2020-02-23 18:10:47 -05:00
Tim Pope
a5c921190a Override existing config values on :Git -c config.option= 2020-02-23 15:41:10 -05:00
Tim Pope
31629d8bd1 Use :read for :{range}Git! --paginate 2020-02-23 00:26:37 -05:00
Tim Pope
5a5a95b90a Tease apart bang and non-bang variants of :Gread 2020-02-23 00:26:36 -05:00
Tim Pope
87f998e15f Remove erroneous :Gedit! deprecation
The ! to :Gedit has always been passed to :edit and not used for Git
execution like the others.
2020-02-22 20:56:27 -05:00
Tim Pope
2acea41bef Handle custom Git executable for :Git --paginate 2020-02-22 20:14:33 -05:00
Tim Pope
c0aad3ac78 Update internal uses of :Git! to :Git --paginate 2020-02-22 20:14:33 -05:00
Tim Pope
8b83d6ec6c Use :pedit for :Git! --paginate 2020-02-22 20:14:33 -05:00
Tim Pope
efb1c8a29d Add - map for Push header 2020-02-22 20:14:33 -05:00
Rob Pilling
9e4a5239ee Respect 'wildignorecase' when completing :Gedit 2020-02-20 16:07:24 -05:00
Rob Pilling
349b18d373 Pull out s:fileignorecase() 2020-02-20 16:07:24 -05:00
Tim Pope
2e67f82b79 Refine handling of pagination via temp buffer
Use temp buffer for output of any command for which the Git
configuration option of pager.<command> is true.  Avoid using a temp
buffer if the value is false, even for commands like "show" where we
normally would.  If the configuration value is present and can't be
interpreted as a Boolean, punt to a :terminal where Git will invoke it
directly.

Generate and use custom config dictionary that includes -c values passed
to :Git.  This enables `:Git -c pager.status status` to correctly use a
pager.

Paginate "config", "branch", and "tag" for certain argument lists,
matching the logic found in the Git source code as closely as possible.
These 3 commands were identified as having special pagination logic by
the presence of the DELAY_PAGER_CONFIG flag on their definitions in
git.c.

Paginate "am --show-current-patch".

References https://github.com/tpope/vim-fugitive/issues/1415
2020-02-18 21:00:01 -05:00
Tim Pope
a81ba999e8 Correctly treat config keys without values as true 2020-02-18 20:59:50 -05:00
Tim Pope
cb1300d751 Deprecate :Gsplit! family in documentation 2020-02-18 20:59:49 -05:00
Tim Pope
d10dc9ea93 Quarantine deprecated commands in documentation 2020-02-18 14:09:24 -05:00
Tim Pope
2401f1a7da Work around minibufexpl/autochdir induced error
Closes https://github.com/tpope/vim-fugitive/issues/1456
2020-02-18 12:33:58 -05:00
Appu Joseph
81ca98d7e8 Fix Trailing Characters, Invalid range error for :<count>Gstatus
Correct the position of newly added keepalt option from
'botright <count>keepalt split' to 'botright keepalt <count>split'
2020-02-18 10:15:07 -05:00
Tim Pope
9bbbb65888 Add capitalized versions of non-standard commands
The long term goal is to use :Gsomecommand for commands that wrap
Vim built-ins (e.g., :Gedit for :edit), :Git some-command for commands
that wrap Git built-ins, and :GSomeCommand for everything else.  For
:GRemove, :GDelete, :GMove, and :GRename, this gives us symmetry with
eunuch.vim, and for :GBrowse, this gives us symmetry with a hypothetical
:Browse command that I've long wanted to make a plugin for but probably
never will.

:GcLog and :GlLog get their names because they match Vim's :c and :l
prefixes but bring their own custom suffix.  This is rather unsatisfying
and I may change it if something better comes along.
2020-02-17 14:50:09 -05:00
Tim Pope
9f69019424 Partially support :Git difftool on old Git 2020-02-15 20:18:15 -05:00
Tim Pope
98f67310aa Parameterize subcommand Git executable 2020-02-15 20:18:09 -05:00
hitsuji no shippo
460664018a Fix typo --include-index to --keep-index in help 2020-02-05 20:25:34 -05:00
Tim Pope
0e6f72b005 Allow custom subcommands outside of Git repository 2020-02-05 14:40:22 -05:00
Tim Pope
e144a9f559 Extract helper for setting job environment 2020-02-05 14:40:22 -05:00
Tim Pope
df3ac9d278 Enable opening arbitrary URLs with :Gbrowse
This is still doing a lot of unnecessary processing looking for a
remote, but it doesn't seem to hurt anything.
2020-02-05 14:40:22 -05:00
Tim Pope
3c45ed0d13 Fix false positive on deprecated :.Glog usage 2020-02-05 14:27:27 -05:00
Tim Pope
a95972cefc Don't clobber alternate buffer on :Gstatus 2020-02-05 12:48:47 -05:00
Tim Pope
18582f4986 Remove deprecated C map to fix broken warning
https://github.com/tpope/vim-fugitive/issues/1458
2020-02-05 12:48:47 -05:00
Tim Pope
083f3c23cc Preserve existing 'scrollbind' arrangement with :Gblame
Closes https://github.com/tpope/vim-fugitive/issues/1449

Closes https://github.com/tpope/vim-fugitive/issues/1327
2020-02-03 11:25:49 -05:00
Tim Pope
9ecd6ebf92 Eliminate last temporary :cd
The new git_chomp and git_chomp_in_tree aren't 100% backwards
compatible, but these functions are deprecated anyways.  Use
system(FugitivePrepare(...)) instead.
2020-02-03 10:17:37 -05:00
Tim Pope
3221cdfbde Support :Git -c config.name=value 2020-02-02 15:31:02 -05:00
Tim Pope
8e90d82eb4 Use --no-optional-locks for :Gstatus
This clears up some intermittent errors during :Git rebase, although I
must admit I don't really understand why, as the status reload shouldn't
be happening at the same time :Git is running.
2020-02-01 10:49:35 -05:00
Tim Pope
1c1014a046 Continue running commands on Vim exit
Closes https://github.com/tpope/vim-fugitive/issues/1447
2020-01-30 13:01:17 -05:00
Tim Pope
268a9c1b8f Don't make assumptions about current line number when displaying commit 2020-01-26 17:39:32 -05:00
Tim Pope
fc0199555e Extend nvim carriage return workaround to ptys
References https://github.com/tpope/vim-fugitive/issues/1445
2020-01-26 15:37:02 -05:00
Tim Pope
d926e3beb4 Try to wipe out temp buffer from :read
Also try to preserve marks.
2020-01-26 10:57:19 -05:00
Tim Pope
40872a9555 Don't use job pty unless Vim supports it
Closes https://github.com/tpope/vim-fugitive/issues/1444
2020-01-26 08:01:34 -05:00