Commit Graph

854 Commits

Author SHA1 Message Date
Andy Stewart
4ec072df23 Enable text conversion in git-show
This tells git-show to output the smudged version of a file if a
clean/smudge filter is defined for it.  In turns this allows us to diff
the buffer contents (which is smudged) against the reference version.

However patches cannot be applied.

See the man pages for git-show and gitattributes for more information.

See #796, #435.
2023-06-02 09:59:24 +01:00
Andy Stewart
11d6e13194 Ensure staging from preview always stages into correct file
Fixes #785.
2023-06-01 14:59:56 +01:00
Andy Stewart
ef978c745f Make preview use 'wrap' option of source window
Fixes #859.
2023-06-01 14:35:04 +01:00
Andy Stewart
8a95900cf1 Remove redundant comment 2023-06-01 09:25:54 +01:00
Andy Stewart
8d659d3dfc Declare similar autocmds next to each other 2023-06-01 09:25:43 +01:00
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