Commit Graph

396 Commits

Author SHA1 Message Date
Scott Sanders
77aa7ea225 Negate the shell_error value during return 2017-01-09 09:43:04 -05:00
Scott Sanders
33cceff0fc Use call to execute this shell command 2017-01-09 09:42:44 -05:00
Scott Sanders
ce8b5a4086 Detect git version >= 1.7.2 without a messy regex 2016-12-30 16:41:38 -05:00
Andy Stewart
7b81a8a226 Specify job command as a string on Windows.
Specifying the command as a list seems to be less reliable.

See #377.
2016-12-23 11:20:17 +00:00
Andy Stewart
9639f28037 Prevent undo-hunk scrolling window.
The previous implementation assumed that CTRL-Y and CTRL-E could scroll
by negative counts, i.e. in the opposite direction.  It turns out they
cannot: they treat negative counts as positive ones and always scroll in
the same direction.

This meant that undoing a hunk in the top half of the screen caused the
screen to scroll.

Closes #394.
2016-12-16 10:36:30 +00:00
James McCoy
e231bbc24a Declare nvim's callback as a dict function
neovim/neovim#5529 merged support for Vim's partial functions, which
made nvim more strict about dictionary functions.  This means the
implicit self variable isn't available unless a function is annoted as a
dict function or defined as part of a dictionary.

Closes #392
2016-12-12 22:30:30 -05:00
Alfredo Canziani
eaea1c5bba Fix help tag. 2016-11-29 16:22:19 +00:00
Alfredo Canziani
eb896b3598 Improve documentation
Add `:pclose` and `CTRL-W CTRL-Z` commands to `:GitGutterPreviewHunk` description.
2016-11-27 12:10:00 -05:00
Thomas Larrieu
1742a8f568 Replace "normal" command with "normal!"
We do not want to use user defined mappings
2016-10-27 21:35:39 +02:00
Andy Stewart
ee481585d7 Modernise tests.
Use Vim's built-in assert_*() functions and vim-contest test runner.
2016-10-27 12:15:43 +02:00
__
64a445bb53 Vim: explicitly check for job support. 2016-10-20 17:01:11 +01:00
Andy Stewart
0d455a7af7 Only restore shell if previously saved. 2016-10-19 14:17:03 +01:00
Andy Stewart
a693c0d326 Ensure nested calls do not overwrite value of original shell.
See #379.
2016-10-19 10:00:11 +01:00
Andy Stewart
b1734a3916 Remove unnecessary space concatenation. 2016-10-18 10:14:21 +01:00
Andy Stewart
e113f07d0b Avoid autocmd side-effects when jumping to/from preview window.
Fixes #379.
2016-10-18 10:12:30 +01:00
Andy Stewart
297678a08d Ensure BufWritePost,FileChangedShellPost always process buffer.
Before this change the TabEnter/BufEnter logic was intertwined with
the logic for BufWritePost,FileChangedShellPost.

Separating the concerns fixes a minor bug where a TabEnter-BufEnter
combination led to the plugin not updating the diff the first time the
buffer was written.
2016-10-11 10:02:21 +01:00
Andy Stewart
fa25cbb7d7 Check whether gitgutter is active in async callbacks.
Closes #375.
2016-10-10 12:52:28 +01:00
Andy Stewart
55b556f7a2 Dedup buffer lists to avoid unnecessary work. 2016-10-10 12:52:05 +01:00
Andy Stewart
68f6fa3453 Whitespace. 2016-10-10 12:42:07 +01:00
Andy Stewart
4f9c5b0f3e Use 'sh' as shell instead of configurable '/bin/sh'.
sh isn't always at /bin/sh, e.g. on Android or Termux, but it is always
on the path.

