colorprint - An ANSI Escape sequence console writer mini-library
Architecture: IMO, the time for trusting that char * buffers will not overflow is past.  Pass in a size_t size and check for valid sizes in function calls.
static const char *numch = "0123456789"; serves little value and its application can cause UB on unruly input.  Rather than use it convert to digit character, just add '0', offset as needed.  numch[fx - 1] --> fx - 1 + '0'
Global functions that being with _ are reserve for the implementation. Use a different name.

// void _cprint(struct cpoptions *cpo)
void cp_print(struct cpoptions *cpo)

\e is a non-standard escape sequence.  Use \033 or ...

// printf("\e[%s%s\e[0m"
#define ESC 27
printf("%c[%s%s\e[0m", ESC

colorprint.h should have a protective #ifndef  to cope with re-entrantcy.

#ifndef colorprint_h
#define colorprint_h
   ... // existing content
#endif

I found useful enumerating the Nth item

enum color {
    color_invalid,
    color_white,
    color_N  // add
};

if (value &gt;= color_N) Handle_InvalidValue(value);

Nice to have example usage in .h file.  Suggest #if 0 bracketing instead as it does not stop syntax highlighting.
Pedantic: size_t is the type to use for array indexing rather than int.  Code accordingly, remember that size_t is some unsigned type.
Namespace colorprint.h abuses namespace with color_..., fx_..., cp....  Suggest a more uniform prefix.  cp... is not too bad, but then use cp.h.
Avoid magic number - why 30?  Numbers other than -1,0,1,2 and maybe 42 deserve a macro or const object.

char options[30] = "";

Do not include files before "colorprint.h". "colorprint.c" should do this to insure "colorprint.h" is not dependant on some &lt;*.h&gt; file
tidy up, remove /*{{{*/, etc.
Good use of static functions.
Print-like functions should return int.

/// void _cprint(
int  _cprint(
  ...
  int i = printf("\e[%s%s\e[0m", options, cpo-&gt;string);
  return i;
}

func is much too common to use as a macro name

// #define func(name, type, ...) \
#define cp_func(name, type, ...) \