477 Commits

Author SHA1 Message Date
Andy Stewart
5485c37b38 Fix bug in realtime diff of non-current buffer.
This bug meant that a realtime diff of a buffer which wasn't the current
one -- which happens during GitGutterAll() -- diffed the staged version
of the buffer against the current buffer's contents instead of the
buffer's contents.
2014-01-27 14:51:19 +01:00
Andy Stewart
072846e945 Don't place/unplace dummy sign unnecessarily. 2014-01-27 14:15:19 +01:00
Andy Stewart
afecd8711d Fix precedence in diff command. 2014-01-27 13:54:11 +01:00
Andy Stewart
8ada986fcf More accurate error message. 2014-01-27 13:41:05 +01:00
Andy Stewart
f2e08dbeb3 Move git-tracking check into diff command.
This avoids shelling out twice per buffer: once to check whether git
knows about the file and once to perform the diff.  Now we simply do
both in one external call.

Profiling showed external calls to git taking ~20ms.  This doesn't seem
too bad but it adds up.
2014-01-27 10:48:47 +01:00
Andy Stewart
bb87232842 Add ability to toggle signs on and off. 2014-01-16 11:32:41 +01:00
Andy Stewart
7808f9f647 Fix type of variable when clearing signs. 2014-01-16 11:22:32 +01:00
Andy Stewart
c680694b06 Improve sign handling with better data structure.
Using a dictionary instead of a list clarifies the code.
2014-01-13 10:34:41 +01:00
Andy Stewart
da47098496 Fix bug in clearing signs when disabling plugin. 2014-01-13 09:44:26 +01:00
Andy Stewart
e750b5fa21 Eliminate unnecessary string concatenation. 2014-01-11 17:24:11 +01:00
Andy Stewart
38e6524fff Remove unnecessary argument to sign unplace.
Each sign instance has a unique id so we don't need to scope per file.
2014-01-10 10:51:48 +01:00
Andy Stewart
648281497f Standardise on . 2014-01-10 10:48:20 +01:00
Andy Stewart
b1f023e230 Remove unnecessary colons. 2014-01-10 10:46:53 +01:00
Andy Stewart
a6ac0d879c Whitespace 2014-01-09 18:00:29 +01:00
Andy Stewart
1ad55ae1eb Fix type mismatch.
Introduced by attempt to workaround lack of support for default value in
getbufvar().
2014-01-09 17:57:19 +01:00
Andy Stewart
92abcce1ff Stage and revert individual hunks. 2014-01-09 12:14:59 +01:00
Andy Stewart
7ce6309a01 Don't call getbufvar() with a default value.
Support for a default value in getbufvar() was introduced some time
after Vim 7.3.547 which is the current stable version in some package
repositories.
2014-01-09 10:05:49 +01:00
Andy Stewart
03ca0f8d93 Extract utility functions. 2014-01-08 09:55:54 +01:00
Andy Stewart
fa582f7863 Only redraw when changing line highlighting. 2014-01-07 10:21:04 +01:00
Andy Stewart
b996dd3b53 Remove unnecessary precondition. 2014-01-06 17:11:19 +01:00
Andy Stewart
faa6aaf669 Minimise sign place/unplace calls to speed things up.
Profiling shows that `:sign place` and `:sign unplace` are slow despite
being native vimscript functions.  This commit minimises the number of
such calls by only updating signs that have changed.
2014-01-06 17:05:01 +01:00
Andy Stewart
65b050ba2e Fix unnecessary modified sign in modified-and-removed diff.
This bug didn't affect anything because the unnecessary sign was
overwritten by the correct sign.
2014-01-06 17:05:01 +01:00
Andy Stewart
c81d897d60 Reduce chance of dummy sign's id clobbering another. 2014-01-06 17:04:54 +01:00
Andy Stewart
88623e3fec Speed up snake-to-camel-case conversion. 2014-01-06 11:31:30 +01:00
Andy Stewart
a4f6acb731 Use buffer-local variables to store signs. 2014-01-06 11:22:34 +01:00
Andy Stewart
d3177cacd9 Remove unnecessary conditional. 2014-01-05 13:59:22 +01:00
Andy Stewart
702d27a84f Autoload. 2013-12-17 11:03:52 +01:00