Commit Graph

627 Commits

Author SHA1 Message Date
Marco Hinz
ea6db3c7df Improve directory changing
On Windows, Vim and Nvim can't work with mklink'ed paths. Issue an error message
and bail out before starting the actual job when the directory can't be changed.

Fixes https://github.com/mhinz/vim-signify/issues/279
2018-12-20 23:28:01 +01:00
Marco Hinz
412ae37d93
Add missing "catch all exceptions" clause 2018-12-16 17:42:42 +01:00
itouen
ea87e05e6f SignifyDiff: convert encoding based on fileencoding (#278) 2018-11-16 17:23:24 +01:00
Marco Hinz
c4eb6e1469
SignifyDiff! will not open a new tab
This makes is behave like :SignifyFold.

Closes #271
2018-11-02 21:15:34 +01:00
Marco Hinz
cd8a85296d
Doc: example for using DiffText for changed lines
Closes #276
2018-11-02 20:53:05 +01:00
Marco Hinz
4e7faba8d3
Hg: change default invocation (#275)
Mercurial used to enable colors via an extension. Nowadays that is not true
anymore and `extensions.color=!` is rendered useless. Use the omnipresent
`--color=never` instead.

`defaults` is deprecated in favor of `aliases`. We use `aliases.diff=` to force
the use of the standard diff behaviour of `hg diff` which is the same as from
GNU diff. Otherwise an external diff tool could produce output that signify does
not understand.

Refrences #272
2018-10-31 16:59:03 +01:00
Marco Hinz
ce2dd937bf
Doc: mention SignColumn highlight group
References #182
2018-10-02 01:02:38 +02:00
spar01
40d1a4ee19 Don't open folds in diff mode (#269)
Closes #268
2018-08-05 12:11:25 +02:00
Marco Hinz
73d467ebea
Doc: add remark about colors 2018-08-02 11:13:13 +02:00
spar01
fe8b5eb4c5 Perforce: fix command (#267)
Commit cc2b17d462 removed the '&&' used to check whether the p4 info command succeeded. This caused incorrect invocation of the p4 diff command.
Add back the check for p4 info command success.

Prior to this commit the command invoked was:
p4 info >/dev/null 2>&1 env P4DIFF= P4COLORS= p4 diff -du0

This commit makes the invocation as:
p4 info >/dev/null 2>&1 && env P4DIFF= P4COLORS= p4 diff -du0
2018-08-02 10:57:48 +02:00
Marco Hinz
e94764e40c
Check if ]C and [C are already mapped
Fixes #264
2018-08-01 22:42:01 +02:00
Marco Hinz
cc2b17d462
Perforce: avoid colored output on Unixes
On Unix, many people use P4DIFF=colordiff to get colored diff output with `p4
diff`. But our diff parser doesn't expect these escape sequences used for
coloring.

We now simply use empty $P4DIFF and $P4COLORS to be on the safe side.

Reference:

  36c7d22a69 (commitcomment-29924066)
2018-08-01 21:02:08 +02:00
Marco Hinz
a9fc705b9b
Doc: fix default for perforce
References #263
2018-07-25 12:18:41 +02:00
Aaron Miller
36c7d22a69 Windows: allow p4 diff command to actually work
Windows doesn't know about the `env` program.

Apart from that, using an external diff tool is not even needed anymore, since
`p4 diff` itself supports unified diffs nowadays.
2018-07-25 12:13:53 +02:00
Kutsan Kaplan
9303070b02 README: reword plugin suggestion (#259) 2018-07-08 02:01:38 +02:00
Marco Hinz
a8b50dee5a
Windows: handle UNC paths more gracefully
References #257
2018-07-04 21:08:59 +02:00
Marco Hinz
a1551dbae3
Doc: add :SignifyDiff
References #253
2018-05-03 17:37:03 +02:00
Marco Hinz
0f12c2b18c
SignifyDiff: support Perforce
References #253
2018-05-03 17:37:03 +02:00
Marco Hinz
c42f8b21b4
Make "no 'diff' executable found" message verbose-only
Fixes #256
2018-04-30 14:02:58 +02:00
Marco Hinz
8351e5212f
Improve detection of nested repos managed by different VCS
Assume a hg repo below a git repo. `git diff` on a file managed by hg, will
return a successful exit value, but no output.

So, if we got a successful exit value from multiple VCS tools, and none of them
gave any output, keep them all as potential candidates. The next time Sy is run,
only these candidates will be tested again.

If one of them returns a proper diff, set b:sy.updated_by to that VCS and prune
all other candidates.

References #235
2018-04-17 17:35:08 +02:00
Marco Hinz
3d3edac39d
Refactoring 2018-04-15 22:00:17 +02:00
Marco Hinz
a804002c21
CVS: fix regexp 2018-04-15 17:49:03 +02:00
Marco Hinz
daf59eee47
SignifyDiff: support CVS 2018-04-15 14:27:23 +02:00
Marco Hinz
791fe598a6
SignifyDiff: support darcs 2018-04-15 13:23:51 +02:00
Marco Hinz
8bcbd9cb7b
SignifyDiff: support bzr 2018-04-15 13:11:10 +02:00
Marco Hinz
da02a4796b
SignifyDiff: support subversion 2018-04-15 13:01:38 +02:00
Marco Hinz
12f28b1336
Refactor cmd expansion 2018-04-13 15:01:47 +02:00
Marco Hinz
b199f9eec0
Remove unused line 2018-04-13 14:59:11 +02:00
Marco Hinz
38cb96c987
Move b:sy_info to b:sy.info 2018-04-13 14:49:57 +02:00
Marco Hinz
1ccfef5d33
Mention the skipped file 2018-04-13 13:16:30 +02:00
Marco Hinz
d9e881bd0f
SignifyDiff: cd into dir of file
All VCS assume slightly different things where things have to be if you're in
this directory using that command etc.

Changing to the directory of the current file avoids many pitfalls.
2018-04-13 13:01:02 +02:00
Marco Hinz
14413921fe
SignifyDiff: add verbose message 2018-04-13 12:59:58 +02:00
Marco Hinz
32a1761e42
Remove useless line
The line became useless as of bf099a3fe2
2018-04-13 12:39:46 +02:00
Marco Hinz
841b3f0597
SignifyDiff: support mercurial 2018-04-11 16:40:59 +02:00
Marco Hinz
28744768e6
SignifyDiff: expose g:signify_vcs_cmds_diffmode 2018-04-11 16:40:59 +02:00
Marco Hinz
46699b1df6
SignifyDiff: initial support for :SignifyDiff
Currently this only works for git and is not documented.
2018-04-11 16:40:59 +02:00
Danek Duvall
e76d00ccc0
Make sure that cpoptions contains B
Closes #254, #255
2018-03-26 21:32:30 +02:00
Marco Hinz
26ed57e0fe
RCS: exit value of 1 means there are changes, 2 means error
Fixes #251
2018-02-21 13:28:40 +01:00
Marco Hinz
d6e01780dc
Verbose: mention the file to be registered 2018-02-21 13:07:08 +01:00
shaggyrogers
e8cb5b636c Don't save nomodifiable/readonly buffers 2018-01-28 23:54:27 +01:00
Marco Hinz
593e67cf2d
Use b:var for :SignifyFold!
Fixes #249.
2017-12-24 00:16:06 +01:00
James McCoy
1a8a15d835 Merge pull request #244 from nkouevda/no-remap-feedkeys
MacVim: Do not remap ^L
2017-08-19 20:13:51 -04:00
Nikita Kouevda
b699eb540c MacVim: Do not remap ^L
`feedkeys` remaps keys by default, so if a mapping exists for `<C-l>`,
then `call feedkeys("\<C-l>")` will not result in the desired behavior.
2017-08-19 16:43:34 -07:00
Marco Hinz
7cc32c28aa
Darcs: update arguments
Fixes https://github.com/mhinz/vim-signify/issues/243
2017-07-27 16:39:59 +02:00
Marco Hinz
748cb0ddab Doc: signs must not take more than two cells 2017-07-19 16:10:59 +02:00
Marco Hinz
ed51cb2599 Signs: do not exceed two cells
This is only enforced for dynamically created signs, namely
g:signify_sign_delete and g:signify_sign_changedelete, if
g:signify_sign_show_count is on.

References https://github.com/mhinz/vim-signify/issues/105
2017-07-19 16:10:59 +02:00
Marco Hinz
1bdf100aad
Do not make option defaults depend on each other
Having default values for options that depend on another option's value is a bad
practice. Be more explicit:

  g:signify_sign_show_text  is ON by default
  g:signify_sign_show_count is ON by default

So, people who want just background colors and no text at all in their signs
have to set both:

  let g:signify_sign_show_text  = 0
  let g:signify_sign_show_count = 0

Before this change, only the first line was needed.

This also fixes a bug that happened with:

  let g:signify_sign_show_text  = 0
  let g:signify_sign_show_count = 1

Removed lines wouldn't show a count whereas changed + removed lines would.
2017-07-18 16:47:03 +02:00
Allan Neal
d9918a69bc fixes for nnoremaps 2017-06-06 21:51:45 +02:00
Marco Hinz
6e8c4b1900
README: polishing 2017-04-21 19:51:35 +02:00
Marco Hinz
952920b92d
Always set sy.updated_by
References #235.
2017-04-21 13:34:02 +02:00