Andy Stewart
a7a83c376c
Fix closing floating preview window
...
When a floating window is closed, the cursor automatically goes back to
the original window. There is no need to try to do this ourselves.
Fixes #866 .
2023-08-17 13:45:56 +01:00
Andy Stewart
458603713d
Cast variable getter to match setter
2023-07-31 12:40:24 +01:00
Adam Tao
883d60ec0e
fix(diff): Wrong diff if dos format combines with noeol
...
If fileformat is dos and eol is not set, then a '\r' (but without '\n')
will be written to the last line of temporary buffer file, which will
confuse git and make git think all lines are modified. Fix it by adding
'r' to all lines except the last one if fileformat is dos and eol is not
set.
Suggested-by: Andy Stewart <boss@airbladesoftware.com >
Signed-off-by: Adam Tao <tcx4c70@gmail.com >
2023-06-16 09:44:05 +01:00
Andy Stewart
a202921235
Write buffer before staging whole file
...
We stage the whole file with `git-add` so we must ensure the file on
disk reflects the buffer's contents.
See #796 .
2023-06-05 10:50:17 +01:00
Andy Stewart
278b393e68
Avoid unnecessary concatenation
...
This is simply to avoid double spaces in the generated commands. Double
spaces make no practical difference but look slightly inelegant.
2023-06-05 09:52:56 +01:00
Andy Stewart
6ebc0fd233
Extract function to reduce duplication
2023-06-05 09:50:17 +01:00
Andy Stewart
7d425ff4b9
Use filename not path in git add
...
Since we change directory to the file's directory we can use its name
rather than its path in the repo.
2023-06-03 10:28:47 +01:00
Andy Stewart
f7f1286aac
Use filename in clean_smudge_filter_applies() function
...
And move function to utility.
Since we change directory to the file's directory we can just use its
name rather than it path from the repo root.
2023-06-03 10:26:32 +01:00
Andy Stewart
cefbe30aa9
Make filename() function public
2023-06-03 10:22:20 +01:00
Andy Stewart
a483abb5fc
Add timestamp to session log header
2023-06-03 10:09:53 +01:00
Andy Stewart
621b9e77ff
Avoid :redir inside execute()
...
This was happening when starting vim with `let g:gitgutter_log = 1`
and generated E930.
2023-06-03 09:56:17 +01:00
Andy Stewart
885538efcd
Stage entire file if clean/smudge filter applies
...
If a file is subject to a clean/smudge filter, it is impossible to stage
an individual hunk. Therefore if the user tries to stage a hunk, ask
whether they want to stage the entire instead.
Determining whether a clean/smudge filter applies is done with:
git check-attr filter -- path/to/file
– and looking for "unspecified" (not to be) in the output. The result
is cached so that for a file which is not filtered (the common case),
staging multiple hunks only incurs the cost of the external call once.
See #796 .
2023-06-02 16:01:51 +01:00
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
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
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
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
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
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
4adaa7adaa
Make intra-highlights customizable
2021-08-06 16:13:14 +01:00
caojoshua
aad6acea5d
When using loclist, only add hunks for current file.
2021-07-12 11:03:37 +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
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