Commit Graph

324 Commits

Author SHA1 Message Date
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