git/wt-status.h
Jeff King d4a6bf1fb6 status: respect "-b" for porcelain format
There is no reason not to, as the user has to explicitly ask
for it, so we are not breaking compatibility by doing so. We
can do this simply by moving the "show_branch" flag into
the wt_status struct. As a bonus, this saves us from passing
it explicitly, simplifying the code.

Signed-off-by: Jeff King <peff@peff.net>
2012-05-08 04:51:08 -04:00

87 lines
2 KiB
C

#ifndef STATUS_H
#define STATUS_H
#include <stdio.h>
#include "string-list.h"
#include "color.h"
enum color_wt_status {
WT_STATUS_HEADER = 0,
WT_STATUS_UPDATED,
WT_STATUS_CHANGED,
WT_STATUS_UNTRACKED,
WT_STATUS_NOBRANCH,
WT_STATUS_UNMERGED,
WT_STATUS_LOCAL_BRANCH,
WT_STATUS_REMOTE_BRANCH,
WT_STATUS_ONBRANCH,
WT_STATUS_MAXSLOT
};
enum untracked_status_type {
SHOW_NO_UNTRACKED_FILES,
SHOW_NORMAL_UNTRACKED_FILES,
SHOW_ALL_UNTRACKED_FILES
};
/* from where does this commit originate */
enum commit_whence {
FROM_COMMIT, /* normal */
FROM_MERGE, /* commit came from merge */
FROM_CHERRY_PICK /* commit came from cherry-pick */
};
struct wt_status_change_data {
int worktree_status;
int index_status;
int stagemask;
char *head_path;
unsigned dirty_submodule : 2;
unsigned new_submodule_commits : 1;
};
struct wt_status {
int is_initial;
char *branch;
const char *reference;
const char **pathspec;
int verbose;
int amend;
enum commit_whence whence;
int nowarn;
int use_color;
int relative_paths;
int submodule_summary;
int show_ignored_files;
enum untracked_status_type show_untracked_files;
const char *ignore_submodule_arg;
char color_palette[WT_STATUS_MAXSLOT][COLOR_MAXLEN];
int null_termination;
int show_branch;
/* These are computed during processing of the individual sections */
int commitable;
int workdir_dirty;
const char *index_file;
FILE *fp;
const char *prefix;
struct string_list change;
struct string_list untracked;
struct string_list ignored;
};
void wt_status_prepare(struct wt_status *s);
void wt_status_print(struct wt_status *s);
void wt_status_collect(struct wt_status *s);
void wt_shortstatus_print(struct wt_status *s);
void wt_porcelain_print(struct wt_status *s);
void status_printf_ln(struct wt_status *s, const char *color, const char *fmt, ...)
;
void status_printf(struct wt_status *s, const char *color, const char *fmt, ...)
;
void status_printf_more(struct wt_status *s, const char *color, const char *fmt, ...)
__attribute__((format(printf, 3, 4)));
#endif /* STATUS_H */