Comments (4)
Yea, had a local branch where I was playing with it, but word diff is really good when you are just reading it. Once you start editing it, you get colors flashing all over the place after every keystroke, because the changes can switch between "just a few characters on this line changed" to "this whole block is different".
If something, this might be cool with 2 editors on sides and a diff view (like GitHub's unified) in the middle. If anyone have any ideas/proposal how to solve that throw it here - but tbh I haven't spent too much time on that yet. First I'd like to solve the UI here #48 then we can think about adding a 3rd panel with word diff/3way merge.
from ace-diff.
Although 3way diff/merge support would certainly be awesome, just having a simple two file diff with word diffing would be excellent.
A lot of editor use cases (like mine) can definitely benefit from a basic diffing view (with word diffs) between versions, without the need for full 3way. Right now, in order to get word-level diffing, we need to jump to a different UX with something like diff2html. It would obviously be better to be able to keep the appearances the same in the UI and use Ace for all of 1) file editing, 2) file viewing, and 3) file diffing.
As for the comment about "colors flashing all over the place", I don't understand why this would happen for a single line edit. Is this some weird artifact of the way diff-match-patch does things? For comparison, I often use Meld for live editing and if you experiment with that UI (new file comparison -> blank comparison) there is no crazy flashing. It works well: New characters are highlighted as you type on one side, and deleted characters are highlighted on the other side as you delete.
Aside from the fact that read-only diff viewing support would be great in Ace (avoiding the flashing issue), if the diff engine is causing weird line/block issues while editing, an easy way out of this that might work is to simply disable diff highlighting while editing a line, and re-enable highlighting when you leave the line. Just an idea.
from ace-diff.
I understand the line vs block flashing now after experimenting with this demo page. That is admittedly weird. I wonder if the same would happen with word diffing? Seems like a diff-match-patch quirk.
from ace-diff.
any update on the word diff ?
from ace-diff.
Related Issues (20)
- The automated release is failing 🚨
- New release
- Can we Integrate Ace diff in Angular 13
- Internal server error : merge error HOT 1
- hide left/right/middle option? HOT 1
- Support ace-builds (instead of/in addition to) brace HOT 3
- Options for synchronous scrolling HOT 2
- Range module acequire fail HOT 3
- Warning from webpack when using ace-diff 3 HOT 3
- Getting "Uncaught RangeError: Maximum call stack size exceeded" with boiler-plate code HOT 5
- Range is not a constructor HOT 5
- Changing the height of the ace diff editors? HOT 1
- Only one diff but the whole file is marked as diff
- Did you find solution?
- Gutter SVG Path Wrong On Ace 1.4.12 With Ace-Diff 3.0.3 HOT 1
- Use to only highlight differences between two ace instances HOT 1
- Potential security issue
- Strange merging behavior with brackets or indents HOT 1
- How to prevent changes in both editors? HOT 1
- Codat.Public.Api.Models.Clients.ClientSettingsModelpF7mIY6bNkb1B0hz2K4PiCn2XRwTGlwlJGu1eeaU
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 ace-diff.