1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-10 00:42:41 +01:00
phorge-phorge/webroot/rsrc/css/application
epriestley 661c758ff9 Render indent depth changes more clearly
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
2019-02-19 12:40:05 -08:00
..
almanac Allow Almanac service types to define default properties 2014-12-17 11:10:50 -08:00
auth Show the customized "Login" message on the login screen 2019-01-18 19:54:02 -08:00
base Fix the most significant "phantom notification" badness 2018-04-19 17:24:19 -07:00
chatlog [Redesign] Larger Font PostProcessor 2015-06-26 09:33:03 -07:00
conduit Show how to call Conduit API methods from clients 2015-05-08 12:19:52 -07:00
config Let the top-level exception handler dump a stack trace if we reach debug mode before things go sideways 2019-02-11 15:36:19 -08:00
conpherence Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
contentsource Move #888 and #999 to $lightgreytext 2013-09-02 08:12:18 -07:00
countdown Increase specificity in blue property boxes 2016-05-03 17:26:31 -07:00
daemon Execute Maniphest batch edits in the background with a web UI progress bar 2015-06-23 13:36:16 -07:00
dashboard Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
diff Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
differential Render indent depth changes more clearly 2019-02-19 12:40:05 -08:00
diffusion Mostly make blame work with DocumentEngine 2018-04-09 04:48:21 -07:00
feed [Redesign] Update Feed 2015-05-28 11:47:06 -07:00
files Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
flag Reorganize phui-object-item CSS, add drag ui 2016-12-14 11:53:17 -08:00
harbormaster Allow unit test results to specify that their details are formatted with remarkup when reporting to "harbormaster.sendmessage" 2018-08-28 13:26:11 -07:00
herald Allow Herald rules to add comments 2017-12-18 09:10:57 -08:00
maniphest Define bulk edits in terms of EditEngine, not hard-coded ad-hoc definitions 2018-01-19 12:43:47 -08:00
objectselector Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
owners Use a tokenizer, not a gigantic poorly-ordered "<select />", to choose repositories in Owners 2018-03-07 20:57:24 -08:00
paste Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
people Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
phame Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
pholio Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
phortune Allow Phortune accounts to customize their billing address and name 2019-01-16 16:16:27 -08:00
phrequent UIColor Blues and common color integration 2013-09-02 08:10:47 -07:00
phriction Fix Phriction document linking in mail bodies 2016-04-20 06:55:00 -07:00
policy Clean up Multirow Manager UI 2014-11-17 14:06:05 -08:00
ponder Minor Ponder spacing updates 2016-03-03 15:22:33 -08:00
project Add an Experimental Dark Mode to Phabricator 2017-07-18 06:44:32 -07:00
releeph Use standard UI elements to render pull requests in Releeph 2014-04-18 06:44:45 -07:00
search Mobile layouts for Diffusion 2017-08-30 12:28:00 -07:00
slowvote Solidify PHUITwoColumnView as a page layout 2016-03-01 07:23:08 -08:00
tokens Make tokens more accessible to assitive technologies 2014-05-05 10:54:34 -07:00
uiexample Clean up FontAwesome / Timeline CSS 2014-04-22 18:29:14 -07:00