/**
 * @file include/error.h
 */

#pragma once
#include "ansiesc.h"
#include "gene.h"
#include <stdio.h>

[[gnu::format(printf, 3, 4)]] overloadable void
dispErr(FILE *, char const *, char const *, ...);

[[gnu::format(printf, 2, 3)]] overloadable void
dispErr(char const *, char const *, ...);

#define DISPERR(...) \
  PRINT( \
    "\n[", \
    (char *)__FUNCTION__, \
    "]\n  " ESCRED "Error: ", \
    __VA_ARGS__, \
    "\n" ESCLR \
  );