Commit Graph

849 Commits

Author SHA1 Message Date
Andy Stewart
250112fecf Check before enabling after disabling for autocmds
Fixes #860.
See #551, #801.
2023-06-01 09:21:52 +01:00
Andy Stewart
2ee95686c5 Handle file which does not exist in diff base
If g:gitgutter_diff_base has been set and the file being processed does
not exist in that branch/commit, ensure that every line is marked as
added - this is how git-diff behaves.

Fixes #855.
2023-04-27 16:16:54 +01:00
Yuxin Wu
3475e974d6 Link highlight of GitGutterChangeDeleteLine to GitGutterChangeLine 2023-04-27 14:01:12 +01:00
Andy Stewart
44dbd57dd1 Document how to override defaults in g:gitgutter_floating_window_options
Closes #851.
2023-03-16 09:48:08 +00:00
woodyZootopia
3d29f67380 Add TabLeave to hunk close trigger
See #852
2023-03-13 15:55:22 +00:00
Andy Stewart
edb607cc4b Refresh signs after undoing a hunk
Fixes #850.
2023-02-24 11:56:39 +00:00
woodyZootopia
00df1089b6 Fix calculation of screen width
See #846.
2022-12-21 14:21:09 +00:00
Andy Stewart
400a12081f Fix calculation of non-floating preview window height
See #775, #846.
2022-10-22 17:52:39 +01:00
Andy Stewart
d4a3462df6 Extract function to calculate screen lines and cols
See #846.
2022-10-22 17:51:34 +01:00
Andy Stewart
24353971b9 Make height of floating preview window wrap-aware
Fixes #846.
2022-10-22 17:40:27 +01:00
Andy Stewart
f19b620319 Fix patch strings to use conventional format
See #841.
2022-08-24 14:29:47 +01:00
Andy Stewart
52d0066823 Ensure older vims process buffer at startup
In this context older vims are those without timer_start() and lambda.

The plugin always used to process the buffer at startup.  Then in #734
an optimisation was introduced to defer processing at startup, to keep
vim's startup fast.  However in this optimisation older vim's
unintentionally lost their startup processing altogether.
2022-08-22 09:42:07 +01:00
Andy Stewart
7808c48c7b Use timer instead of autocmd to defer startup processing
If the user has removed the "gitgutter CursorHold" autocommand, which
is the documented way to turn off automatic refreshing, calling the
autocommand at start up will fail.  Use a timer instead.

This implementation also changes the processing delay to 1ms instead of
'updatetime'.

See #840.
2022-08-22 09:30:47 +01:00
Andy Stewart
ded11946c0 Fix comparison to be case sensitive
Closes #836.
2022-05-24 09:24:40 +01:00
Andy Stewart
719d4ec06a Set filetype in :GitGutterDiffOrig
Closes #833.
2022-05-04 13:32:24 +01:00
Andy Stewart
988a6dbad9 Use a reliable regexp operator for lower case
It turns out =~ depends on 'ignorecase'.  Big sigh.
2022-04-25 20:41:43 +01:00
Andy Stewart
57000a73ab Use reliable regexp character class for lower case
It turns out [:lower:] does not always mean lower case (it depends
on 'ignorecase').  Sigh.
2022-04-25 20:26:21 +01:00
Andy Stewart
774add0c59 Improve testing of private functions 2022-04-25 13:47:08 +01:00
Andy Stewart
5dd8ab6211 Fix parsing of 'git ls-files -v' for filenames with spaces
Fixes #829.
2022-04-25 13:33:45 +01:00
Andy Stewart
2f359076bc Whitespace 2022-04-23 08:30:47 +01:00
Andy Stewart
626541edeb Heeds git's "assume unchanged" bit
I.e. does not diff files which should be assumed unchanged.

See:

    git update-index --[no-]assume-unchanged -- <file>
    git ls-files -v

