Merge branch 'fc/maint-format-patch-pathspec-dashes' into maint
[gitweb.git] / wt-status.h
index 0a5a5b7ba9fc1d50c7dcab8220a4fb77ffecddb4..a0e75177bec925e95b4257811aae0bdee93c41f1 100644 (file)
@@ -1,25 +1,58 @@
 #ifndef STATUS_H
 #define STATUS_H
 
+#include <stdio.h>
+#include "string-list.h"
+#include "color.h"
+
 enum color_wt_status {
-       WT_STATUS_HEADER,
+       WT_STATUS_HEADER = 0,
        WT_STATUS_UPDATED,
        WT_STATUS_CHANGED,
        WT_STATUS_UNTRACKED,
+       WT_STATUS_NOBRANCH,
+       WT_STATUS_UNMERGED,
+};
+
+enum untracked_status_type {
+       SHOW_NO_UNTRACKED_FILES,
+       SHOW_NORMAL_UNTRACKED_FILES,
+       SHOW_ALL_UNTRACKED_FILES
+};
+
+struct wt_status_change_data {
+       int worktree_status;
+       int index_status;
+       int stagemask;
+       char *head_path;
 };
 
 struct wt_status {
        int is_initial;
        char *branch;
        const char *reference;
-       int commitable;
        int verbose;
        int amend;
-       int untracked;
+       int nowarn;
+       int use_color;
+       int relative_paths;
+       int submodule_summary;
+       enum untracked_status_type show_untracked_files;
+       char color_palette[WT_STATUS_UNMERGED+1][COLOR_MAXLEN];
+
+       /* These are computed during processing of the individual sections */
+       int commitable;
+       int workdir_dirty;
+       int workdir_untracked;
+       const char *index_file;
+       FILE *fp;
+       const char *prefix;
+       struct string_list change;
+       struct string_list untracked;
 };
 
-int git_status_config(const char *var, const char *value);
 void wt_status_prepare(struct wt_status *s);
 void wt_status_print(struct wt_status *s);
+void wt_status_collect(struct wt_status *s);
 
 #endif /* STATUS_H */