Commit Graph

81 Commits

Author SHA1 Message Date
Wilson Y. Wong
fa6c08b841 Fixed escaping 2013-08-13 21:32:00 -07:00
Andy Stewart
da7900a809 Escape shell commands on windows. 2013-08-07 10:02:18 +02:00
Trevor Fitzgerald
ff031d022f Prevent error message from showing when s:dummy_sign_id is not set 2013-04-24 19:57:33 -04:00
Andy Stewart
935184bd18 Add default mappings. 2013-04-17 11:23:11 +02:00
Andy Stewart
1a13951fc5 Simplify tradeoff between accuracy and speed.
If the plugin slows down your Vim too much, you can have it run less
often by setting `g:gitgutter_eager = 0`.

This replaces the former options `g:gitgutter_on_bufenter` and
`g:gitgutter_on_focusgained`.
2013-04-17 10:43:45 +02:00
Andy Stewart
b63d3c6f27 Revert "Use correct filename in auto commands."
That commit prevented gitgutter correctly activating on its first run.

This reverts commit 25d428c390.
2013-04-15 10:24:37 +02:00
Andy Stewart
25d428c390 Use correct filename in auto commands.
This problem was revealed when using BufExplorer:

- Open vim with two files: `$ vim a.txt b.txt`
- Type `\\` to open BufExplorer.
- Press <enter> on `b.txt`.
- Vim shows `b.txt` as expected.
- Type `\\` to open BufExplorer.
- Press <enter> on `a.txt`.
- Expected: Vim shows `a.txt`.
  Actual Vim shows `a.txt`, `b.txt`, `a.txt`.

I.e. the first invocation was fine but all subsequent invocations
rapidly flicked through <new file>, <old file>, <new file>.
2013-04-12 13:17:05 +02:00
Andy Stewart
d4a1a60f39 Always prevent flicker.
Previously flicker was prevented only when the sign column was
always present.
2013-04-10 10:34:16 +02:00
Andy Stewart
fe1a76901c Always remove the sign column when disabling gitgutter.
Previously with `gitgutter_sign_column_always = 1` the sign column would
remain after calling `GitGutterDisable`.  Now the sign column is always
removed when disabling gutter.
2013-04-10 10:06:03 +02:00
cohama
9b45af6701 Prevent clearing highlight definitions when colorscheme changed 2013-04-07 21:15:58 +09:00
Andy Stewart
5c23cadf57 Allow plugin to bypass any alias for grep.
This is an opt-in configuration.
2013-04-05 11:23:11 +02:00
Andy Stewart
5bc25a8f11 Make grep optional instead of required.
When grep is available we use it for efficiency.  When it's unavailable,
we filter in Vimscript.
2013-04-05 11:08:19 +02:00
Andy Stewart
93288afef8 Update only visible buffers on FocusGained and TabEnter. 2013-04-02 11:37:37 +02:00
Justin M. Keyes
15dc21aca5 Check for grep
Fixes #72
2013-04-01 14:03:36 -04:00
Andy Stewart
989ad9b0fb Whitespace. 2013-03-28 09:39:12 +01:00
Andy Stewart
3243987028 Make signs optional (on by default). 2013-03-28 09:36:24 +01:00
Andy Stewart
60ce94c03b Better filename resolution. 2013-03-25 11:35:53 +01:00
Andy Stewart
948a0fb977 Allow configuration of extra arguments for git-diff. 2013-03-20 09:56:45 +01:00
Andy Stewart
985f5f87dd Remove unnecessary string concatenation. 2013-03-20 09:45:00 +01:00
Andy Stewart
357306f443 DRY configuration. 2013-03-20 09:42:08 +01:00
Andy Stewart
e04d719159 Customisable signs' symbols. 2013-03-20 09:29:00 +01:00
Andy Stewart
2a5ae179fc Speed up work done on FocusGained.
When vim-gitgutter is configured to update on `BufEnter`, which is the
default, we only need to update visible buffers on `FocusGained`.
Other buffers will be updated as and when the user enters them.
2013-03-19 20:08:54 +01:00
Andy Stewart
fd7fb6cd15 Fix bug where GitGutter wasn't called on buffer write.
This affected people with the default configuration but not those where
`BufEnter` was turned off.

