π Colorful Console C MACRO library
μ¬μ΄ μ€μΉ
- 맀ν¬λ‘ν¨μλ§μΌλ‘ ꡬμ±λμ΄μ chalk.h νμΌ νλλ§ λ³΅μ¬ν΄μ νλ‘μ νΈμ λ£μΌλ©΄ λ°λ‘ μ¬μ©ν μ μμ΅λλ€.
κ°λ³μ΅λλ€.
- λ°νμμ μ€νλλκ²μ΄ μλ, μ μ²λ¦¬λκΈ° λλ¬Έμ μ€νμ΄ λΉ λ¦ λλ€.
μ μ°ν ννλ ₯
- CμΈμ΄μ String Literal,
μκ°λ³΄λ€
μ μ°ν©λλ€.
#include "chalk.h"
printf(CHALK_RED("Hello World"));
^ ~ "Hello World" λ¬Έμμ΄μ κΈμλ₯Ό λΉ¨κ°μμΌλ‘ λ°κΏμ€λλ€.
printf(CHALK_BG_BLUE("μλ
μΈμμ"));
^ ~ "μλ
μΈμμ" λ¬Έμμ΄μ λ°°κ²½μ νλμμΌλ‘ λ°κΏμ€λλ€.
printf(CHALK_BG_BLUE(CHALK_RED("νΌν© μ¬μ©")));
^ ~~ κΈμμ λΉ¨κ°
^ ~~ λ°°κ²½μ νλ
printf(CHALK_BLINK("κΉλΉ‘κΉλΉ‘"));
^ ~~ κΉλΉ‘μ΄ ν¨κ³Όλ₯Ό μμλλ€.
#define CHALK_NO_PREFIX
^ ~~ μμ CHALK_ λ₯Ό μ°μ§ μμλ λ©λλ€.
^ ~~ μλ₯Όλ€λ©΄, CHALK_RED λμ μ REDλ§ μ¨λ λ©λλ€!
#include "chalk.h"
printf(BG_BLACK(MAGENTA("λΈλ")) " " BG_MAGENTA(BLACK("νν¬")));
printf(BOLD("κ΅΅μ κΈμ¨") " " DIM("μ°ν κΈμ¨") "\n");
printf(ITALIC("ITALIC " BOLD("ITALIC AND BOLD")));
/* template λ§λ€κΈ° */
const char *int_template = MAGENTA("%d") "\n";
printf(int_template, 15);
~~> μ νμ 15 μΆλ ₯
const char *n_times_m = BLUE("%d X %d") " = " BG_CYAN("%d");
printf(n_times_m, 5, 6, 30);
~~> 5 X 6 νλμ
~~> =
~~> 30 μ²λ‘ λ°°κ²½
MACRO Function | κΈμ μκΉ |
---|---|
CHALK_BLACK | κ²μ |
CHALK_RED | λΉ¨κ° |
CHALK_GREEN | μ΄λ‘ |
CHALK_YELLOW | λ Έλ |
CHALK_BLUE | νλ |
CHALK_MAGENTA | μ¬ν |
CHALK_CYAN | μ²λ‘ |
CHALK_WHITE | νμ |
MACRO Function | κΈμ μκΉ |
---|---|
CHALK_LIGHT_BLACK | μ°ν κ²μ |
CHALK_LIGHT_RED | μ°ν λΉ¨κ° |
CHALK_LIGHT_GREEN | μ°ν μ΄λ‘ |
CHALK_LIGHT_YELLOW | μ°ν λ Έλ |
CHALK_LIGHT_BLUE | μ°ν νλ |
CHALK_LIGHT_MAGENTA | μ°ν μ¬ν |
CHALK_LIGHT_CYAN | μ°ν μ²λ‘ |
CHALK_LIGHT_WHITE | μ°ν νμ |
MACRO Function | λ°°κ²½ μκΉ |
---|---|
CHALK_BG_BLACK | κ²μ |
CHALK_BG_RED | λΉ¨κ° |
CHALK_BG_GREEN | μ΄λ‘ |
CHALK_BG_YELLOW | λ Έλ |
CHALK_BG_BLUE | νλ |
CHALK_BG_MAGENTA | μ¬ν |
CHALK_BG_CYAN | μ²λ‘ |
CHALK_BG_WHITE | νμ |
MACRO Function | λ°°κ²½ μκΉ |
---|---|
CHALK_BG_LIGHT_BLACK | μ°ν κ²μ |
CHALK_BG_LIGHT_RED | μ°ν λΉ¨κ° |
CHALK_BG_LIGHT_GREEN | μ°ν μ΄λ‘ |
CHALK_BG_LIGHT_YELLOW | μ°ν λ Έλ |
CHALK_BG_LIGHT_BLUE | μ°ν νλ |
CHALK_BG_LIGHT_MAGENTA | μ°ν μ¬ν |
CHALK_BG_LIGHT_CYAN | μ°ν μ²λ‘ |
CHALK_BG_LIGHT_WHITE | μ°ν νμ |
MACRO Function | ν¨κ³Ό |
---|---|
CHALK_BOLD | κ΅΅κ² |
CHALK_DIM | μ°νκ² |
CHALK_ITALIC | κΈ°μΈμ |
CHALK_UNDERLINE | λ°μ€ |
CHALK_BLINK | κΉλΉ‘μ |
CHALK_STRIKE | μ·¨μμ |
CHALK_INVERSE | λ°°κ²½μκ³Ό κΈμμ λ€μ§κΈ° |
CHALK_HIDE | κΈμ μ¨κΈ°κΈ° |
CHALK_RED(), CHALK_BG_BLUE(), ... λ±μ 맀ν¬λ‘ ν¨μ
μ
λλ€.
ν¨μκ° μλ 맀ν¬λ‘ ν¨μμμ μΈμ§νλκ²μ κ΅μ₯ν μ€μν©λλ€.
CHALK_RED λ‘ μλ₯Ό λ€μ΄μ μ€λͺ μ νκ² μ΅λλ€.
CHALK_RED(λ¬Έμμ΄)λ <RED> λ¬Έμμ΄ </RED>
μΌλ‘ λ³κ²½λ©λλ€.
μ ννλ "\x1b[31m" λ¬Έμμ΄ "\x1b[39m" μ λλ€. ANSI ESCAPE CODEλ₯Ό μ΄μ©νμ΅λλ€.
μ¬κΈ°μ \x1b λ±μ ννμ κ΅μ₯ν κ°λ
μ±μ΄ μ’μ§ μκΈ° λλ¬Έμ JSXμ Elementλ₯Ό νννλ λ°©μμ²λΌ <RED> </RED>
λ°μμ ννμ λΉλ €μ μμΌλ‘ λμ μ€λͺ
νκ² μ΅λλ€.
- Cμμ λ¬Έμμ΄μ μ°μν΄μ μ΄κ±°ν΄λλ©΄ νλμ λ¬Έμμ΄λ‘ ν©μ³μ§κΈ° λλ¬Έμ (
"hello " "world"
λ"hello world"
μ κ°μ΅λλ€),"<RED>" λ¬Έμμ΄ "</RED>"
λ"<RED>λ¬Έμμ΄</RED>"
μ²λΌ μμ°μ€λ½κ² νλμ μ€νΈλ§μΌλ‘ ν©μ³μ§κ² λ©λλ€. - μ΄ μμ±μ Cμμ λ¬Έμμ΄μ λ€λ£¨λλ° μκΈ΄νκ² μ¬μ©λκΈ° λλ¬Έμ μμ±1μ΄λΌκ³ μ§μΉνκ³ μ΄νμ λ€μ μ¬μ©ν κ²μ λλ€.
CHALKλ μ¬λ¬κ°μ§ μμ±μ ν¨κ» μ¬μ©ν μ μμ΅λλ€.
μλ₯Όλ€μ΄μ κΈμμκ³Ό λ°°κ²½μμ ν¨κ» μ¬μ©νλκ²½μ°μ λν΄μ μ΄ν΄λ³΄κ² μ΅λλ€.
CHALK_BG_RED(CHALK_BLUE("λ¬Έμμ΄"))
μ ννμμμ λ¨Όμ CHALK_BLUE("λ¬Έμμ΄")μ "<BLUE>λ¬Έμμ΄</BLUE>"
λ‘ λ³νλ©λλ€. κ·Έλ¦¬κ³ λ³νλ λ¬Έμμ΄μ CHALK_BG_REDμ μΈμλ‘ λ€μ΄κ°μ "<BG_RED><BLUE>λ¬Έμμ΄</BLUE></BG_RED>"
λ‘ λ³νλκ² λ©λλ€.
맀ν¬λ‘ν¨μμ΄κΈ° λλ¬Έμ μ€νμκ°(Runtime)μ λ³νλλκ²μ΄μλ, μ»΄νμΌμκ°(Compile-time)μ μνλ©λλ€. μ μ²λ¦¬κΈ°μμν΄μ λ³νλ κ²°κ³Όλ λΉμ°νκ²λ λ¬Έμμ΄ λ¦¬ν°λ΄(String Literal)μ΄λΌλ μ¬μ€μ μΈμ§ν΄μΌν©λλ€.
λ§μ½ μ΄λ‘μ λ¬Έμμ΄κ³Ό νλμ λ¬Έμμ΄μ ν¨κ» κΈ°μΈμ¬μ μ°κ³ μΆλ€λ©΄ μλμκ°μ λ¬Έμμ΄μ λ§λ€μ΄μΌ ν κ²μ λλ€.
"<ITALIC><GREEN>μ΄λ‘μλ¬Έμμ΄</GREEN><BLUE>νλμλ¬Έμμ΄</BLUE></ITALIC>"
μμ μ€λͺ ν μμ±1μ μ΄μ©ν΄μ CHALK_ITALIC(CHALK_GREEN("μ΄λ‘μλ¬Έμμ΄") CHALK_BLUE("νλμλ¬Έμμ΄")) λ‘ ννν μ μμ΅λλ€.
μλ°μ€ν¬λ¦½νΈ chalk μ λ€μ΄λ°μ λ°μμ΅λλ€.