]>
Commit | Line | Data |
---|---|---|
1 | #ifndef STATUS_H | |
2 | #define STATUS_H | |
3 | ||
4 | #include <stdio.h> | |
5 | #include "string-list.h" | |
6 | #include "color.h" | |
7 | ||
8 | enum color_wt_status { | |
9 | WT_STATUS_HEADER = 0, | |
10 | WT_STATUS_UPDATED, | |
11 | WT_STATUS_CHANGED, | |
12 | WT_STATUS_UNTRACKED, | |
13 | WT_STATUS_NOBRANCH, | |
14 | WT_STATUS_UNMERGED, | |
15 | WT_STATUS_LOCAL_BRANCH, | |
16 | WT_STATUS_REMOTE_BRANCH, | |
17 | WT_STATUS_ONBRANCH, | |
18 | WT_STATUS_MAXSLOT | |
19 | }; | |
20 | ||
21 | enum untracked_status_type { | |
22 | SHOW_NO_UNTRACKED_FILES, | |
23 | SHOW_NORMAL_UNTRACKED_FILES, | |
24 | SHOW_ALL_UNTRACKED_FILES | |
25 | }; | |
26 | ||
27 | /* from where does this commit originate */ | |
28 | enum commit_whence { | |
29 | FROM_COMMIT, /* normal */ | |
30 | FROM_MERGE, /* commit came from merge */ | |
31 | FROM_CHERRY_PICK /* commit came from cherry-pick */ | |
32 | }; | |
33 | ||
34 | struct wt_status_change_data { | |
35 | int worktree_status; | |
36 | int index_status; | |
37 | int stagemask; | |
38 | char *head_path; | |
39 | unsigned dirty_submodule : 2; | |
40 | unsigned new_submodule_commits : 1; | |
41 | }; | |
42 | ||
43 | struct wt_status { | |
44 | int is_initial; | |
45 | char *branch; | |
46 | const char *reference; | |
47 | const char **pathspec; | |
48 | int verbose; | |
49 | int amend; | |
50 | enum commit_whence whence; | |
51 | int nowarn; | |
52 | int use_color; | |
53 | int relative_paths; | |
54 | int submodule_summary; | |
55 | int show_ignored_files; | |
56 | enum untracked_status_type show_untracked_files; | |
57 | const char *ignore_submodule_arg; | |
58 | char color_palette[WT_STATUS_MAXSLOT][COLOR_MAXLEN]; | |
59 | unsigned colopts; | |
60 | int null_termination; | |
61 | int show_branch; | |
62 | ||
63 | /* These are computed during processing of the individual sections */ | |
64 | int commitable; | |
65 | int workdir_dirty; | |
66 | const char *index_file; | |
67 | FILE *fp; | |
68 | const char *prefix; | |
69 | struct string_list change; | |
70 | struct string_list untracked; | |
71 | struct string_list ignored; | |
72 | }; | |
73 | ||
74 | void wt_status_prepare(struct wt_status *s); | |
75 | void wt_status_print(struct wt_status *s); | |
76 | void wt_status_collect(struct wt_status *s); | |
77 | ||
78 | void wt_shortstatus_print(struct wt_status *s); | |
79 | void wt_porcelain_print(struct wt_status *s); | |
80 | ||
81 | void status_printf_ln(struct wt_status *s, const char *color, const char *fmt, ...) | |
82 | ; | |
83 | void status_printf(struct wt_status *s, const char *color, const char *fmt, ...) | |
84 | ; | |
85 | void status_printf_more(struct wt_status *s, const char *color, const char *fmt, ...) | |
86 | __attribute__((format(printf, 3, 4))); | |
87 | ||
88 | #endif /* STATUS_H */ |