`git-difftool` has strictly less information than `git-diff`.
`git-difftool` therefore produces worse results, and we shouldn't
recommend it.
`git-difftool` does not have file rename information, and sometimes
makes difftastic claim that file permissions have changed (depending
on the permissions of the temporary directory used).
Instead, recommend `git-diff` with an external diff configured, and
update `git-mergetool` instructions to emulate `git-diff` as much as
possible (respecting $MERGED).
Also link to the upstream git bug on segfaults with external diff
tools.
Thanks to @poliorcetics and @gthb for researching this bug and
discussing possible solutions.
Closes#734Fixes#620
When defining a command within other command, the arguments
are accessed by doubling the `#` sign.
Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
Mainly extra starred versions of already supported commands.
These are provided by standard packages `hyperref` and `cleveref`.
Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
This completes the implementation of all command/environment
definition macros which are provided by LaTeX kernel and
described in https://ctan.org/pkg/usrguide.
Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
Input cleaning should happen before we diff the content, not during
display. Previously display would crash due to line numbers
referencing the line that had been stripped.
Fixes#713Fixes#739Fixes#742
- add `\mathcolor`
- support directly passing color scheme and spec
- (optionally) include following argument
Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
We rely on being able to split lines and rejoin them to obtain the
original string. `str::lines()` in the Rust stdlib does not have this
property.
This was causing crashes in word-diffing on textual diffing, where
code paths differed on the number of lines they thought a string had.
This was broken in 8b842387a1.
Fixes#688.