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
Tim Pope
2c30e116ed
Avoid unnecessary IO in translate()
2018-06-27 20:25:43 -04:00
Tim Pope
1988518904
Rename FugitiveFilename() to FugitivePath()
2018-06-27 17:20:15 -04:00
Tim Pope
2a817bb53a
Fix :Gbrowse tagname
2018-06-25 18:30:37 -04:00
Tim Pope
38c69cfebc
Rename blob() to relative()
...
On second thought, we should exclude .git/ files from blob, so pick a
different name for now.
2018-06-25 16:44:11 -04:00
Tim Pope
70a36ceef8
Alias buffer.path() as buffer.blob()
...
Blob isn't a great name, but it's less ambiguous.
2018-06-25 16:05:57 -04:00
Tim Pope
f71079db4d
Work around guioptions+=! on Windows
...
Closes https://github.com/tpope/vim-fugitive/issues/1042
2018-06-25 12:52:24 -04:00
Tim Pope
cbf96cc01a
Clean up repetition in URL parsing
2018-06-20 18:28:25 -04:00
Tim Pope
8fa5cad8d7
Fix references to renamed functions
2018-06-20 18:05:43 -04:00
Tim Pope
251853bc1e
Fix use of <Plug> in a <script> map
...
References https://github.com/tpope/vim-fugitive/issues/1044
2018-06-20 14:32:10 -04:00
Tim Pope
639b9f9a54
Fix load order issue setting up maps
...
References https://github.com/tpope/vim-fugitive/issues/1044
2018-06-20 14:24:35 -04:00
Tim Pope
13f39967f4
Loosen match for hunk header
2018-06-17 17:23:59 -04:00
Tim Pope
d39d5ca429
Accept alternate forms of Fugitive URL
...
This is to prepare for a potential transition to a URL replacement that
isn't mutilated by simplify().
2018-06-15 23:23:11 -04:00
Tim Pope
bb54881388
Jump directly to commit rather than ref file in more cases
2018-06-15 15:31:27 -04:00
Tim Pope
f7bcf51c56
Extract ftdetect file
2018-06-14 15:37:24 -04:00
Tim Pope
cc9d8d93c8
Add FugitiveFilename() to determine corresponding real file
2018-06-14 15:37:24 -04:00
rhysd
b571bff9ec
Specify 'nowrite' to status buffer and blame buffer
2018-06-07 11:27:48 -04:00
Tim Pope
5c2095be39
Camel case public functions
2018-06-01 16:26:05 -04:00
Tim Pope
5d11ff7501
Extract autoload file
2018-06-01 16:26:05 -04:00