mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-08 16:02:39 +01:00
c64f86c2f6
Summary: Ref T13098. This is pretty rough, but sketches out the general shape of a more modern configuration flow. The new flow is very similar to the Phabricator flow. Each configuration option is typed (string, bool, list of dictionaries, etc) so we can typecheck it, and each type is a class so the types are modular and can do fancy stuff. Some of this "fancy stuff" that I want to do includes: - transparently rewriting/reformatting various options for modernness/consistency; - having some options exposed as objects instead of raw JSON values (in particular, aliases); - merging "list" options (like "aliases") in a modular way instead of by having hard-coded stuff that says "this particular option is magic gets merged instead of getting replaced when defined in multiple places". Generally, this makes everything modular and extensible and gets rid of the hard-coded `switch (...)` stuff. Test Plan: Ran `arc get-config`, it sort of almost worked. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13098 Differential Revision: https://secure.phabricator.com/D19695 |
||
---|---|---|
.. | ||
parser | ||
xhpast | ||
ArcanistRuntime.php |