wt-status.h 1.12 KB
Newer Older
1 2 3
#ifndef STATUS_H
#define STATUS_H

4
#include <stdio.h>
5
#include "string-list.h"
6

7 8 9 10 11
enum color_wt_status {
	WT_STATUS_HEADER,
	WT_STATUS_UPDATED,
	WT_STATUS_CHANGED,
	WT_STATUS_UNTRACKED,
12
	WT_STATUS_NOBRANCH,
13 14
};

15
enum untracked_status_type {
16 17
	SHOW_NO_UNTRACKED_FILES,
	SHOW_NORMAL_UNTRACKED_FILES,
18 19 20 21
	SHOW_ALL_UNTRACKED_FILES
};
extern enum untracked_status_type show_untracked_files;

22 23 24 25 26 27 28
struct wt_status_change_data {
	int worktree_status;
	int index_status;
	int stagemask;
	char *head_path;
};

29 30 31 32 33 34
struct wt_status {
	int is_initial;
	char *branch;
	const char *reference;
	int verbose;
	int amend;
35
	int untracked;
36
	int nowarn;
37 38 39 40
	/* These are computed during processing of the individual sections */
	int commitable;
	int workdir_dirty;
	int workdir_untracked;
41
	const char *index_file;
42
	FILE *fp;
43
	const char *prefix;
44
	struct string_list change;
45 46
};

47
int git_status_config(const char *var, const char *value, void *cb);
48 49
extern int wt_status_use_color;
extern int wt_status_relative_paths;
50 51
void wt_status_prepare(struct wt_status *s);
void wt_status_print(struct wt_status *s);
52
void wt_status_collect_changes(struct wt_status *s);
53 54

#endif /* STATUS_H */