This problem was introduced by the last commit.
2013-03-19 09:12:21 +01:00
Andy Stewart
7f1c104f9f Fix autocommands so GitGutter doesn't run twice on file read. 2013-03-18 16:09:40 +01:00
Andy Stewart
677dac451d Add opt-out configuration for BufEnter and FocusGained. 2013-03-15 10:53:31 +01:00
Andy Stewart
04be163a3e Fix bug for GitGutterEnable. 2013-03-15 10:20:43 +01:00
Andy Stewart
d40fd44904 Fix bug when calling GitGutterDisable immediately.
When opening Vim without editing any file, calling GitGutterDisable
would fail because `s:file` was undefined at that point.  The fix breaks
what encapsulation there is, but has the virtue of working.
2013-03-15 10:18:30 +01:00
Andy Stewart
f52625be83 Fix bug where vim-gitgutter tried to run for non-files. 2013-03-15 10:00:09 +01:00
Andy Stewart
c48829586e Update signs across all buffers on FocusGained. 2013-03-14 15:41:45 +01:00
Andy Stewart
3f107f97da Make always-showing-the-sign-column opt-in.
This is consistent with Vim's default behaviour.
2013-03-14 09:34:25 +01:00
Andy Stewart
15ee31acf4 Handle non-English locales. 2013-03-13 14:55:22 +01:00
Andy Stewart
fe2b4ec869 Place a dummy sign to keep sign column.
The sign column automatically appears when there is at least one sign
and disappears when there are none.  There's a small gap between
when vim-gitgutter removes its signs and adds new ones; during that gap
the sign column can flicker.

By adding a dummy sign before removing the real signs, we force the sign
column to remain.
2013-03-13 11:30:24 +01:00
Nick Andryshak
1f04008485 Improve fix to Windows gVim infinite shell loop. 2013-03-12 16:25:18 +01:00
Lewis Franklin
a09e085b51 Prevent infinite loop on Windows gVim. 2013-03-12 16:19:50 +01:00
Andy Stewart
6889f9918e Remove accidentally-committed maps. 2013-03-12 16:03:37 +01:00
Andy Stewart
64e9fac7df Enable prev/next hunk commands to take a count. 2013-03-12 15:57:57 +01:00
Andy Stewart
3979c4f7b6 Easier customisation. 2013-03-08 13:19:25 +01:00
Andy Stewart
861e417886 Construct variable on one line for clarity. 2013-03-08 12:48:48 +01:00
Andy Stewart
a61ddf453c Extract method for clarity. 2013-03-08 11:45:13 +01:00
Andy Stewart
cf2db0df65 Define sign column highlights. Add colours and signs section. 2013-03-08 11:36:44 +01:00
Vaz Allen
7186f8bcad Highlighting customisation tweaks.
Highlight groups for signs:

- renamed highlight groups with `GitGutter` prefix, and following the
  naming style of the builtin groups `DiffAdd`, `DiffChange`, etc.

- using `highlight default link` to set default colours for signs.
  e.g. the plugin defines `GitGutterAddDefault` as green, and default
  (if `g:gitgutter_highlights`) links `GitGutterAdd` to it (which the
  user can customise).

Highlight groups for lines:

- added gitgutter-specific highlight groups for line highlighting
  (`GitGutterAddLine`, etc) so that this highlighting can be customised
  independent of `DiffAdd` et al (which these default link to).

- line highlighting toggling now only changes the linehl attribute.

  The `linehl` attribute is toggled in `s:update_line_highlights`,
  which separates concerns more clearly.  I'm thinking ahead to the
  possibility of the sign text being configurable, and thinking it will
  be DRYer to keep these things separate.  Maybe it's just aesthetic
  though.

Bonus: resolved "eugh" ;)
2013-03-08 11:14:56 +01:00
Andy Stewart
14563c3689 Ensure signs feature is present. 2013-03-07 20:00:58 +01:00
Andy Stewart
b6c5364436 Run GitGutter when focus is gained.
This updates the signs on the current file when you return to GUI vim.
For example, you make some changes in Vim, tab to your shell and commit
them, then tab back to Vim; at this point you want the signs to update
automatically for you.
2013-03-06 14:08:44 +01:00
Andy Stewart
177365691b Change public function names to match command names. 2013-03-06 13:55:19 +01:00
Tom Cammann
a67904e812 Change command names to follow GitGutterXxxx. 2013-03-06 13:51:59 +01:00
Andy Stewart
00a862285f Work with all shells, not just bash. 2013-03-06 12:11:38 +01:00
Drew Stokes
fd22bbbb08 Disable diff colors to fix file name grep. 2013-03-06 11:17:38 +01:00
Konstantin Kudryashov
34879ec3c8 Add ability to disable highlights registration
So we could tune up it in our custom colorschemes
2013-03-05 13:54:00 +01:00
Andy Stewart
c46cf29392 Extract methods for clarity. 2013-03-05 10:10:14 +01:00
Andy Stewart
9924c7ca1d Handle modifed-and-added/removed diffs. 2013-03-05 10:00:06 +01:00