mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-27 16:00:59 +01:00
661c758ff9
Summary: Ref T13161. See PHI723. Our whitespace handling is based on whitespace flags like `diff -bw`, mostly just for historical reasons: long ago, the easiest way to minimize the visual impact of indentation changes was to literally use `diff -bw`. However, this approach is very coarse and has a lot of problems, like detecting `"ab" -> "a b"` as "only a whitespace change" even though this is always semantic. It also causes problems in YAML, Python, etc. Over time, we've added a lot of stuff to mitigate the downsides to this approach. We also no longer get any benefits from this approach being simple: we need faithful diffs as the authoritative source, and have to completely rebuild the diff to `diff -bw` it. In the UI, we have a "whitespace mode" flag. We have the "whitespace matters" configuration. I think ReviewBoard generally has a better approach to indent depth changes than we do (see T13161) where it detects them and renders them in a minimal way with low visual impact. This is ultimately what we want: reduce visual clutter for depth-only changes, but preserve whitespace changes in strings, etc. Move toward detecting and rendering indent depth changes. Followup work: - These should get colorblind colors and the design can probably use a little more tweaking. - The OneUp mode is okay, but could be improved. - Whitespace mode can now be removed completely. - I'm trying to handle tabs correctly, but since we currently mangle them into spaces today, it's hard to be sure I actually got it right. Test Plan: {F6214084} Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13161 Differential Revision: https://secure.phabricator.com/D20181 |
||
---|---|---|
.. | ||
actions | ||
controls | ||
examples | ||
icon | ||
logo | ||
people | ||
texture | ||
avatar.png | ||
BFCFDA.png | ||
checker_dark.png | ||
checker_light.png | ||
checker_lighter.png | ||
chevron-in.png | ||
chevron-out.png | ||
d5d8e1.png | ||
darkload.gif | ||
divot.png | ||
grippy_texture.png | ||
lightblue-header.png | ||
main_texture.png | ||
menu_texture.png | ||
phrequent_active.png | ||
phrequent_inactive.png | ||
resize.png | ||
sprite-login-X2.png | ||
sprite-login.png | ||
sprite-tokens-X2.png | ||
sprite-tokens.png |