Comments (4)
So more or less the same as #32. :)
The main problem is, that diff tools say nothing about columns, so it's kind of hard to highlight specific changes on a line.
from vim-signify.
Right you'll want to run a char-diff over the paired up lines (that we already know are the !
-marked lines, and this could be a low-effort kind of thing (like the way vimdiff does it, which isn't a true diff). At any rate I'm super happy to find out that apparently something like this is in the works for 2.0!
from vim-signify.
You have to realize that Vim (or the plugin) doesn't know about any other files. It doesn't know the files it "diffs against", because it just processes text that some external tool generates. And that text doesn't say anything about where something on the lines has changed.
I yet have to come up with a method that doesn't have grave influence on the performance.
vimdiff knows both files that are getting diffed and can compare them much faster than any plugin, because it uses compiled code.
from vim-signify.
Yes so that external tool should at some stage both identify and diff the lines which are corresponding (which show up marked as !
) so vim can parse out where to put indicators. I never said this would be very easy though.
One way, which is probably horrible for performance, is to just convert the pair of lines into a pair of files each with one character per line and run diff
on that.
I do have a c++ character differ tool I built based on this which would be much speedier. Someday I have to tidy it up and post on github. Problem is, it doesn't have a line-based diff mode, it's a fully character based diff, with a fundamentally different form of output compared to the standard diff output (with @@
chunks, etc).
from vim-signify.
Related Issues (20)
- Show git changes by colour HOT 1
- Visual bug HOT 1
- Jump to a line number without counting uncommited lines HOT 1
- For some files, the ~ symbol will always be displayed HOT 2
- Is it possible to color the line number instead of a sign? HOT 2
- Custom `numhl` highlightings are ignored HOT 2
- Vim-signify does not work. HOT 5
- Get "Undefined variable: g:signify_detecting" error when I start vim. HOT 1
- signify creates infinite highlight groups HOT 3
- Sign Blocks and lua file
- [Feature Request] Window borders for SignifyHunkDiff
- Support for DesignSync (dssc) version control system HOT 1
- documentation for legacy branch
- open all folds on disable signify folds
- Support environment variables in diff commands HOT 1
- `List index out of range` caused by missing priority in `sign place` output
- Error when opening hunk diff floating window on neovim HOT 1
- `Key not present in Dictionary` errors when using `g:signify_vcs_cmds` HOT 2
- fossil: -c 0 currently (<=fossil-2.23) does not work as expected (uses default number of context lines) HOT 1
- Remove trailing white spaces on the changed lines HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-signify.