Closes #826.
2022-04-23 08:25:46 +01:00
Andy Stewart
d5bae10403 Add GitGutterDiffOrig command
Closes #827.
2022-04-15 14:13:51 +01:00
Andy Stewart
18d12985ea Document :GitGutterBuffer{Disable,Enable,Toggle}
These commands were added in 2dce8e03 but I forgot to document them in
the help doc.
2022-02-23 08:48:37 +00:00
Alexander Courtis
e433d5ddc1 #816 do not modify previewpopup when it does not exist 2022-02-19 13:37:19 +00:00
Andy Stewart
d845704e9e Extract common code into function 2022-02-02 11:07:24 +00:00
Andy Stewart
23a65f370b Fix enabling buffer when plugin disabled
Fixes #803.
2022-02-02 10:58:53 +00:00
Andy Stewart
54b94f98de Prevent 'previewpopup' from breaking hunk previews
See #809.
2022-02-02 10:01:06 +00:00
Andy Stewart
384bf003f6 Allow configuration of floating window appearance
Closes #807.
2022-02-02 09:23:45 +00:00
Andy Stewart
e9871cf952 Capitalise NONE for consistency
Although group names are case-insensitive:

- Vim's docs use NONE;
- the code already uses NONE elsewhere.
2022-02-02 08:49:44 +00:00
Mateusz Piotrowski
6039b37440 Always pass some group name to sign arguments
E.g., passing an empty group name to the sign argument linehl (e.g.,
"linehl=") causes the following error:

```
Error detected while processing /usr/home/0mp/.vim/plugged/vim-gitgutter/plugin/gitgutter.vim[96]..function gitgutter#highlight#define_signs[10]..<SNR>56_define_sign_line_highlights:
line    9:
E1249: Group name missing for linehl
```

This patch makes the those errors go away by passing "None" when no
group name is needed.
2022-02-02 08:49:12 +00:00
Andy Stewart
a02369403b Fix autocmd to use <abuf> for effective buffer
See #814, #607.
2022-01-29 15:14:20 +00:00
Andy Stewart
256702dd14 Fix restoration of g:gitgutter_enabled after :vimgrep
Fixes #801.
2021-09-07 15:10:00 +01:00
Georgi Kirilov
832f7c6226 fix quickfix for combined diffs
The --cc option is issued for merge conflicts.
2021-08-30 12:59:41 +03:00
naohiro ono
549fb96d58 Add instructions on how to customize colours in preview window 2021-08-06 16:13:14 +01:00
naohiro ono
4adaa7adaa Make intra-highlights customizable 2021-08-06 16:13:14 +01:00
Andy Stewart
7d9b7125ff Update quickfix test
See #789.
2021-07-12 11:22:11 +01:00
caojoshua
ca0f292e68 Use 0/1 instead of v:true/v:false for compatibility with older vim
versions.
2021-07-12 11:03:37 +01:00
caojoshua
aad6acea5d When using loclist, only add hunks for current file. 2021-07-12 11:03:37 +01:00
Andy Stewart
0f98634b92 Add caveat to setting of Windows git executable
See #668.
2021-06-08 16:29:34 +01:00
Andy Stewart
68a8cb300c Close preview on escape: only map <Esc> while preview open
This only applies to floating preview windows on Neovim.

Handles the following way of closing the floating preview:

- <Esc>
- Moving cursor
- 2<C-W>c (where 2 is the floating window's window number)
- <C-W><C-W> to move into and out of the floating window

Closes #786.
2021-06-03 12:23:58 +01:00
Andy Stewart
2571c8f520 Enable is_preview_window_open() to handle floating windows
See #784.
2021-06-02 11:52:37 +01:00
Andy Stewart
5b4ec87517 Expose is-open and close hunk-preview-window functions
This allows custom maps for closing the hunk preview window.

See #784.
2021-06-02 11:49:42 +01:00
Andy Stewart
d13d58a35f Clear unwanted characters in nmap
See #784.
2021-06-02 11:44:18 +01:00
Andy Stewart
10998f303c Move more important paragraph above less important ones 2021-05-24 09:45:39 +01:00
Andy Stewart
ba21c56129 Expand docs on how to close a hunk preview window
See #784.
2021-05-24 09:44:56 +01:00
Andy Stewart
f4bdaa4e9c Remove useless comparison 2021-04-22 19:41:59 +01:00
Andy Stewart
66bafa5348 Update open preview on hunk jump
See #396, #779.
2021-04-22 15:42:45 +01:00
Andy Stewart
e288dd4733 Suppress echoing of preview window file name
The file name does not mean anything so it is unhelpful to show it.
Not showing it avoids the hit-enter prompt which can occur.
2021-04-22 15:37:28 +01:00
Andy Stewart
100bee7dab Remove stale link 2021-04-22 14:55:01 +01:00
Vincent Cordobes
42ed714fb9 Capitalize warning messages 2021-04-22 12:03:06 +01:00