aboutsummaryrefslogtreecommitdiffstats
path: root/add-patch.h
diff options
context:
space:
mode:
Diffstat (limited to 'add-patch.h')
-rw-r--r--add-patch.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/add-patch.h b/add-patch.h
new file mode 100644
index 0000000000..901c42fd7b
--- /dev/null
+++ b/add-patch.h
@@ -0,0 +1,64 @@
+#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;
+};
+
+#define INTERACTIVE_OPTIONS_INIT { \
+ .context = -1, \
+ .interhunkcontext = -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;
+};
+
+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,
+};
+
+int run_add_p(struct repository *r, enum add_p_mode mode,
+ struct interactive_options *opts, const char *revision,
+ const struct pathspec *ps);
+
+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);
+
+#endif