Commit Graph
100 Commits
Author SHA1 Message Date
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