Andy Stewart
5bfe5b9209
Big refactor.
...
- Hunk stage/undo/preview no longer saves the buffer.
- Hunk undo no longer makes locations go out of sync.
- Grep can be opted out of (grep output with ansi escapes is number one cause
of issues).
- Replaced g:gitgutter_grep_command with g:gitgutter_grep.
- Always runs git-diff the same way instead of in two possible ways.
- Separated detection of git tracking from diffing.
- Simplified path handling.
- Removed support for xolox shell: Windows taskbar does not flash with async
jobs.
- Removed g:gitgutter_{eager,realtime}.
- Simplified implementation generally.
2018-02-12 14:25:11 +00:00
Andy Stewart
932ffaca09
Ensure we write correct buffer.
...
Fixes #454 .
2018-01-29 15:30:25 +00:00
Sudo Nice
1e60667322
Open folds on hunk jumping
2017-11-01 11:58:34 +00:00
Andy Stewart
579f0a5006
Make async callbacks backward compatible for nvim < 0.2.0
2017-10-23 10:08:43 +01:00
Andy Stewart
54209a0199
Simplify async implementation.
2017-10-16 09:22:55 +01:00
Andy Stewart
438bff6a63
Whitespace.
2017-10-16 09:22:55 +01:00
Lucas Hoffmann
f2ff2321cd
Fix small typo in highlight group name
2017-10-16 08:37:47 +02:00
Andy Stewart
f16cf539a2
Turn off grep colour when GREP_OPTIONS switches it on.
...
Closes #415 .
2017-04-20 12:37:52 +01:00
Andy Stewart
9ecce5a269
Do not use --color=never flag for grep.
...
See #410 .
2017-04-03 13:30:23 +01:00
Andy Stewart
092369c19c
Use plain grep instead of extended grep.
...
See #410 .
2017-04-03 13:23:50 +01:00
Andy Stewart
1c034be0d3
Store buffer local variables in a single dictionary.
...
This reduces the footprint in the buffer variable namespace to a single
key.
2017-02-22 11:28:25 +00:00
Andy Stewart
14dd430533
DRY buffer local namespace prefix.
2017-02-22 10:51:12 +00:00
Andy Stewart
1bbf892eba
Use custom functions for plugin buffer-local variables.
2017-02-22 10:43:52 +00:00
Andy Stewart
8576f00548
Make hunks buffer-local.
2017-02-21 16:40:18 +00:00
Andy Stewart
80375e6b8b
Ensure git uses source and destination prefixes when staging.
...
See #313 .
2017-02-20 13:51:36 +00:00
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
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
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
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
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
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
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
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
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
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
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
169e08a718
Apply signs to correct buffer when using Vim async.
2016-05-10 15:33:44 +01:00
Andy Stewart
0e490ec830
Require Vim 7.4.1826 for async Vim.
2016-05-09 16:57:43 +01:00
Andy Stewart
72d100517a
Update vim callback handlers in light of vim change.
...
Vim 7.4.1810 stopped sending DETACH to the out_cb handler to mark the
end of the job's stdout. Instead we add a close_cb handler which does
what the out_cb handler used to do upon receiving DETACH.
2016-05-09 16:54:34 +01:00
Tommy Allen
a4e75dd074
Apply signs to correct buffer when using Neovim async
2016-05-09 12:16:09 +01:00
Andy Stewart
d5806ea44c
Check existence of function
2016-05-09 12:14:30 +01:00
Andy Stewart
db6a253d68
Disable async for vim pending vim segfault fix.
...
References:
- #332
- https://groups.google.com/d/topic/vim_dev/n0jeRog4DI0/discussion
2016-05-05 10:28:16 +01:00
Andy Stewart
3ffd67d905
Extract stringify function.
2016-04-29 10:02:15 +01:00