]>
Commit | Line | Data |
---|---|---|
c91f0d92 JK |
1 | #ifndef STATUS_H |
2 | #define STATUS_H | |
3 | ||
f26a0012 | 4 | #include <stdio.h> |
50b7e70f | 5 | #include "string-list.h" |
23900a96 | 6 | #include "color.h" |
f26a0012 | 7 | |
c91f0d92 | 8 | enum color_wt_status { |
23900a96 | 9 | WT_STATUS_HEADER = 0, |
c91f0d92 JK |
10 | WT_STATUS_UPDATED, |
11 | WT_STATUS_CHANGED, | |
12 | WT_STATUS_UNTRACKED, | |
950ce2e2 | 13 | WT_STATUS_NOBRANCH, |
4d4d5726 | 14 | WT_STATUS_UNMERGED, |
05a59a08 | 15 | WT_STATUS_LOCAL_BRANCH, |
8d676d85 | 16 | WT_STATUS_REMOTE_BRANCH |
c91f0d92 JK |
17 | }; |
18 | ||
4bfee30a | 19 | enum untracked_status_type { |
6c2ce048 MSO |
20 | SHOW_NO_UNTRACKED_FILES, |
21 | SHOW_NORMAL_UNTRACKED_FILES, | |
4bfee30a MSO |
22 | SHOW_ALL_UNTRACKED_FILES |
23 | }; | |
4bfee30a | 24 | |
50b7e70f JH |
25 | struct wt_status_change_data { |
26 | int worktree_status; | |
27 | int index_status; | |
28 | int stagemask; | |
29 | char *head_path; | |
9297f77e JL |
30 | unsigned dirty_submodule : 2; |
31 | unsigned new_submodule_commits : 1; | |
50b7e70f JH |
32 | }; |
33 | ||
c91f0d92 JK |
34 | struct wt_status { |
35 | int is_initial; | |
36 | char *branch; | |
37 | const char *reference; | |
76e2f7ce | 38 | const char **pathspec; |
c91f0d92 JK |
39 | int verbose; |
40 | int amend; | |
3c588453 | 41 | int in_merge; |
37d07f8f | 42 | int nowarn; |
d249b098 JH |
43 | int use_color; |
44 | int relative_paths; | |
45 | int submodule_summary; | |
6cb3f6b2 | 46 | int show_ignored_files; |
d249b098 | 47 | enum untracked_status_type show_untracked_files; |
46a958b3 | 48 | const char *ignore_submodule_arg; |
05a59a08 | 49 | char color_palette[WT_STATUS_REMOTE_BRANCH+1][COLOR_MAXLEN]; |
d249b098 | 50 | |
2a3a3c24 JR |
51 | /* These are computed during processing of the individual sections */ |
52 | int commitable; | |
53 | int workdir_dirty; | |
0f729f21 | 54 | const char *index_file; |
f26a0012 | 55 | FILE *fp; |
367c9886 | 56 | const char *prefix; |
50b7e70f | 57 | struct string_list change; |
76378683 | 58 | struct string_list untracked; |
6cb3f6b2 | 59 | struct string_list ignored; |
c91f0d92 JK |
60 | }; |
61 | ||
c91f0d92 JK |
62 | void wt_status_prepare(struct wt_status *s); |
63 | void wt_status_print(struct wt_status *s); | |
76378683 | 64 | void wt_status_collect(struct wt_status *s); |
c91f0d92 | 65 | |
05a59a08 | 66 | void wt_shortstatus_print(struct wt_status *s, int null_termination, int show_branch); |
4a7cc2fd | 67 | void wt_porcelain_print(struct wt_status *s, int null_termination); |
84dbe7b8 | 68 | |
c91f0d92 | 69 | #endif /* STATUS_H */ |