1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/// A single optional column in the MR table.
///
/// Plugins register their columns via `inventory::submit!(ColumnDef { … })` — no
/// change to `config.rs`, `mod.rs` or `storage.rs` is needed when a new column
/// is added by a plugin crate.
///
/// # Display order
/// Columns are sorted by `priority` (ascending) when `collect_all_columns` is called.
/// Convention:
/// - `0–99` → built-in columns (Activity, Target, Labels, Milestone, Notes, Diff)
/// - `100–199` → first-party tracker plugin columns (Redmine Ticket, Jira Issue, …)
/// - `200+` → community / third-party plugin columns
// Global registry — every `inventory::submit!(ColumnDef { … })` anywhere in the
// dependency graph is collected here at startup.
collect!;
/// Collects all registered [`ColumnDef`]s from every linked crate,
/// sorted by `priority` (ascending).
///
/// Call this once at startup to build the ordered column list.