THIS IS A TEST INSTANCE ONLY! REPOSITORIES CAN BE DELETED AT ANY TIME!

Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
git
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4KB

  1. #ifndef COLUMN_H
  2. #define COLUMN_H
  3. #define COL_LAYOUT_MASK 0x000F
  4. #define COL_ENABLE_MASK 0x0030 /* always, never or auto */
  5. #define COL_PARSEOPT 0x0040 /* --column is given from cmdline */
  6. #define COL_DENSE 0x0080 /* Shrink columns when possible,
  7. making space for more columns */
  8. #define COL_DISABLED 0x0000 /* must be zero */
  9. #define COL_ENABLED 0x0010
  10. #define COL_AUTO 0x0020
  11. #define COL_LAYOUT(c) ((c) & COL_LAYOUT_MASK)
  12. #define COL_COLUMN 0 /* Fill columns before rows */
  13. #define COL_ROW 1 /* Fill rows before columns */
  14. #define COL_PLAIN 15 /* one column */
  15. #define explicitly_enable_column(c) \
  16. (((c) & COL_PARSEOPT) && column_active(c))
  17. struct column_options {
  18. int width;
  19. int padding;
  20. const char *indent;
  21. const char *nl;
  22. };
  23. struct option;
  24. int parseopt_column_callback(const struct option *, const char *, int);
  25. int git_column_config(const char *var, const char *value,
  26. const char *command, unsigned int *colopts);
  27. int finalize_colopts(unsigned int *colopts, int stdout_is_tty);
  28. static inline int column_active(unsigned int colopts)
  29. {
  30. return (colopts & COL_ENABLE_MASK) == COL_ENABLED;
  31. }
  32. struct string_list;
  33. void print_columns(const struct string_list *list, unsigned int colopts,
  34. const struct column_options *opts);
  35. int run_column_filter(int colopts, const struct column_options *);
  36. int stop_column_filter(void);
  37. #endif