See #360.
2016-09-30 10:28:29 +01:00
Andy Stewart
402257f920 Enable configuration of path to sh (default /bin/sh).
See #360.
2016-09-16 14:22:13 +01:00
Andy Stewart
373ad7337b Handle buffers which have since been closed in async callbacks. 2016-09-13 16:11:42 +01:00
Billy
efa1ead770 Typo fix. 2016-09-09 09:05:41 +01:00
Andy Stewart
43e7c1f542 Set &shellredir when changing shell.
See #365.
2016-09-06 10:36:09 +01:00
Filip Szymański
26c6b549f2 Use "ch_info()" to get channel id 2016-07-12 19:05:32 +02:00
Andy Stewart
b5f23e9867 Use known shell for hunk staging, previewing, undoing.
Forgot to do this in 377c71d.

Closes #352.
2016-06-27 10:55:26 +01:00
Luke Farrar
c8fa0b3349 Move -r to start of args for non-GNU folk. 2016-06-21 10:28:56 +01:00
Luke Farrar
88e26c0fdf Fix manual install commands. 2016-06-21 10:28:56 +01:00
Andy Stewart
d19e86d249 Update FAQ in README. 2016-06-21 09:57:39 +01:00
Andy Stewart
09b9144002 Remove obsolete troubleshooting step.
Forgot to do this in 377c71d.
2016-06-09 10:34:52 +01:00
Andy Stewart
cfbca4455c Enable async diffs in gVim 7.4.1850+. 2016-06-09 10:30:48 +01:00
Andy Stewart
6ac5039600 Don't try to realtime-diff an untracked file. 2016-06-09 10:01:32 +01:00
Andy Stewart
f8da1fd6db Preserve screen line position when undoing a hunk.
Closes #346.
2016-05-23 10:31:17 +01:00
Xavier Guérin
377c71d982 Use /bin/sh as default shell.
- /bin/bash is not part of OpenBSD.
- We need only a POSIX shell, not bash specifically.

Closes #340.
2016-05-20 11:13:45 +01:00
Andy Stewart
90c558b1dc Expand installation instructions. 2016-05-18 16:35:04 +01:00
Christian Persson
b3979e7736 Fix typo in table of contents 2016-05-18 15:33:23 +01:00
Andy Stewart
f15a67ff51 Get buffer variable's default value in a backward-compatible way.
getbufvar() gained a default value in v7.3.831.  The change here handles
default values in older Vims (pre 7.2 at least).
2016-05-18 08:47:52 +01:00
Andy Stewart
867e013a62 Improve guard for missing-git warning again. 2016-05-16 16:29:40 +01:00
Andy Stewart
55d8247848 Fix guard for missing-git warning. 2016-05-16 13:50:27 +01:00
Andy Stewart
f5a5234f22 Allow configuration of git executable. 2016-05-16 13:47:14 +01:00
Andy Stewart
9db8f638db Make hunk summary window-aware.
Closes #331.
2016-05-16 12:21:06 +01:00
Andy Stewart
ef6fd3a986 Store a buffer's hunk summary in a buffer local variable. 2016-05-16 12:07:20 +01:00
Andy Stewart
ba6e104848 Always use bash on unix.
Vim is single-threaded so we can make life easier by using a known shell
and restoring the original one afterwards.
2016-05-16 12:00:06 +01:00
Andy Stewart
1937f06498 Avoid potential shell (un)quoting problems in NeoVim.
See neovim/neovim#4746 for a discussion.
2016-05-16 10:36:27 +01:00
Andy Stewart
053581db5c MacVim GUI 7.4.1832+ supports async diffs. 2016-05-16 10:10:11 +01:00
Andy Stewart
cae4f72aa1 Abort functions at first error. 2016-05-13 14:14:41 +01:00
Andy Stewart
264d7f3a66 Only use "<nomodeline>" when available. 2016-05-13 09:48:43 +01:00
Andy Stewart
882073f4b5 Restrict async diffing in Vim to terminal Vim.
MacVim in GUI mode and gVim don't process the callbacks reliably (or at
all) yet.
2016-05-12 10:22:43 +01:00
Andy Stewart
ea5d4cbeaf Don't process modelines after triggering autocommand.
Closes #334.
2016-05-10 15:54:01 +01:00
Andy Stewart
169e08a718 Apply signs to correct buffer when using Vim async. 2016-05-10 15:33:44 +01:00