Tim Pope
6d9dd103c0
Fix false positive matching filename in blame
2019-11-30 17:15:44 -05:00
Tim Pope
3b1da8b217
Remove debugging function
2019-11-27 16:34:28 -05:00
Tim Pope
67efbf66e0
Don't fall back to pwd for Git dir of blank filename
...
In particular, this fixes `FugitiveFind(..., '')` to respect the empty
Git dir argument rather than falling back to detection on the current
working directory. Which in turn fixes :Gstatus using the current
working directory when called from a buffer that does not belong to a
repository.
References https://github.com/tpope/vim-fugitive/issues/1408
2019-11-27 15:27:52 -05:00
Tim Pope
eed46c1f24
Perform automatic :diffoff on :Gdiffsplit /external/file buffers
...
Closes https://github.com/tpope/vim-fugitive/issues/1402
2019-11-21 22:08:37 -05:00
Tim Pope
dc5320630d
Provide explanatory error on :Gdiff ~
...
References https://github.com/tpope/vim-fugitive/issues/1402
2019-11-19 17:48:43 -05:00
Tim Pope
13fdeb5fa7
Don't show bogus unstaged changes in bare repository
...
References https://github.com/tpope/vim-fugitive/pull/1262
2019-11-17 22:19:33 -05:00
Tim Pope
a2d76c4583
Fix completion of stash@\{<Tab>
...
References https://github.com/tpope/vim-fugitive/issues/1396
2019-11-16 19:48:31 -05:00
Tim Pope
0004f585fd
Don't use arrow notation for unstaged modifications
...
Closes https://github.com/tpope/vim-fugitive/issues/1392
2019-11-15 20:31:29 -05:00
Tim Pope
b24f98fbb1
Cache fugitive#Head() to minimize statusline IO
...
Closes https://github.com/tpope/vim-fugitive/issues/1384
2019-11-15 20:05:18 -05:00
Tim Pope
8c84ea6fdb
Replace --no-patch with -s for Git < 1.8.4
...
Closes https://github.com/tpope/vim-fugitive/issues/1398
2019-11-12 21:31:36 -05:00
Tim Pope
1e57d678ba
Add PayPal donation link
2019-11-08 17:41:09 -05:00
Tim Pope
f6acae50ea
Improve robustness of status --porcelain=v1 parsing
...
References https://github.com/tpope/vim-fugitive/issues/1388
2019-10-27 18:53:19 -04:00
Tim Pope
0356edf6b8
Optimize away log calls in :Gstatus if no upstream changes
2019-10-26 09:05:49 -04:00
Tim Pope
e8c5b604db
Improve robustness of status --porcelain=v2 parsing
...
Closes https://github.com/tpope/vim-fugitive/issues/1388
2019-10-26 08:49:23 -04:00
Tim Pope
b09c5d2523
Resolve symlinks in configured work tree
...
Closes https://github.com/tpope/vim-fugitive/issues/1382
2019-10-22 05:13:42 -04:00
Tim Pope
395d947644
Force --no-edit on squash maps
...
References https://github.com/tpope/vim-fugitive/pull/1378
2019-10-20 15:37:41 -04:00
Tim Pope
06e34204af
Fix error message on blank buffer with no Git dir
2019-10-11 17:21:16 -04:00
Tim Pope
427ac52d7d
fugitive.vim 3.1
...
* Commands are now global, not buffer local.
* Calling a command in an unnamed buffer uses the working directory.
* Preserve line number on :Gedit to return to work tree buffer.
* Better submodule support in :Gstatus.
* Support git-blame revision ignoring features.
* Show first parent diff in merge commit buffer.
* Remove deprecated support for .git/tags.
* Bug fixes.
2019-10-10 19:47:39 -04:00
Tim Pope
8c29bf1bb9
Tab complete > arguments
2019-10-10 19:45:25 -04:00
Tim Pope
ea818f1fab
Include PowerShell in check for win32 shell
...
Closes https://github.com/tpope/vim-fugitive/issues/435
2019-10-09 11:33:53 -04:00
Tim Pope
28abadcb84
Fix incorrect script id from nested function call
...
Closes https://github.com/tpope/vim-fugitive/pull/1370
2019-10-07 12:08:12 -04:00
Tim Pope
c9cf1b3cb2
Make remaining buffer commands global
2019-10-02 14:40:38 -04:00
Tim Pope
cfdfc1ba14
Clearer error message on attempt to delete directory
...
Recursive deletion is too dangerous to provide without a confirmation
prompt.
Closes https://github.com/tpope/vim-fugitive/issues/1364
2019-10-02 14:01:22 -04:00
Tim Pope
5eeb7625df
Expand status file lookup into nested structure
...
References https://github.com/tpope/vim-fugitive/pull/1337
2019-10-01 16:19:36 -04:00
Tim Pope
4f0905e963
Preserve line number on :Gedit with no or > argument
...
Closes https://github.com/tpope/vim-fugitive/pull/1326
2019-10-01 15:43:12 -04:00
Tim Pope
f72ca2e6c1
Improve ++opt +cmd handling for :Gedit/:Gread
2019-09-30 20:43:16 -04:00
Tim Pope
621ffb087a
Fix :'<,'>Gclog on some Vim versions
...
This was an attempt to get out in front of issues like
https://github.com/tpope/vim-scriptease/issues/43 , but looks like it has
problems of its own.
Closes https://github.com/tpope/vim-fugitive/issues/1358
2019-09-30 19:07:04 -04:00
Tim Pope
24b463b5b3
Support REVERT_HEAD and CHERRY_PICK_HEAD
2019-09-30 17:53:11 -04:00
Tim Pope
eedfd2a570
Don't show tags warning when editing commit message
2019-09-28 11:14:30 -04:00
Tim Pope
ab26e9fdb3
Trigger User FugitiveChanged on events that change repository
...
Note that in the context of this event, Fugitive functions will use the
changed repository, which might not be the same as the current buffer's
repository. Pass bufnr() as the optional dir argument to force the
current buffer.
Closes https://github.com/tpope/vim-fugitive/issues/458
2019-09-27 09:30:40 -04:00
Tim Pope
fee14c149c
Don't reload status on non-Fugitive ShellCmdPost
2019-09-27 09:30:40 -04:00
Tim Pope
540d8024c2
Force status reload on commands likely to change it
2019-09-27 09:30:40 -04:00
Tim Pope
6eb5d8e4b2
Fix buffer local commands
...
Closes https://github.com/tpope/vim-fugitive/issues/1353
2019-09-26 16:20:19 -04:00
Tim Pope
80ef19665a
Fix typo
2019-09-26 10:48:07 -04:00
Tim Pope
18893e8ca7
Use more conventional quickfix event type for :Ggrep
...
References https://github.com/tpope/vim-scriptease/pull/45
2019-09-26 10:46:53 -04:00
Tim Pope
1b292303c2
Encapsulate doautocmd <nomodeline>
2019-09-26 10:46:53 -04:00
Tim Pope
c1244ea7d0
Default to left, not right split for empty :Gdiffsplit filename
...
This only happens in weird circumstances such as when you call
:Gdiffsplit in a commit object.
2019-09-26 10:46:53 -04:00
Tim Pope
417b3bb818
Fix off by 2 error staging multiple files
2019-09-22 21:30:05 -04:00
Tim Pope
edd054f76f
Fix visual mode exclusion for staging on section header
2019-09-22 21:29:40 -04:00
Tim Pope
37088aaf65
Fix X on removed file
...
References https://github.com/tpope/vim-fugitive/issues/1343
2019-09-22 21:27:41 -04:00
Tim Pope
1d8c0a38b2
Show first parent diff for merge commits
...
Closes https://github.com/tpope/vim-fugitive/issues/1121
2019-09-18 21:54:22 -04:00
Tim Pope
f5a94cbc81
Reload status after Vim :terminal command
...
Closes https://github.com/tpope/vim-fugitive/issues/1323
2019-09-16 17:25:47 -04:00
Tim Pope
dc413818a6
Fire ShellCmdPost after :Gpush
...
References https://github.com/vim-airline/vim-airline/issues/1970
2019-09-16 16:32:23 -04:00
Tim Pope
35f1095f9b
Expose completion helpers for subcommands
2019-09-09 19:10:24 -04:00
Tim Pope
f5fc469c0c
Ignore blank buffers in fugitive#Statusline()
2019-09-06 17:16:19 -04:00
Tim Pope
cb66611f03
Remove blank buffer FAQ entry
2019-09-05 17:26:58 -04:00
Tim Pope
49287b6e87
Remove redundant autocommands
2019-09-05 16:42:39 -04:00
Tim Pope
ec918b9a79
Support blank buffers
...
Closes https://github.com/tpope/vim-fugitive/issues/1000
2019-09-05 15:46:27 -04:00
Tim Pope
ff0eeac045
Document disabling global maps
...
References https://github.com/tpope/vim-fugitive/issues/1331
2019-09-05 15:36:56 -04:00
Tim Pope
eb04d8bcc0
Standardize on "maps", not "mappings"
2019-09-05 15:35:42 -04:00
Tim Pope
1937bc3cd9
Experimental support for blank buffers
2019-09-04 15:22:28 -04:00
Tim Pope
d2837b103c
Add sponsor button
2019-09-04 15:22:28 -04:00
Tim Pope
10c54dfc93
Set b:git_dir for :terminal buffers
2019-09-04 15:22:28 -04:00
Tim Pope
40bc5aff18
Make universal maps global
2019-09-04 15:11:59 -04:00
Tim Pope
68da9a2be3
Make :Glog and :Ggrep global
2019-09-04 15:11:59 -04:00
Tim Pope
804957a3e6
Make :Gbrowse global
2019-09-04 15:11:59 -04:00
Tim Pope
cf88ce96c9
Make :Gmove and :Gremove global
2019-09-04 15:11:59 -04:00
Tim Pope
2464b0c29a
Make :Gcd global
2019-09-04 15:11:59 -04:00
Tim Pope
77a732c97c
Explicitly document :Git subcommands
2019-09-04 15:11:59 -04:00
Tim Pope
64d106dfdd
Remove fugitive- prefix from command help topics
2019-09-04 13:17:20 -04:00
Tim Pope
c9d4ea7900
Always use Git style path for <C-R><C-G>
2019-09-04 13:17:20 -04:00
Tim Pope
99ad1a89fa
Relocate 'path' adjustment
...
I'm not sure where we should do this (if at all), but after loading the
appropriate buffer (and thus applying the file type) is a better place
than during general activation.
2019-09-04 13:17:20 -04:00
Tim Pope
2eb6aac0c4
Adjust warning wording
2019-09-04 13:17:20 -04:00
Tim Pope
c80ffaf073
Don't override user :Gr
2019-09-04 13:17:20 -04:00
Tim Pope
63a05a6935
Remove 'tags' support
2019-09-03 21:40:39 -04:00
Tim Pope
522d3d3c1e
Make edit commands global
2019-09-03 20:21:47 -04:00
Tim Pope
b8c33aa0a1
Enable edit commands to work without git dir
2019-09-03 20:20:37 -04:00
Tim Pope
39f9e2d722
Move IO functions with rest of API
2019-09-03 20:20:37 -04:00
Tim Pope
a45e2c6d57
Provide :Gr as alias for :Gread
2019-09-02 19:58:13 -04:00
Tim Pope
5042fd965d
Tweak :Gedit > semantics
...
Treat ~ and ^ suffixes as relative to current commit, not HEAD, and use
a bare > to get to the work tree version.
2019-09-02 19:58:13 -04:00
Tim Pope
251eda7eb6
Reduce fugitive#buffer() to stub object
2019-09-01 21:48:16 -04:00
Tim Pope
c212d854d5
Accommodate git-blame revision ignoring features
...
Closes https://github.com/tpope/vim-fugitive/issues/1316
2019-09-01 12:56:58 -05:00
Tim Pope
082a9b99e7
Remove double word in docs
2019-09-01 12:56:58 -05:00
Tim Pope
c13e0e1afd
Don't browse to blob for empty buffer
2019-08-31 22:34:34 -04:00
Tim Pope
b97a9abe29
Provide global :Git and :G
2019-08-22 19:46:20 -05:00
Tim Pope
410e17129d
Use :Git not :G for visible maps
...
Let's treat :Git as canonical and :G as the shorthand.
2019-08-22 19:45:20 -05:00
Tim Pope
3a01f4b819
Remove toggling behavior of :Gblame
...
References https://github.com/tpope/vim-fugitive/issues/1316
2019-08-22 19:15:43 -05:00
Tim Pope
f04a2275db
Remove feedkeys() contortions in :Gdiffsplit
...
Closes https://github.com/tpope/vim-fugitive/issues/1313
2019-08-21 15:14:39 -05:00
Tim Pope
b714adbc51
Fix q deprecation message
2019-08-21 09:12:17 -05:00
Tim Pope
9abe962c9d
fugitive.vim 3.0
...
* Use custom format for :Gstatus, not literal git status output.
* Inline diffing in :Gstatus, with support for staging individual hunks.
* List unpushed and unpulled commits in :Gstatus.
* Show rebase status in :Gstatus.
* Greatly expanded set of mappings in :Gstatus. Try g?, c?, and r?.
* :Gstatus p (add --patch) is changed to P.
* :Gstatus U (checkout/clean) is changed to X. New U behavior is global reset.
* :Gstatus 2X/3X performs checkout --ours/--theirs.
* :Gstatus gI ignores file.
* Smarter :Gstatus automatic reload.
* :Git subcommand calls :Gsubcommand when appropriate.
* :Git add --patch and similar commands use :terminal.
* :Git diff, :Git log, and :Git --no-pager display results in temp buffer.
* :Git and subcommand wrappers use custom quoting rather than shell escaping.
* :Git ... ./path is relative to working directory.
* Add --option completion to :Git and git wrappers.
* Provide :G as wrapper for both :Gstatus and :Git.
* Support for :Grebase --interactive.
* :Gblame accepts all arguments, including filenames and commits.
* Support :Gblame --reverse to navigate forwards through history.
* Support :Gblame with range to blame subset of current file.
* Allow disabling dynamic blame colors with let g:fugitive_dynamic_colors = 0.
* :Glog opens quickfix list instead of displaying raw log output.
* Cleaner :Glog quickfix list leveraging Vim's new "module" format.
* :Glog no longer defaults to current file. Use :0Glog for that.
* :0Glog follows file across renames.
* :Glog name softly deprecated in favor of :Gclog (named after :cfile).
* Provide :Grevert.
* :Gdiff renamed to :Gdiffsplit.
* :Gdiffsplit always opens one window. Use :Gdiffsplit! for conflicts.
* Support git grep --column.
* Chdir with git -C rather than :cd for most commands. (Git 1.8.5 required)
* Show all stderr hook output on :Gcommit.
* Provide core.askPass default for Gpush and friends.
* Require bang to :Gwrite from index.
* Bug fixes.
* Polish.
2019-08-20 10:06:56 -04:00
Tim Pope
b6bbb17e3f
Expose IO functions as object
...
This is a new interface to a slightly older API for performing standard
VimL IO functions against URLs (or any other URLs, the interface is
generic). Example wrapper function:
function! IO(fn, ...) abort
let file = a:fn ==# 'writefile' ? a:2 : a:1
let obj = get(g:, 'io_' . matchstr(file, '^\a\a\+'), {})
return call(get(obj, a:fn, a:fn), a:000)
endfunction
echo IO('filereadable', @%)
2019-08-20 08:51:52 -04:00
Tim Pope
9dcf1d7d81
Document important API functions
2019-08-20 08:51:52 -04:00
Tim Pope
a510b3aadf
Deprecate :Gstatus q
2019-08-20 08:51:52 -04:00
Tim Pope
c63fd1b71b
Support a...b as notation for merge base
...
Closes https://github.com/tpope/vim-fugitive/pull/913
2019-08-19 11:25:39 -04:00
Tim Pope
e768806266
Remove obsolete Git object examples
2019-08-19 11:22:52 -04:00
Tim Pope
f29298880f
Provide FugitiveGitPath()
2019-08-19 09:04:32 -04:00
Tim Pope
2b6199594a
Use FugitiveVimPath() to normalize directories during detection
2019-08-19 09:04:32 -04:00
Tim Pope
fd7b5d8a1e
Rename s:PlatformSlash() to FugitiveVimPath()
2019-08-19 08:41:15 -04:00
Tim Pope
e759a85486
Provide separate highlight groups for file sections
...
References https://github.com/tpope/vim-fugitive/issues/1159
2019-08-19 08:05:22 -04:00
Tim Pope
85ffe4754e
Remove dead code
2019-08-19 06:42:44 -04:00
Tim Pope
c242cb6369
Provide maps to find similar diff lines
2019-08-18 10:53:21 -04:00
Tim Pope
ff058bf5b7
Fix diff after :Gwrite
...
This works around a bug in Vim that was fixed in patch 8.0.0421.
Closes https://github.com/tpope/vim-fugitive/issues/1102
References https://github.com/tpope/vim-fugitive/pull/859
2019-08-18 10:53:20 -04:00
Tim Pope
ed6f4256fc
Change work tree buffer on :Gwrite exactly once
2019-08-18 09:11:10 -04:00
Tim Pope
1c22b69652
Remove dp map in blobs
...
The built-in is actually useful so don't shadow it.
2019-08-18 09:11:10 -04:00
Tim Pope
52f71a3154
Follow renames on :0Gclog
...
Closes https://github.com/tpope/vim-fugitive/issues/563
2019-08-18 07:18:17 -04:00
Tim Pope
fdbcad0624
Allow expanding merge conflict in :Gstatus
...
Closes https://github.com/tpope/vim-fugitive/issues/1242
2019-08-18 04:58:59 -04:00
Tim Pope
bbd9afe790
Provide map to close diff buffers
2019-08-18 04:58:59 -04:00
Tim Pope
f2ca0e43a1
Give s:MapEx() more intention revealing name
2019-08-18 04:58:59 -04:00
Tim Pope
25581bf775
Support discarding multiple changes in visual mode
...
Closes https://github.com/tpope/vim-fugitive/issues/944
2019-08-18 01:51:38 -04:00
Tim Pope
e69a3ea21a
Add nested to reload status autocommands
...
References https://github.com/tpope/vim-fugitive/pull/889
2019-08-17 08:43:21 -04:00