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
Tim Pope
2bde1d9de6
Don't activate autocmds with tmp filenames
...
This was done in d4fb2a2f5c
to fix
filetype modelines, but it appears to no longer be necessary and is
confusing other plugins.
2019-05-02 23:44:16 -04:00
Tim Pope
b27e71c34b
Add <nowait> to gq map
2019-05-02 23:44:16 -04:00
Tim Pope
cfbaa27d11
Fix :Gstatus log with unpushed remote
2019-05-02 23:44:16 -04:00
Teo Ljungberg
16b7a060a3
Pass in matching number of arguments for :Gread
...
This was changed in 1ac2c70
for the other git commands, leading to the
following error message:
```
E118: Too many arguments for function: s:ReadCommand
```
2019-04-24 13:18:19 -04:00
Tim Pope
1ac2c707e5
Begin moving to standard command implementation interface
...
This is just the low hanging fruit. The goal is to make these adhere to
account for all possible future parameters so that these functions can
(maybe) be made public.
2019-04-05 21:47:09 -04:00
Tim Pope
4ec81b5251
New naming scheme for completion functions
2019-04-05 21:47:09 -04:00
Tim Pope
60eac8c974
Call :Gcommit from :Grebase --continue
2019-04-05 21:47:09 -04:00
Jay Sitter
1b3668b89f
Allow --abbrev as :Gblame argument ( #1243 )
2019-04-04 14:28:14 -04:00
Tim Pope
3aaeaca87b
Fix restore of sequence editor
2019-04-04 13:59:42 -04:00
Tim Pope
bd0b87d36a
Provide gq to close status buffer
...
References https://github.com/tpope/vim-fugitive/issues/1221
2019-03-01 16:43:42 -05:00
Tim Pope
57b4d848a4
Use :setlocal for all local options
2019-02-28 20:08:59 -05:00
Tim Pope
94723902fb
Remove stopgap support for reload after :Dispatch
...
ShellCmdPost is now supported in dispatch.vim.
2019-02-28 20:08:59 -05:00
Maksim Odnoletkov
ddd0513071
Reblame at HEAD from dirty lines
...
HEAD blame seems to be much more useful than index blame. You can
continue following evolution of the line with further jumps while before
you got struck on 'not yet committed' line if it was already added to
the index.
2019-02-27 23:59:39 -05:00
Tim Pope
b44b7b8ae7
Encapsulate b:git_dir
2019-02-27 23:42:58 -05:00
Tim Pope
0171b2a5b0
Fix function name mutilated by search and replace
2019-02-27 23:42:58 -05:00
Tim Pope
666c4abc12
Brute force mapping jumps
...
This is supposed to happen on FileType git, but depending on autocommand
order, exists('b:git_dir') might erroneously fail.
2019-02-27 23:42:58 -05:00
Tim Pope
a69b0b0fd6
Fix unofficial "a" map
...
Closes https://github.com/tpope/vim-fugitive/issues/1218
2019-02-25 14:18:36 -05:00
Tim Pope
66073d955d
Use blamed file when calling :Gbrowse in blame buffer
2019-02-25 14:18:36 -05:00
bennyyip
1a3c04585b
Gblame: allow passing --relative-date
2019-02-23 19:38:43 -05:00
Tim Pope
ad32eae7e2
Override color.ui=always
...
Closes https://github.com/tpope/vim-fugitive/issues/1217
2019-02-23 18:11:31 -05:00
Tim Pope
c5d8b25c5e
Don't repeatedly trigger FocusGained on win32
...
References https://github.com/tpope/vim-fugitive/issues/1209
2019-02-23 15:21:30 -05:00
Tim Pope
f259fd5d6d
Provide "i"
...
This is a weird one, and might get axed.
2019-02-21 13:28:10 -05:00
Tim Pope
755554bb3c
Sort untracked files before unstaged files
2019-02-21 13:28:10 -05:00
Tim Pope
28a03d0b00
Provide option for status reloading
...
Closes https://github.com/tpope/vim-fugitive/issues/1209
2019-02-21 13:28:10 -05:00
Tim Pope
8caa4a0ba3
Try J/K for next/previous
...
I'm also entertaining using J to toggle the "squash" instruction in an
interactive rebase, so no documentation for these yet.
2019-02-21 12:39:16 -05:00
Tim Pope
01b9a645b6
Provide checkout --ours/--theirs on X
...
Closes https://github.com/tpope/vim-fugitive/issues/954
2019-02-20 23:49:41 -05:00
Tim Pope
74aefa53ac
Support X on newly added file
...
Closes https://github.com/tpope/vim-fugitive/issues/1212
2019-02-20 23:49:41 -05:00
Tim Pope
654f7f5432
Support "." in visual mode
2019-02-20 23:41:32 -05:00
Tim Pope
26cf153e76
Refactor status spaghetti into dispatch mechanism
2019-02-18 17:26:39 -05:00
Tim Pope
15fb5f68ad
Remove duplicate q map
2019-02-18 14:02:33 -05:00
Tim Pope
a489c6e1d3
Fix reveal of hunks on CTRL-N
2019-02-13 21:01:19 -05:00
Tim Pope
b3de2f2284
Handle mysterious tab at the end of a diff filename with spaces
...
Closes https://github.com/tpope/vim-fugitive/issues/1202
2019-02-12 10:39:24 -05:00
Tim Pope
5c5581386f
Redo :Gstatus documentation
2019-02-11 13:22:47 -05:00
Tim Pope
7cb2ca81e3
Use current window for :0Gsplit
...
This is to enable :0Gsplit! to replace :Git!, opening that command up
for something more useful.
2019-02-10 18:49:04 -05:00
Tim Pope
0727261b38
Fix current line assumption
2019-02-10 18:49:04 -05:00
Tim Pope
489201879b
Eliminate s:StageReloadSeek()
2019-02-10 18:49:04 -05:00
Tim Pope
8899468c09
Handle git --version
with (Apple ...)
suffix
...
References https://github.com/tpope/vim-fugitive/issues/1194
2019-02-06 15:54:00 -05:00
Tim Pope
ed07f9a503
Guard against status reloading in wrong buffer
...
Closes https://github.com/tpope/vim-fugitive/issues/1191
2019-02-03 01:58:29 -05:00
Henrique Malheiro
c98d3cf38f
Fix bug in excluding Gstatus window from reuse
...
When Gstatus is the only window, executing Gdiff results in the Gstatus
being reused for the diff split.
Closes https://github.com/tpope/vim-fugitive/issues/853
2019-02-02 13:02:41 -05:00
David Briscoe
3304c14c63
Move filetype to after maps to allow user maps
...
The easiest way for users to define their own maps in Gstatus buffers is
using a ftplugin/fugitive.vim file with a `b:fugitive_type != 'index'`
guard. Setting the filetype after defining the maps allows users to
maniuplate "dangerous" maps and otherwise customize mappings.
For example, in ~/.vim/after/ftplugin/fugitive.vim:
if !exists('g:loaded_fugitive') || b:fugitive_type != 'index'
finish
endif
" Use s to stage *and* unstage changes: shadows -.
nmap <buffer> <silent> s -
xmap <buffer> <silent> s -
" I hit this by accident.
nunmap <buffer> X
2019-01-31 01:43:18 -05:00
Tim Pope
d27dbc40d4
Respect 'splitbelow' in :Gstatus
...
References https://github.com/tpope/vim-fugitive/issues/1169
2019-01-27 07:53:13 -05:00
John Drouhard
50cf1b3bd1
Fix s:Cd() usage in the Gblame command
...
Most usages in commit da3b2f32
(Support tab local working directories)
were updated to use this pattern, but Gblame missed the boat. Without
this, Gblame will change the root git tree but won't change back to the
previous location.
2019-01-27 05:26:00 -05:00
Tim Pope
8b32524219
Don't force foldtext for status buffer
...
Closes https://github.com/tpope/vim-fugitive/issues/1183
2019-01-26 03:55:33 -05:00
Tim Pope
5a7f5967e7
Don't set readonly globally
2019-01-24 14:11:07 -05:00
Tim Pope
552baf98b3
Support git grep --column
...
Closes
https://github.com/tpope/vim-fugitive/issues/1168
2019-01-13 15:17:09 -05:00
Tim Pope
58a4a2e102
Provide Git version comparison API
2019-01-13 15:17:09 -05:00
Maksim Odnoletkov
8bf74ceef3
Make all maps reblame at index when on dirty lines
...
Otherwise parent and grandparent maps lead to invalid URLs
2019-01-11 23:00:29 -05:00
Tim Pope
fe467f78bc
Allow ShellCmdPost to fire inside :Make
...
This was trying to block `au QuickFixCmdPost * copen` as it interfered
with restoring the working directory, but that was mainly a concern for
the other half of the conditional, so restore it to enable the status
buffer to reload.
2019-01-11 14:11:25 -05:00
Tim Pope
07845537d7
Fix :belowright Gstatus
...
Closes https://github.com/tpope/vim-fugitive/issues/1169
2019-01-11 13:58:40 -05:00
Tim Pope
ddc5e1a21a
Reload status after :Gpush and :Gfetch
...
So :make does indeed invoke ShellCmdPost. I just forgot about the
:noautocmd.
Closes https://github.com/tpope/vim-fugitive/issues/1166
2019-01-09 20:00:35 -05:00
Tim Pope
9211b11cd2
Use native edit commands in :Gstatus
...
This lets the :topleft modification kick in on older versions of Vim.
2019-01-09 15:00:36 -05:00
Tim Pope
6e74463965
Run :Gstatus edit command at top level
...
This results in a cleaner error when calling :edit in a modified file.
2019-01-09 14:57:07 -05:00
Tim Pope
b8a6fd204c
Always default to horizontal split for :Gstatus
...
Closes https://github.com/tpope/vim-fugitive/issues/1163
2019-01-09 14:03:43 -05:00
Tim Pope
75ca90739b
Ignore warnings in git status --porcelain
2019-01-09 14:03:43 -05:00
Tim Pope
5a1c8bbe46
Reload status on all quickfix commands
...
I thought that I had confirmed :make triggered ShellCmdPost but
apparently not.
Closes https://github.com/tpope/vim-fugitive/issues/1166
2019-01-09 14:03:43 -05:00
Tim Pope
bb46630828
Clarify that removal notices need to be fixed at the source
2019-01-07 11:30:04 -05:00
Tim Pope
c448104332
Fix :Gread deleting too much due to closed folds
2019-01-07 10:23:17 -05:00
Tim Pope
441074f881
Fix unstaging a deleted file
...
Apparently the -- is mandatory if the file no longer exists.
Closes https://github.com/tpope/vim-fugitive/issues/1161
2019-01-07 10:23:17 -05:00
Tim Pope
68cd7ecf71
Add simple rebase maps
...
Leaving undocumented until the rebase functionality is more fleshed out.
2019-01-06 01:58:15 -05:00
Tim Pope
fbeb9d6793
Use appropriate message for :Glog --walk-reflogs
2019-01-06 01:58:15 -05:00
Tim Pope
07f4f8d2a9
Don't set global value of 'modifiable'
2019-01-06 01:58:15 -05:00
Tim Pope
29f16cd924
Deprecate :Glog defaulting to current file
2019-01-05 14:08:01 -05:00
Tim Pope
b9ea3efdf8
Fix navigation maps like ~ in commit
2019-01-05 01:57:13 -05:00
Tim Pope
b1a993964b
Fix commit maps while accommodating bad modelines
...
We need modifiable off for the maps to kick in, but we need to turn it
back off before the doautocmd or else it will throw an error if the
modeline modifies the buffer with an option like fileencoding, which you
should never do, stop doing it.
2019-01-05 01:44:04 -05:00
Tim Pope
acf3cb4400
Reveal full hunk on :Gstatus CTRL-N
2019-01-03 22:47:41 -05:00
Tim Pope
9c74c0d0a7
Restore :checktime for :Gstatus delete
...
I assumed this was a naive attempt to reload the status buffer, when in
fact it was concerned with reloading the deleted file.
2019-01-03 22:47:41 -05:00
Tim Pope
4df6525284
Fix check for :Gstatus window
2019-01-03 22:47:41 -05:00
Tim Pope
a4de0238bb
Try split instead of preview window for :G
2019-01-03 21:08:27 -05:00
Tim Pope
227159e964
Include backslash lines in diff hunks
2019-01-03 21:08:27 -05:00
Tim Pope
9e4fd4b3f6
Run diff for :Gstatus from project root
...
Closes https://github.com/tpope/vim-fugitive/issues/1155
2019-01-03 21:08:27 -05:00
Tim Pope
8c89c8d1f5
Enable maps in :Git! output buffers
2019-01-03 16:08:01 -05:00
Tim Pope
42408d6a2e
Don't break jump list when loading buffer
...
Closes https://github.com/tpope/vim-fugitive/issues/1124
2019-01-03 16:08:01 -05:00
Tim Pope
3383badda5
Don't stage/unstage from unstage/stage maps
...
This needs count and visual selection support.
2019-01-03 12:20:54 -05:00
Tim Pope
faeb3a9726
Enable discarding individual hunks
2019-01-03 11:44:19 -05:00
Tim Pope
357fbdbcf9
Enable staging individual hunks
2019-01-03 11:44:19 -05:00
Tim Pope
6cf448324c
Fix inline diffs including submodule logs
...
Closes https://github.com/tpope/vim-fugitive/issues/1151
2019-01-03 11:44:19 -05:00
Tim Pope
d948ec3376
Support expanding inline diffs in :Gstatus
2019-01-03 00:19:21 -05:00
Tim Pope
51abc6a1bb
Fix :Gstatus toggle on Unstaged heading
2019-01-02 16:58:50 -05:00
Tim Pope
d4e06150cb
Fix issue loading conflict buffers on :Grebase -i
2019-01-02 16:58:50 -05:00
Tim Pope
61d467b573
Extract function for reloading individual :Gstatus
2019-01-02 16:58:50 -05:00
Tim Pope
054ac50975
Fix reference to rebase buffer when closing tab
2019-01-01 19:28:01 -05:00
Tim Pope
037965583e
Don't overlap navigation maps with :Gcommit maps
2019-01-01 19:01:33 -05:00
Tim Pope
4c7998f58c
Add :G as alias for :Gstatus
2019-01-01 14:21:16 -05:00
Tim Pope
40e8d0b9f0
Support for :Grebase --interactive
2018-12-31 13:48:38 -05:00
Tim Pope
9aef731593
Add rebase summary to :Gstatus
...
For lack of better ideas this is heavily inspired by Magit, though I'm
not really convinced it's the best representation.
2018-12-31 12:08:31 -05:00
Tim Pope
bad1331607
Don't jump from :Gstatus another :Gstatus
2018-12-31 12:07:45 -05:00
Tim Pope
ce3d3df508
Fix maps in commit buffers
2018-12-31 01:45:12 -05:00
Tim Pope
cb18a96651
Do what I mean for :Grebase --autosquash
2018-12-31 01:01:07 -05:00
Tim Pope
b8364709e7
Refer :Gstatus p users to P
2018-12-31 01:01:07 -05:00
Tim Pope
b9825af3dc
Fix focus bug on reloading multiple :Gstatus buffers
2018-12-31 01:01:07 -05:00
Tim Pope
d41dee9c0b
Deprecate fugitive#buffer()
2018-12-28 17:54:57 -05:00
rbong
b66141e252
Open todo file on Grebase --edit-todo
2018-12-28 17:53:01 -05:00
rbong
ae8fed6dd3
Call Gcommit on Grebase --continue
...
On a rebase instruction that should result in an immediate commit,
the quickfix list will be closed and Gcommit will be called.
2018-12-28 17:53:01 -05:00
Tim Pope
0850600021
Combine unstaged and untracked files into one section
...
Is this a good idea? Let's find out!
2018-12-27 18:05:29 -05:00
Tim Pope
86990ef899
Fix - on :Gstatus section headings
2018-12-27 17:34:51 -05:00
Tim Pope
f2b644a60b
Set dispatch to :Gfetch in :Gstatus
2018-12-26 16:24:16 -05:00
Tim Pope
a1f9596d2d
Add mods support to :Gmerge
2018-12-26 16:24:16 -05:00
Tim Pope
de1f8b5a20
Fix workaround to reload status after :Dispatch
2018-12-26 16:24:16 -05:00
Tim Pope
a32c301f51
Remove :Gcommit claiming :Gstatus window
2018-12-25 19:36:26 -05:00
Tim Pope
261c00986d
Change vsplit map from S to gO
2018-12-25 19:35:13 -05:00
Tim Pope
01050c9569
Fix :Gstatus error on branch without pull source
2018-12-25 16:35:00 -05:00
Tim Pope
d3468dd09b
Prototype new :Gstatus
2018-12-25 14:11:50 -05:00
Tim Pope
d06080ae35
Reload status after dispatch.vim backed :Gpush
2018-12-24 17:25:32 -05:00
Tim Pope
1044e0f126
Fix config case sensitivity when cached
2018-12-24 17:25:29 -05:00
Tim Pope
d4eba85499
Add maps for :Gcommit --fixup/--squash
2018-12-24 14:42:47 -05:00
Tim Pope
b295f49e93
Change :Gstatus U to g|
...
I want U for a full `git reset`. This will probably end up on X, but I
don't want to do a second abrupt transition, so for now, the official
map is the ungainly g|.
2018-12-24 14:42:47 -05:00
Tim Pope
d625c55689
Fix erratic conf file type on :Gstatus
...
Closes https://github.com/tpope/vim-fugitive/issues/1137
2018-12-24 11:36:39 -05:00
Tim Pope
baee3bbfe8
Prevent bad modeline from blocking a :split
...
Closes https://github.com/tpope/vim-fugitive/issues/1136
2018-12-23 17:15:44 -05:00
Tim Pope
38c6acf27a
Disable modelines while loading blob
...
Modelines will still be evaluated by `doautocmd BufReadPost`.
References https://github.com/tpope/vim-fugitive/issues/1136
2018-12-23 14:31:16 -05:00
Tim Pope
0f6038881f
Handle case sensitivity in config keys correctly
2018-12-22 14:59:59 -05:00
Tim Pope
4ecd7e8932
Allow reusing dictionary for config queries
2018-12-22 14:59:59 -05:00
Tim Pope
73220820b5
Don't open :Gstatus on empty :Gcommit
2018-12-19 17:25:05 -05:00
Tim Pope
5540d257ef
Add s and u aliases for stage/unstage in :Gstatus
2018-12-19 17:25:05 -05:00
Tim Pope
d48fc4a5ec
Cache config queries
...
Does not support includeIf directives or a system config outside of
/etc/gitconfig for cache expiration.
2018-12-19 17:25:05 -05:00
Tim Pope
c98daaacfe
Refactor :Gstatus reload cursor positioning
2018-12-18 19:53:24 -05:00
Tim Pope
e8f4f28c93
Replace deprecated repository relative path syntax
2018-12-18 18:44:49 -05:00
Tim Pope
da3b2f3285
Support tab local working directories
2018-12-16 22:28:01 -05:00
Daniel Hahler
e48cf2dadd
Gblame: allow passing --first-parent
...
Also fixes the filter for `--root` and `--show-name`.
2018-11-18 17:11:26 -05:00
Tim Pope
6d497b0e63
Fix erroneous use of :keeppatterns g/.../s//.../
...
Closes https://github.com/tpope/vim-fugitive/issues/1008
2018-10-28 19:48:15 -04:00
Tim Pope
dcf32d2b3d
Clearer errors
2018-10-27 18:22:15 -04:00
Tim Pope
0fd64f8fbf
Remove FugitiveGenerate() in favor of FugitiveFind()
2018-10-21 19:44:20 -04:00
Tim Pope
7fae98f263
Associate conflicted files with relevant commits
2018-10-12 15:14:49 -04:00
Tim Pope
a9100fafb8
Show 7 not 8 SHA charcters in statusline
2018-09-24 17:04:06 -04:00
Tim Pope
9fec8aadc5
Use merge-base as starting point for ranged :Gbrowse
2018-09-19 17:38:19 -04:00
Tim Pope
fb55319973
Show error getting type for object in BufReadCmd
2018-09-15 16:47:28 -04:00
Justin M. Keyes
02fe20ece4
Use :keeppatterns with :substitute
2018-09-15 12:26:10 -04:00
Rick
6cd8ff77f0
Fix undefined variable
2018-09-13 10:51:08 -04:00
Tim Pope
af76267c6a
Fix backport of @ to old Git
2018-09-12 12:32:43 -04:00
Tim Pope
144b73946e
Older versions of cat-file do not accept --
2018-09-12 12:06:19 -04:00
Tim Pope
d4fb2a2f5c
Fix modeline support in historical buffers
...
Closes https://github.com/tpope/vim-fugitive/issues/1092
2018-09-09 09:37:06 -04:00
Tim Pope
4bf30ce907
Dogfood fugitive#Prepare()
2018-09-02 23:26:14 -04:00
Tim Pope
0fe0964385
Enhance fugitive#Prepare()
2018-09-02 23:25:43 -04:00
Tim Pope
8b4a1017b6
Simplify :Gstatus reset logic
2018-08-29 20:35:35 -04:00
Tim Pope
66e0fe5d3e
Fix - in :Gstatus on line 1 as Vinegar like navigation
2018-08-29 20:34:42 -04:00
Tim Pope
61b09ca6b7
Fix gf in gitcommit diff
...
Closes https://github.com/tpope/vim-fugitive/issues/1084
2018-08-29 17:15:28 -04:00
Tim Pope
fd83fcaf90
Support expansion flags
2018-08-28 00:35:35 -04:00
Tim Pope
4d3835f637
Accept buffer number to FugitiveRoute()
2018-08-28 00:35:35 -04:00
Tim Pope
44e5df8433
Provide API for retrieving working dir relative path
2018-08-27 21:04:41 -04:00
Tim Pope
bb2797d313
Special case :0Gread to get around FileReadCmd limitations
2018-08-20 15:00:55 -04:00
Tim Pope
67e9756c35
Support .git/.. to refer to work tree
2018-08-20 15:00:55 -04:00
Tim Pope
ae2005adbb
Return '' for FugitiveRoute('')
2018-08-20 15:00:55 -04:00
Tim Pope
ed36717a68
Use 2 argument system() rather than stdin redirect
2018-08-19 23:26:36 -04:00
Tim Pope
b1ab990314
Use -- to disambiguate arguments
...
This is to enable future replacement of s:Prepare() with
fugitive#Prepare().
2018-08-19 23:24:45 -04:00
Tim Pope
2b5effe2f1
Fix :Gbrowse with cwd other than work tree
2018-08-19 18:27:46 -04:00
Tim Pope
662b501eee
Resolve temp files only when using as buffer name
...
Closes https://github.com/tpope/vim-fugitive/issues/1078
2018-08-19 14:56:34 -04:00
Tim Pope
7bdf33d375
Always convert backslashes on Windows
...
The old conditional was fine for most things, but this ensures that
backslashes are used even for raw user input.
References https://github.com/tpope/vim-fugitive/issues/1079
2018-08-19 14:56:34 -04:00
Tim Pope
e9dc363745
Fix check for need to convert Windows path slashes
...
Closes https://github.com/tpope/vim-fugitive/issues/1079
2018-08-19 05:07:33 -04:00
Tim Pope
9979b2ab7c
Ignore 'shellslash' when checking for Win32 shell
2018-08-19 00:11:46 -04:00
Tim Pope
8589246545
Tweak check for Win32 shell
...
References https://github.com/tpope/vim-fugitive/issues/1079
2018-08-18 23:15:05 -04:00
Tim Pope
7b0aa58090
Accept ./ paths as relative to cwd
2018-08-15 19:24:35 -04:00
Tim Pope
45c21fc384
Normalize path specs when generating commands
2018-08-13 00:08:59 -04:00
Tim Pope
8dc13a6a72
Restore backwards compatible behavior of repo.translate()
2018-08-12 23:03:20 -04:00
Tim Pope
0614acc770
Fix issues with commit:./relative completion
2018-08-12 21:37:38 -04:00
Tim Pope
1a7b07cf22
Support commit:./relative style revisions
2018-08-11 19:15:56 -04:00
Tim Pope
4a3c6b4a56
Adjust section headers
2018-08-11 19:15:56 -04:00
Tim Pope
e3c9588e07
Extract function for getting current commit/ref
2018-08-11 19:15:56 -04:00
Tim Pope
40facfde5e
Rewrite <C-R><C-G> and y<C-G>
2018-08-11 02:41:33 -04:00
Tim Pope
236bd21b45
Use <nowait> for - maps
...
Closes https://github.com/tpope/vim-fugitive/issues/1076
2018-08-11 02:41:33 -04:00
Tim Pope
e9ce313912
Support pathspec arguments to :Gcd
2018-08-11 01:26:23 -04:00
Tim Pope
74b10425eb
Fix legacy expansion of bare caret/tilde
2018-08-11 01:26:21 -04:00
Tim Pope
1a041936da
Provide less awkward signature for s:Prepare()
2018-08-11 00:55:21 -04:00
Tim Pope
a358191cfb
Use unambiguous paths for :Gstatus dot map
...
When the current working directory isn't the work tree, use absolute
paths so that pairing with both :Git and :! works as expected.
2018-08-10 19:22:13 -04:00
Tim Pope
597289e64d
Handle :Gmove paths consistently
2018-08-10 19:22:13 -04:00
Tim Pope
7ea21ca9ac
Give precedence to absolute paths over pseudo-relative
...
I was planning on phasing out support for /path to access a file in the
root of the repo slowly, but life gets simpler if we can count on
absolute paths always working as expected.
2018-08-10 16:00:46 -04:00
Tim Pope
2ca0765dc4
Ignore dot files when globbing
2018-08-10 16:00:46 -04:00
Tim Pope
dd262b7e21
Decouple routing from repo object
2018-08-06 16:38:49 -04:00
Tim Pope
f91c34069e
Decouple Head() from repo object
2018-08-06 16:38:49 -04:00
Tim Pope
40e2dcba05
Delegate to other real filename implementations
2018-08-06 16:38:49 -04:00
Tim Pope
a3e9518186
Fix file API to distinguish between commits
2018-08-06 16:38:49 -04:00
Tim Pope
8c63314381
Report error checking for merge conflict
...
References https://github.com/tpope/vim-fugitive/issues/756
2018-08-06 11:13:42 -04:00
Tim Pope
12e0151750
Adjust completion of /absolute/paths
...
Support for an initial slash to access a work tree file is being phased
out.
2018-08-06 10:55:46 -04:00
Tim Pope
887d86e920
Don't strip trailing slash from URLs
2018-08-06 10:54:09 -04:00
Tim Pope
73ed8e8a71
Fix check for empty remote
2018-08-06 01:45:39 -04:00
Tim Pope
4bf7f2fd69
Support :(top) pseudo-pathspecs
2018-08-04 20:13:47 -04:00
Tim Pope
08d471056e
Provide fugitive#Prepare()
2018-08-04 20:13:47 -04:00
Tim Pope
969a3d857f
Don't escape "!" when calling :terminal
2018-08-04 20:13:47 -04:00
Tim Pope
06b3da7204
Fix shell expansion in :Git! buffers
2018-08-04 18:54:28 -04:00
Tim Pope
db3b837e6e
Rewrite :Glog to use string argument rather than list
...
This makes shell expansion less weird.
2018-08-03 01:35:44 -04:00
Tim Pope
b780bce39b
Expand argument to :Gwrite
2018-08-02 22:50:33 -04:00
Tim Pope
a615172b14
Edit index file when no work tree present
...
Life gets simpler if this function never fails.
2018-08-02 18:39:02 -04:00
Tim Pope
caee67c748
Fix query operations in bare repositories
2018-08-02 18:39:02 -04:00
Tim Pope
1fea1e5821
Support :Gedit /absolute/path when possible
...
Usage of /relative/path is deprecated in favor of ./relative/path, but
it's still supported on top of this for now.
2018-08-02 15:32:14 -04:00
Tim Pope
80e410c81a
Fix :Gedit default from commit to work tree
2018-08-02 15:16:36 -04:00
Tim Pope
84fcfae7f0
Unify shell expansion
2018-08-01 21:49:49 -04:00
Tim Pope
0e948d514c
Fix write command with Win32 path
2018-08-01 14:14:38 -04:00
Tim Pope
4eee908ad5
Adjust :Gbrowse range for upstream head
2018-08-01 13:54:12 -04:00
Tim Pope
c1d2fc1a19
Remove filename expansion from buffer object
...
This has long haunted me as a particularly egregious design, as
expansion of "%" is always respective to the current buffer.
2018-07-31 23:57:38 -04:00
Tim Pope
c85980cd93
Rename s:shellslash() to s:Slash()
2018-07-31 16:39:15 -04:00
Tim Pope
81deb6333a
Improve worktree support
2018-07-31 16:39:13 -04:00
Tim Pope
85f340590d
Fix :Gbrowse in historical buffers
2018-07-31 15:25:14 -04:00
Tim Pope
c82abd0558
Fix function reference
2018-07-31 02:44:42 -04:00
Tim Pope
d859e05f00
Really fix :Gcd
...
Closes https://github.com/tpope/vim-fugitive/issues/1071
2018-07-31 02:24:31 -04:00
Tim Pope
3feda7f440
Fix :Gcd
...
Closes https://github.com/tpope/vim-fugitive/issues/1071
2018-07-31 01:00:14 -04:00
Tim Pope
c9c406a118
Fix extra slash generating work tree filenames
...
Closes https://github.com/tpope/vim-fugitive/issues/1069
2018-07-30 19:40:47 -04:00
Tim Pope
6c89a3675b
Support :Gedit +cmd ++opt
2018-07-30 00:47:26 -04:00
Tim Pope
023ab8e4a6
Eliminate s:repo() and s:buffer()
2018-07-29 22:41:29 -04:00
Tim Pope
da95d96ece
Replace s:repo().rev_parse()
2018-07-29 22:41:29 -04:00
Tim Pope
8a0a448f56
Show fake trees when editing directory in index
2018-07-29 15:08:31 -04:00
Tim Pope
004da420e5
Match trailing slash in FugitivePath()
2018-07-29 14:30:51 -04:00
Tim Pope
8b4194047c
Rearrange
2018-07-29 14:30:48 -04:00
Tim Pope
716edd4bc0
Redo completion
2018-07-29 00:24:28 -04:00
Tim Pope
70c0f132f5
Fix :Gblame
2018-07-29 00:24:28 -04:00
Tim Pope
a8392e0ebb
Fix fugitive#Real() with non-Fugitive URL
2018-07-29 00:24:28 -04:00
Tim Pope
f232e4c6a3
Support completion of local commits for --fixup=/--squash=
2018-07-28 22:05:03 -04:00
Tim Pope
f8fb5eafab
Eliminate remaining s:repo().dir() and s:repo().tree() calls
2018-07-28 22:05:03 -04:00
Tim Pope
4f82d241cc
Fix jump to file
2018-07-28 22:05:03 -04:00
Tim Pope
f761ea700c
Rewrite :Gedit and :Gread
2018-07-28 20:33:28 -04:00
Tim Pope
035cdf44e8
Make fugitive#Prepare() private
2018-07-28 20:33:17 -04:00
Tim Pope
deaf4aa139
Pass absolute paths through FugitiveGenerate() unchanged
...
This is designed to exclude traditional paths, URLs, and also Vim
constructs like zipfile:c:\foo.zip::file.
2018-07-28 20:33:17 -04:00
Tim Pope
4643363b08
Handle FugitiveReal('') correctly
2018-07-28 19:43:44 -04:00
Tim Pope
c5d4ce7479
Fix map to follow the pattern
2018-07-28 17:37:07 -04:00
Ryo Susami
6eadff1107
Correct the directory separator of Path() on Windows ( #1067 )
2018-07-28 01:50:51 -04:00
Tim Pope
c68fb3c83a
Remove redundant maps
2018-07-27 13:42:11 -04:00
Tim Pope
6c09ce3ab4
Prefer :Gedit to s:Edit() where possible
2018-07-27 13:39:53 -04:00
Tim Pope
cec05fac01
Fix missing :Gblame in work tree files
...
Closes https://github.com/tpope/vim-fugitive/issues/1066
2018-07-27 08:54:58 -04:00
Tim Pope
4b0475f9d8
Map <CR> in blobs to jump to blamed commit
2018-07-27 01:48:44 -04:00
Tim Pope
8edc9cd006
Work around janky autocommands when returning to diffed window
...
Closes https://github.com/tpope/vim-fugitive/issues/1065
2018-07-27 01:46:13 -04:00
Tim Pope
382c0a5405
Provide config functions globally
...
This makes it easier to check for them with exists().
2018-07-27 01:46:13 -04:00
Tim Pope
c472b8f2c1
Provide file permission API
2018-07-27 01:34:49 -04:00
Tim Pope
30c2490b6e
Provide file writing API
2018-07-27 01:34:49 -04:00
Tim Pope
5a9b7a593b
Provide file deletion API
2018-07-27 01:34:49 -04:00
Tim Pope
4ce8646410
Remove s:repo().aliases()
2018-07-27 01:34:49 -04:00
Tim Pope
321f63ff19
Compartmentalize filetype support
2018-07-27 00:19:57 -04:00
Tim Pope
7f299fbbe3
Eliminate remaining uses of s:buffer().type()
2018-07-27 00:19:57 -04:00
Tim Pope
6d0df81732
Run correct auto-commands for BufWrite and FileWrite
2018-07-26 20:56:26 -04:00
Tim Pope
c3c39d904b
Try embedding shell cd if -C not available
...
Old Git versions lacking -C are often paired with old Vim versions
lacking haslocaldir(), so chance some shell weirdness over screwing up
Vim's local directory.
2018-07-26 15:51:06 -04:00
Tim Pope
6bab1a0c39
Map p to jump to file in preview window
...
Closes https://github.com/tpope/vim-fugitive/issues/1047
2018-07-25 16:30:54 -04:00
Tim Pope
49c2a4acb5
Revert "Unify jump to file logic"
...
This reverts commit 73c39195ae
, which
broke opening in a different window from :Gstatus.
2018-07-25 16:12:19 -04:00
Tim Pope
73c39195ae
Unify jump to file logic
2018-07-25 02:04:48 -04:00
Tim Pope
f818a947ae
Map p to in :Gblame to open commit in preview window
2018-07-25 01:06:08 -04:00
Tim Pope
fbaa831e57
Show error on :Gblame jump on uncommitted line
2018-07-25 01:06:08 -04:00
Tim Pope
07d30de8be
Return relative paths with second argument to FugitivePath()
2018-07-25 01:04:36 -04:00
Tim Pope
c693da9cb0
Drop support for uppercase statusline indicator
...
If you want this, I'm happy to bring it back as a separate function. I
think it's a bit too clever to detect automatically.
2018-07-25 01:04:36 -04:00
Tim Pope
1e7e707696
Preserve trailing slash in FugitiveReal()
2018-07-24 23:13:29 -04:00
Tim Pope
d818ac93af
Make bang argument to :Glog explicit
...
Playing with some changes here and committing this part makes it easier
to reload the plugin after stashing changes.
2018-07-24 23:13:29 -04:00
Tim Pope
286476d58f
Fix upwards navigation on "-"
2018-07-24 23:13:29 -04:00
Tim Pope
b78a8ab860
Remove indirection
2018-07-24 23:13:29 -04:00
Tim Pope
e6e3f3f225
Don't :cd if directory already correct
2018-07-24 19:58:01 -04:00
Tim Pope
240127f5a5
Eliminate use of buffer.commit()
...
Can't add a s:Commit() helper because that's the :Gcommit implementation
function, dang it.
2018-07-24 19:58:01 -04:00
Tim Pope
bfc1745f3b
Handle bare repository case when shelling out
2018-07-23 13:55:50 -04:00
Tim Pope
93f29cf831
Fix shelling out from subdirectory
...
Closes https://github.com/tpope/vim-fugitive/issues/1061
2018-07-23 13:50:48 -04:00
Tim Pope
5879304769
Move GIT_INDEX_FILE override closer to home
2018-07-23 13:50:48 -04:00
Tim Pope
196e448375
Make :Gmove always relative to repository root
2018-07-22 19:16:17 -04:00
Tim Pope
e0b770a9bd
Drop instaweb support
...
I had been considering extracting it, but it's so badly broken that
clearly nobody actually uses it.
2018-07-22 17:33:59 -04:00
Tim Pope
c938737960
Encapsulate fugitive#buffer().relative()
2018-07-22 16:17:17 -04:00
Tim Pope
978ca4a5ce
Encapsulate fugitive#repo().git_chomp_in_tree()
2018-07-22 16:14:42 -04:00
Tim Pope
a8626a4ca4
Avoid false positive matches of status files in non-status buffers
2018-07-22 01:58:20 -04:00
Tim Pope
4a5781bc1b
Fix issue generating Fugitive URLs
2018-07-22 01:57:39 -04:00
Tim Pope
71acb7da35
Provide FugitiveGenerate() and FugitiveParse()
2018-07-22 01:29:49 -04:00
Tim Pope
1e41a88ec9
Default to branch remote rather than origin
2018-07-21 21:53:26 -04:00
Tim Pope
9e7b67e9b0
Refactor repo.translate for future extraction
2018-07-21 21:53:26 -04:00
Tim Pope
445a8160d2
Provide Git dir to browse handlers
2018-07-21 21:53:26 -04:00
Tim Pope
cb49f8b4be
Drop repo.dirglob
2018-07-21 21:53:26 -04:00
Tim Pope
6aa3f09eb7
Drop buffer.up
2018-07-21 21:42:34 -04:00
Tim Pope
197ca58a95
Remove unused variable
2018-07-21 21:42:34 -04:00
Tim Pope
7165817b69
Attempt 2 at fixing :Gbrowse tagname
2018-07-21 21:42:34 -04:00
Tim Pope
be68a8ec8a
Add Git config query functions
...
Querying the remote URL is a behavior needed by Rhubarb and similar
plugins, so add a function for it in particular.
2018-07-21 17:36:51 -04:00
Tim Pope
b8046d1c5e
Reduce noise on E211 from :Git
2018-07-21 17:36:51 -04:00
Tim Pope
b7e57637ba
Add warning for editing invalid Fugitive URL
...
Closes https://github.com/tpope/vim-fugitive/issues/1060
2018-07-21 17:36:51 -04:00
Tim Pope
c118dabb89
Fix :Glog
...
Closes https://github.com/tpope/vim-fugitive/issues/1059
2018-07-20 22:06:22 -04:00
Tim Pope
8c076e3f68
Drop some silly instance methods
2018-07-20 15:30:54 -04:00
Tim Pope
0aa3389f5c
Decouple :Gcommit from repo object
2018-07-20 15:30:54 -04:00
Tim Pope
fb2289982b
Rename overlooked snakecase function
2018-07-20 02:11:19 -04:00
Tim Pope
56e4947843
Support FileWriteCmd
...
This correctly requires a bang to write a partial file, but the error
message is E212 rather than the more appropriate E140.
2018-07-20 00:03:45 -04:00
Tim Pope
99f0431135
Thorough error reporting for broken system() calls
2018-07-19 02:59:29 -04:00
Tim Pope
29411e2801
Decouple autocommand functions from repo object
2018-07-19 02:59:29 -04:00
Tim Pope
c0b6faeae7
Support SourceCmd for Fugitive URLs
2018-07-18 20:11:19 -04:00
Tim Pope
792154e45d
Unify FileReadCmd autocommands
2018-07-18 20:01:58 -04:00
Tim Pope
0717396aa2
Avoid some redundant --git-dir arguments
2018-07-18 20:01:58 -04:00
Tim Pope
9b9a81b170
Fix error on failure to load buffer
2018-07-18 20:01:58 -04:00
Tim Pope
598ad040b3
Fix b:fugitive_type in temp buffers
2018-07-18 19:46:48 -04:00
Tim Pope
805c0bbdd9
Fix i and a in :Gstatus
...
This is a stupid feature that needs to be ripped out.
2018-07-18 19:46:48 -04:00
Tim Pope
1971f8fd62
Restore highlight after warning message
2018-07-18 17:58:56 -04:00
Tim Pope
5ba918ea7b
Support :Gread commit to read commit message
2018-07-17 01:42:57 -04:00
Tim Pope
27475a5d08
Provide function for preparing Git shell command
2018-07-17 01:42:57 -04:00
Tim Pope
c9d6c83470
Loosen regexp to allow for Windows paths
2018-07-16 21:44:32 -04:00
Tim Pope
8df073165a
Extract helper for robust tempname
2018-07-16 21:38:21 -04:00
Tim Pope
9bc425e943
Add missing function
2018-07-16 21:38:16 -04:00
Tim Pope
65346f0926
Fix readfile
2018-07-16 20:29:48 -04:00
Tim Pope
5a7469d899
Improve error reporting for BufReadCmd autocommands
2018-07-16 17:11:50 -04:00
Tim Pope
6f07b18012
Allow opting out of :terminal in Neovim
...
Closes https://github.com/tpope/vim-fugitive/issues/1051
2018-07-13 15:14:09 -04:00
Tim Pope
302f30c924
Handle :Gcommit % when working dir isn't Git dir
2018-07-11 00:21:03 -04:00
Tim Pope
7316baffdd
Fix typo in regexp
2018-07-10 17:28:00 -04:00
Tim Pope
0a75ec5d9b
Provide file API
...
You can call these functions directly if you want, but they're designed
to be a generic interface for any URL:
function! s:fcall(fn, file, ...) abort
let ns = matchstr(a:file, '^\a\a\+\ze:')
if len(ns) && exists('*' . ns . '#' . a:fn)
return call(ns . '#' . a:fn, [a:file] + a:000)
else
return call(a:fn, [a:file] + a:000)
endif
endfunction
2018-07-01 20:22:25 -04:00
Tim Pope
80ff014d21
Add function alias
...
This might become the official version.
2018-06-29 18:11:17 -04:00
Tim Pope
b5f7c37d93
Replace buffer.path() with buffer.relative()
2018-06-28 15:44:22 -04:00
Tim Pope
6d2a83232a
Handle bare repos in FugitivePath()
2018-06-28 15:43:52 -04:00
Tim Pope
ea38c7d664
Don't include newline in Git version
2018-06-28 15:43:52 -04:00