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
Tim Pope
442d56e23c
Fix :Glog
2019-08-16 13:48:46 -04:00
Tim Pope
d6f7eaf16c
Compensate for 'noequalalways' in merge diff
...
Closes https://github.com/tpope/vim-fugitive/issues/674
2019-08-16 07:08:05 -04:00
Tim Pope
b6dbe402e8
Fix :Glog with diff.noprefix set
...
Closes https://github.com/tpope/vim-fugitive/issues/606
2019-08-16 07:08:05 -04:00
Tim Pope
86c276d629
Fix version check for doautocmd <nomodeline>
2019-08-16 07:08:05 -04:00
Tim Pope
2518ef9a02
Map double click to jump to file
...
References https://github.com/tpope/vim-fugitive/pull/620
2019-08-15 22:58:37 -04:00
Tim Pope
bb82255490
Add :help reference to README
2019-08-15 22:46:36 -04:00
Tim Pope
a8163625f8
Vim automatically sets cursorbind for diff buffers
...
References https://github.com/tpope/vim-fugitive/pull/937
2019-08-15 22:39:04 -04:00
Tim Pope
7079d0c7e2
Convert all FugitivePrepare() int arguments to buffer names
2019-08-15 22:01:27 -04:00
Tim Pope
4f51d99f44
Encapsulate shell escaping user arguments
2019-08-15 22:01:27 -04:00
Tim Pope
c972b2a065
Fix :Ghdiffsplit with diffopt=vertical
...
Closes https://github.com/tpope/vim-fugitive/issues/990
2019-08-15 19:40:46 -04:00
Tim Pope
cf9ef7377f
Don't process modelines after :Gwrite
...
Closes https://github.com/tpope/vim-fugitive/issues/956
2019-08-15 17:53:27 -04:00
Tim Pope
45ca1eab83
Use platform slashes for :Gcd
...
The only current difference is backslashes on Windows, which aren't
required, but this may evolve into larger changes in the future.
2019-08-15 17:53:27 -04:00
Tim Pope
a80b965d0d
Remove legacy support for /relative/path
2019-08-15 17:53:27 -04:00
Tim Pope
03361373b1
Fix :Gstatus U map
2019-08-15 17:53:13 -04:00
Tim Pope
6a04e875f8
Provide diff maps in blobs
2019-08-15 11:49:54 -04:00
Tim Pope
557cc74141
Fix syntax error
...
Closes https://github.com/tpope/vim-fugitive/issues/1310
2019-08-15 11:49:54 -04:00
Tim Pope
b887de5ce2
Don't reuse blame buffers for Gstatus edits
2019-08-15 03:47:13 -04:00
Tim Pope
6cc52a1aab
Fix extra bang in diff maps
2019-08-15 03:47:13 -04:00
Tim Pope
faa895239b
Clean up gitdir file parsing
2019-08-15 03:34:00 -04:00
Tim Pope
6eb885c017
Always diff against parents in :Gdiffsplit!
2019-08-14 11:06:42 -04:00
Tim Pope
308e4bf241
Fix temp file gq shadowing blame gq
2019-08-14 09:38:39 -04:00
Tim Pope
7d484eaf52
Use s:Map() for nearly all maps
2019-08-14 09:38:39 -04:00
Tim Pope
34bfcd471b
Fix error generating command for :'<,'>Gblame
...
Closes https://github.com/tpope/vim-fugitive/issues/1308
2019-08-14 09:38:39 -04:00
Tim Pope
1d2821f91e
Clarify :Gstatus p behavior
...
I've seen a lot of confusion in the wild around this, and the old
behavior is immortalized in the Vimcasts. Lets make this an error while
we regroup.
2019-08-14 01:44:13 -04:00
Tim Pope
53e5e61afa
Emphasize :Glog behavior change
...
Let's go ahead and embrace :Gclog as a warning free version of the
command.
2019-08-14 01:44:13 -04:00
Tim Pope
1359d620eb
Force <nowait> for all generated maps
2019-08-13 23:32:50 -04:00
Tim Pope
5defa72b81
Provide count on blob blame maps for --reverse
2019-08-13 21:31:01 -04:00
Tim Pope
c21736dde7
Jump to file not diff for boundary commit in :Gblame
2019-08-13 21:31:01 -04:00
Tim Pope
11691b38bb
Allow :Gblame ^boundary to use scrollbind
2019-08-13 21:31:01 -04:00
Tim Pope
69bf0e3469
Accept commit.. :Gblame argument as commit not filename
2019-08-13 20:58:10 -04:00
Tim Pope
e7c2563288
Remove bang variant of :Git from README
...
This happens for the important commands automatically, and the new
override syntax is -P/--no-pager.
2019-08-13 19:44:17 -04:00
Tim Pope
c0ce201c3b
Remove :Git --paginate from docs
...
I thought the --paginate option was basically the opposite of
--no-pager, but it actually forces the entire command to run through a
pager, breaking a lot of interactive commands. Let's de-emphasize it as
a solution.
2019-08-13 19:44:17 -04:00
Tim Pope
49b777ae44
Use rev-list in lieu of log with raw format
2019-08-13 17:24:17 -04:00
Tim Pope
f33a53bceb
Remove debug
2019-08-13 17:20:56 -04:00
Tim Pope
16bfd4fa92
Fix offset jumping to patch on :Gblame --reverse
2019-08-13 17:20:03 -04:00