blob: 78add09bd67c727babb61cd1eaa773bcd0c6e55e [file] [log] [blame]
Jeff Kingc91f0d92006-09-08 04:05:34 -04001#ifndef STATUS_H
2#define STATUS_H
3
Kristian Høgsbergf26a0012007-09-17 20:06:42 -04004#include <stdio.h>
5
Jeff Kingc91f0d92006-09-08 04:05:34 -04006enum color_wt_status {
7 WT_STATUS_HEADER,
8 WT_STATUS_UPDATED,
9 WT_STATUS_CHANGED,
10 WT_STATUS_UNTRACKED,
Chris Parsons950ce2e2008-05-22 08:50:02 -040011 WT_STATUS_NOBRANCH,
Jeff Kingc91f0d92006-09-08 04:05:34 -040012};
13
Marius Storm-Olsen4bfee302008-06-05 10:31:19 +020014enum untracked_status_type {
Marius Storm-Olsen6c2ce042008-06-05 14:22:56 +020015 SHOW_NO_UNTRACKED_FILES,
16 SHOW_NORMAL_UNTRACKED_FILES,
Marius Storm-Olsen4bfee302008-06-05 10:31:19 +020017 SHOW_ALL_UNTRACKED_FILES
18};
19extern enum untracked_status_type show_untracked_files;
20
Jeff Kingc91f0d92006-09-08 04:05:34 -040021struct wt_status {
22 int is_initial;
23 char *branch;
24 const char *reference;
Jeff Kingc91f0d92006-09-08 04:05:34 -040025 int verbose;
26 int amend;
Johannes Schindelin2074cb02006-09-12 22:45:12 +020027 int untracked;
Junio C Hamano37d07f82007-12-12 19:09:16 -080028 int nowarn;
Jürgen Rühle2a3a3c22007-01-10 23:25:03 +010029 /* These are computed during processing of the individual sections */
30 int commitable;
31 int workdir_dirty;
32 int workdir_untracked;
Kristian Høgsberg0f729f22007-09-17 20:06:43 -040033 const char *index_file;
Kristian Høgsbergf26a0012007-09-17 20:06:42 -040034 FILE *fp;
Johannes Schindelin367c9882007-11-11 17:35:41 +000035 const char *prefix;
Jeff Kingc91f0d92006-09-08 04:05:34 -040036};
37
Johannes Schindelinef90d6d2008-05-14 18:46:53 +010038int git_status_config(const char *var, const char *value, void *cb);
Johannes Sixt32efcd92008-05-09 10:05:27 +020039extern int wt_status_use_color;
40extern int wt_status_relative_paths;
Jeff Kingc91f0d92006-09-08 04:05:34 -040041void wt_status_prepare(struct wt_status *s);
42void wt_status_print(struct wt_status *s);
43
44#endif /* STATUS_H */