Page MenuHomePhabricator

Separate display name/context from normalized name/context in Diviner
AcceptedPublic

Authored by epriestley on Jul 12 2014, 12:07 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Dec 10, 9:00 PM
Unknown Object (File)
Fri, Dec 6, 3:25 AM
Unknown Object (File)
Wed, Dec 4, 9:14 PM
Unknown Object (File)
Wed, Dec 4, 9:14 PM
Unknown Object (File)
Wed, Dec 4, 8:58 PM
Unknown Object (File)
Tue, Nov 26, 5:58 PM
Unknown Object (File)
Sat, Nov 23, 10:40 PM
Unknown Object (File)
Fri, Nov 22, 4:46 AM

Details

Reviewers
Firehed
Summary

See D9791. This is pretty rough, but the basic idea is to fully separate display name/context (e.g., original function/class/method/namespace names, as written, or full titles for articles) from the name/context of the atoms, which are normalized so they can be represented in URIs and on filesystems, and sometimes shortened for readability.

I probably missed some cases here, but the idea is that every level of the stack gets name and context (normalized atom name/context) and displayName and displayContext (most preferred representation for rendering to the user). Arguably these should be the other way around, but this was a slightly smaller change and I think it's reasonable to think of name and context being the values of the Atom, which has a reduced number of possible symbols.

Also adds language to LiveSymbol since we reasonably need to know this to render things.

I think this makes D9791 easier, since we don't have to do any of the string replacement stuff anymore, and particularly should not need to restore the original namespace from the normalized one.

Maybe easiest to wait for D9792 first, and then put this on top of that? Not sure if D9792 has any effects on its own.

Test Plan

Limited: regenerated documentation for libphutil and poked around.

Diff Detail

Repository
rP Phabricator
Branch
div1
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 1656
Build 1657: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Separate display name/context from normalized name/context in Diviner.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: Firehed.
Firehed edited edge metadata.

This looks good to me - I'll update D9791 and D9792 to use the updated interface once this lands

This revision is now accepted and ready to land.Jul 14 2014, 5:44 PM