Fossil

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

About branch diff-word-wrap

TODO:

  • Remove display: inline-block from <ins> and <del> to get more consistent word-wrapping
  • Check in various browsers if overflow-x: hidden is necessary for .difftxt to truncate "unbreakable" text (i.e. long runs of spaces)
  • Check layout and side-effects of diffs for the following web UI pages:
    • /fileedit
    • /wikiedit
    • /wdiff
    • /setup_skinedit
  • Update skins with customizations to diff layout
  • Update list of built-in files if src/diff.js remains unused (run tools/makemake.tcl to regenerate the makefiles)

Extended TODO (in case the feature can go to trunk):

  • Keep line numbers and diff marks off of text selections, maybe like this:
    ::before { content: attr(data-line-number); }
    ::before { content: attr(data-diff-mark); }
    
  • Enable column-wise text selection in side-by-side diffs (i.e. only left or right side)
  • Find a way to make the word-wrapped diffs available in parallel to the scrolling diffs (if possible by simple CSS toggle, otherwise by separate HTML/CSS/JS)

Forum thread:

Examples from GitHub and GitLab:

22 check-ins related to "diff-word-wrap"
2024-12-17
06:56
Sync with trunk. ... (Leaf check-in: 5fbb14f73a user: florian tags: diff-word-wrap)
06:12
On the new /ckout UI page, output the page footer only once. ... (check-in: 92372ce946 user: florian tags: trunk)
2024-12-13
17:11
Sync with trunk. ... (check-in: 4d7277762f user: florian tags: diff-word-wrap)
15:36
Fix redirect for the misuse of /ckout. ... (check-in: 02eb97d801 user: drh tags: trunk)
08:47
Sync with trunk. ... (check-in: a1f60bee3c user: florian tags: diff-word-wrap)
04:03
Tidied up language in add.c. ... (check-in: 3d2f1886a3 user: brickviking tags: trunk)
2024-12-12
17:07
Sync with trunk. ... (check-in: 878a56bc98 user: florian tags: diff-word-wrap)
11:36
On the /ckout page, omit the diff if the diff parameter is 0 or smaller. ... (check-in: 0654e8459a user: drh tags: trunk)
2024-09-20
03:57
Try dynamic calculation of the top and bottom paddings of inserted and deleted text so that the background color extends exactly to the line height (using the `calc()' CSS function). In Chromium, `overflow-y: hidden' is required so that the table cell containing the diff line doesn't display vertical scrollbars (without otherwise changing the visual result). ... (check-in: db04882760 user: florian tags: diff-word-wrap)
03:50
Sync with trunk. ... (check-in: ef298b282a user: florian tags: diff-word-wrap)
2024-09-19
12:05
Merge diff-web-noise-reduction branch to trunk, change that try to skip diff processing/rendering upfront where no useful diff output can be done. ... (check-in: 8b73fbbd1a user: mgagnon tags: trunk)
2024-09-17
06:15
Sync with trunk and resolve the merge conflicts in the 'fossil.diff.js' script. ... (check-in: ac3d7c9b4f user: florian tags: diff-word-wrap)
06:12
Update the change log to mention that Fossil is able to use the Windows root certificates if built with OpenSSL 3.2.0 or greater. ... (check-in: 0f8153dac4 user: florian tags: trunk)
2024-09-06
10:58
Add 'overflow-x: hidden' to the table cells containing the diff text to ensure "unbreakable" text (like long runs of spaces) is truncated. ... (check-in: ddf26dd3ff user: florian tags: diff-word-wrap)
10:57
Sync with trunk. ... (check-in: b97f0310f0 user: florian tags: diff-word-wrap)
2024-09-05
09:19
In the 'unsaved changes' error of the patch command, make it explicit that the patch cannot be applied (because it otherwise comes across as informational, not an error). ... (check-in: 8c5faa368f user: stephan tags: trunk)
2024-08-25
17:48
Change an assert() to a fossil_fatal() to make the error message appear in the web UI. ... (check-in: 3aad57dd7c user: florian tags: diff-word-wrap)
05:17
Exempt diff line numbers and diff marks (separators) from text selections and have click-and-drag selection include only the most recently clicked side for side-by-side (split) diffs. ... (check-in: abd3bca70e user: florian tags: diff-word-wrap)
2024-08-23
06:02
Remove 'display: inline-block' from insertion and deletion marks to get more natural word-wrapping. Try whether the previous, precisely calculated line height and padding values also work to extend the background color to the entire line height. ... (check-in: b912690fc4 user: florian tags: diff-word-wrap)
05:21
Fix a JS ternary operator precedence bug to mess up later loaded diff context. ... (check-in: 18c5117b11 user: florian tags: diff-word-wrap)
2024-08-17
16:03
First draft to implement word-wrap for web UI diffs. The list of TODO items can be found on the branch wiki page. ... (check-in: faf4b4718d user: florian tags: diff-word-wrap)
2024-08-16
19:28
Make sure Fossil is run with a version of SQLite that include the order-by-subquery optimization, to avoid a performance problem. ... (check-in: 668fefe796 user: drh tags: trunk)