| #ifndef ADD_PATCH_H |
| #define ADD_PATCH_H |
| |
| #include "color.h" |
| |
| struct index_state; |
| struct pathspec; |
| struct repository; |
| |
| struct interactive_options { |
| int context; |
| int interhunkcontext; |
| int auto_advance; |
| }; |
| |
| #define INTERACTIVE_OPTIONS_INIT { \ |
| .context = -1, \ |
| .interhunkcontext = -1, \ |
| .auto_advance = 1, \ |
| } |
| |
| struct interactive_config { |
| enum git_colorbool use_color_interactive; |
| enum git_colorbool use_color_diff; |
| char header_color[COLOR_MAXLEN]; |
| char help_color[COLOR_MAXLEN]; |
| char prompt_color[COLOR_MAXLEN]; |
| char error_color[COLOR_MAXLEN]; |
| char reset_color_interactive[COLOR_MAXLEN]; |
| |
| char fraginfo_color[COLOR_MAXLEN]; |
| char context_color[COLOR_MAXLEN]; |
| char file_old_color[COLOR_MAXLEN]; |
| char file_new_color[COLOR_MAXLEN]; |
| char reset_color_diff[COLOR_MAXLEN]; |
| |
| int use_single_key; |
| char *interactive_diff_filter, *interactive_diff_algorithm; |
| int context, interhunkcontext; |
| int auto_advance; |
| }; |
| |
| void interactive_config_init(struct interactive_config *cfg, |
| struct repository *r, |
| struct interactive_options *opts); |
| void interactive_config_clear(struct interactive_config *cfg); |
| |
| enum add_p_mode { |
| ADD_P_ADD, |
| ADD_P_STASH, |
| ADD_P_RESET, |
| ADD_P_CHECKOUT, |
| ADD_P_WORKTREE, |
| }; |
| |
| enum add_p_flags { |
| /* Disallow "editing" hunks. */ |
| ADD_P_DISALLOW_EDIT = (1 << 0), |
| }; |
| |
| int run_add_p(struct repository *r, enum add_p_mode mode, |
| struct interactive_options *opts, const char *revision, |
| const struct pathspec *ps, |
| unsigned flags); |
| |
| int run_add_p_index(struct repository *r, |
| struct index_state *index, |
| const char *index_file, |
| struct interactive_options *opts, |
| const char *revision, |
| const struct pathspec *ps, |
| unsigned flags); |
| |
| #endif |