git/ws.h

#ifndef WS_H
#define WS_H

struct index_state;
struct strbuf;

/*
 * whitespace rules.
 * used by both diff and apply
 * last two digits are tab width
 */
#define WS_BLANK_AT_EOL
#define WS_SPACE_BEFORE_TAB
#define WS_INDENT_WITH_NON_TAB
#define WS_CR_AT_EOL
#define WS_BLANK_AT_EOF
#define WS_TAB_IN_INDENT
#define WS_TRAILING_SPACE
#define WS_DEFAULT_RULE
#define WS_TAB_WIDTH_MASK
/* All WS_* -- when extended, adapt diff.c emit_symbol */
#define WS_RULE_MASK
extern unsigned whitespace_rule_cfg;
unsigned whitespace_rule(struct index_state *, const char *);
unsigned parse_whitespace_rule(const char *);
unsigned ws_check(const char *line, int len, unsigned ws_rule);
void ws_check_emit(const char *line, int len, unsigned ws_rule, FILE *stream, const char *set, const char *reset, const char *ws);
char *whitespace_error_string(unsigned ws);
void ws_fix_copy(struct strbuf *, const char *, int, unsigned, int *);
int ws_blank_line(const char *line, int len);
#define ws_tab_width(rule)

#endif /* WS_H */