{"id":135,"date":"2005-05-20T19:14:20","date_gmt":"2005-05-20T19:14:20","guid":{"rendered":"http:\/\/www.lucas-nussbaum.net\/blog\/?p=135"},"modified":"2005-05-20T19:14:20","modified_gmt":"2005-05-20T19:14:20","slug":"mettez-de-la-couleur-dans-votre-terminal","status":"publish","type":"post","link":"https:\/\/www.lucas-nussbaum.net\/blog\/?p=135","title":{"rendered":"Mettez de la couleur dans votre terminal"},"content":{"rendered":"<p>Quand on d\u00e9bugge, parfois, on pr\u00e9f\u00e8re utiliser des printf un peu partout que des vrais outils comme gdb. Simplement parce que parfois, gdb est inutile, ou insuffisant. Mais, \u00e0 force de mettre des traces partout, la sortie devient vite illisible. Une solution pour \u00e9viter \u00e7a est d&#8217;utiliser de la couleur.[0]<\/p>\n<p>Pour \u00e7a, on peut utiliser les caract\u00e8res d&#8217;\u00e9chappement d&#8217;xterm, c&#8217;est tr\u00e8s facile et \u00e7a marche \u00e0 peu pr\u00e8s partout (en tout cas, l\u00e0 o\u00f9 c&#8217;est utile). Voici un petit exemple qui compile :<\/p>\n<pre>#include &lt;stdio.h&gt; int main() {    int i;    for (i = 30; i &lt;= 37; i++)       printf(\"\\e[%dmforeground %d\\n\", i, i);    printf(\"\\e[m\"); \/* Raz *\/    for (i = 40; i &lt;= 47; i++)       printf(\"\\e[%dmbackground %d\\n\", i, i);    printf(\"\\e[1;4;34;41mTexte bleu sur fond rouge en gras soulign\u00e9\\n\");    printf(\"\\e[0;39;49m\\n\"); \/* Raz *\/    return 0; } <\/pre>\n<p>Pour avoir la liste compl\u00e8te, c&#8217;est sur <a href=\"http:\/\/www.xfree86.org\/snapshot\/ctlseqs.html\">cette page<\/a>. Attention, \u00e7a se lit comme une grammaire, c&#8217;est pas forc\u00e9ment \u00e9vident au d\u00e9but.<\/p>\n<p>[0] Il y a des gens qui, pour d\u00e9bugger, utilisent le son. C&#8217;est assez pratique pour rep\u00e9rer des patrons dans le comportement des programmes, l&#8217;oreille est tr\u00e8s dou\u00e9e pour \u00e7a. D\u00e9sol\u00e9, je ne trouve plus la r\u00e9f\u00e9rence&#8230; Si qqun connait&#8230;<\/p>\n<p><b>Update :<\/b> sur le meme sujet, un <a href=\"http:\/\/new.linuxjournal.com\/article\/8603\">article de Linux Journal<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quand on d\u00e9bugge, parfois, on pr\u00e9f\u00e8re utiliser des printf un peu partout que des vrais outils comme gdb. Simplement parce que parfois, gdb est inutile, ou insuffisant. Mais, \u00e0 force de mettre des traces partout, la sortie devient vite illisible. Une solution pour \u00e9viter \u00e7a est d&#8217;utiliser de la couleur.[0] Pour \u00e7a, on peut utiliser [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"0","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-135","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=135"}],"version-history":[{"count":0,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/135\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}