//This task originally focused narrowly on generated code.//
- See also T13130 for broader discussion and rationale.
- See PHI64 for some plans.
Recently, changesets in Differential have "attributes". There is a large set of behaviors which attributes should expand to handle. Generally, "attributes" mean that `arc` can specify these behaviors per-changeset with client-side rules, and Differential/Diffusion can optionally also specify these behaviors with rules.
- **Generated Code**: See PHI64. `arc` should be able to mark arbitrary changesets as "generated" so they are folded at display time.
- **Context**: See PHI675. By default, `arc` uploads files with full context. There are several levels of complexity here, but one desirable outcome is likely to let `arc` selectively send large files with less context (i.e., produce a low-context diff if a change includes a couple of lines in a 10MB text file).
- **Tab Widths**: See T2495. `arc` could have rules to say "this file uses 17-space tabstops".
- **Syntax Highlighting**: `arc` could have rules to say "by default, highlight this file as though it were python source code".
- **Encoding**: `arc` could have rules to say "by default, render this file as encoded with Shift-JIS".
- **Whitespace**: If whitespace options survive PHI723, `arc` could have rules to say "show / don't show whitespace changes for this file".