Git fork
1#ifndef ADD_INTERACTIVE_H
2#define ADD_INTERACTIVE_H
3
4#include "color.h"
5
6struct add_p_opt {
7 int context;
8 int interhunkcontext;
9};
10
11#define ADD_P_OPT_INIT { .context = -1, .interhunkcontext = -1 }
12
13struct add_i_state {
14 struct repository *r;
15 enum git_colorbool use_color_interactive;
16 enum git_colorbool use_color_diff;
17 char header_color[COLOR_MAXLEN];
18 char help_color[COLOR_MAXLEN];
19 char prompt_color[COLOR_MAXLEN];
20 char error_color[COLOR_MAXLEN];
21 char reset_color_interactive[COLOR_MAXLEN];
22
23 char fraginfo_color[COLOR_MAXLEN];
24 char context_color[COLOR_MAXLEN];
25 char file_old_color[COLOR_MAXLEN];
26 char file_new_color[COLOR_MAXLEN];
27 char reset_color_diff[COLOR_MAXLEN];
28
29 int use_single_key;
30 char *interactive_diff_filter, *interactive_diff_algorithm;
31 int context, interhunkcontext;
32};
33
34void init_add_i_state(struct add_i_state *s, struct repository *r,
35 struct add_p_opt *add_p_opt);
36void clear_add_i_state(struct add_i_state *s);
37
38struct repository;
39struct pathspec;
40int run_add_i(struct repository *r, const struct pathspec *ps,
41 struct add_p_opt *add_p_opt);
42
43enum add_p_mode {
44 ADD_P_ADD,
45 ADD_P_STASH,
46 ADD_P_RESET,
47 ADD_P_CHECKOUT,
48 ADD_P_WORKTREE,
49};
50
51int run_add_p(struct repository *r, enum add_p_mode mode,
52 struct add_p_opt *o, const char *revision,
53 const struct pathspec *ps);
54
55#endif