her.esy.fun/src/Scratch/fr/blog/A-more-convenient-diff/index.html
Yann Esposito (Yogsototh) 059fabd7d0
many minor details to update
2022-10-26 11:38:50 +02:00

115 lines
7.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>YBlog - Un diff plus pratique</title>
<meta name="keywords" content="diff, git, couleurs" />
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
<link rel="stylesheet" type="text/css" href="../../../../css/y.css" />
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<!-- IndieAuth -->
<link href="https://twitter.com/yogsototh" rel="me">
<link href="https://github.com/yogsototh" rel="me">
<link href="mailto:yann.esposito@gmail.com" rel="me">
<link rel="pgpkey" href="../../../../pubkey.txt">
</head>
<body lang="fr" class="article">
<div id="content">
<div id="header">
<div id="choix">
<span id="choixlang">
<a href="../../../../Scratch/en/blog/A-more-convenient-diff/">Anglais</a>
</span>
<span class="tomenu"><a href="#navigation">↓ Menu ↓</a></span>
<span class="flush"></span>
</div>
</div>
<div id="titre">
<h1>Un diff plus pratique</h1>
</div>
<div class="flush"></div>
<div id="afterheader" class="article">
<div class="corps">
<p><code>diff</code> est un utilitaire très pratique, mais il nest pas facile à lire pour nous, les Hommes.</p>
<p>Cest pourquoi, lorsque vous utilisez <code>git</code>, il vous montre un formatage plus agréable avec des couleurs.</p>
<p>Voici le script que jutilise lorsque je veux avoir un <code>diff</code> à la git.</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode zsh"><code class="sourceCode zsh"><a class="sourceLine" id="cb1-1" title="1"><span class="co">#!/usr/bin/env zsh</span></a>
<a class="sourceLine" id="cb1-2" title="2"></a>
<a class="sourceLine" id="cb1-3" title="3"><span class="co"># Load colors helpers</span></a>
<a class="sourceLine" id="cb1-4" title="4"><span class="kw">autoload</span> -U colors <span class="kw">&amp;&amp;</span> colors</a>
<a class="sourceLine" id="cb1-5" title="5"></a>
<a class="sourceLine" id="cb1-6" title="6"><span class="kw">function</span><span class="fu"> colorize_diff</span> <span class="kw">{</span></a>
<a class="sourceLine" id="cb1-7" title="7"> <span class="kw">while</span> <span class="kw">read</span> <span class="ot">line</span>; <span class="kw">do</span></a>
<a class="sourceLine" id="cb1-8" title="8"> <span class="kw">case</span> <span class="ot">${line[0]}</span><span class="kw"> in</span></a>
<a class="sourceLine" id="cb1-9" title="9"> +<span class="kw">)</span> <span class="kw">print</span> -n <span class="ot">$fg[green]</span><span class="kw">;;</span></a>
<a class="sourceLine" id="cb1-10" title="10"> -<span class="kw">)</span> <span class="kw">print</span> -n <span class="ot">$fg[red]</span><span class="kw">;;</span></a>
<a class="sourceLine" id="cb1-11" title="11"> @<span class="kw">)</span> <span class="co"># Display in cyan the @@ positions @@</span></a>
<a class="sourceLine" id="cb1-12" title="12"> <span class="kw">if [[</span> <span class="ot">${line[1]}</span> <span class="ot">=</span> <span class="st">'@'</span><span class="kw"> ]]</span>; <span class="kw">then</span></a>
<a class="sourceLine" id="cb1-13" title="13"> <span class="ot">line=$(</span><span class="kw">print</span> <span class="ot">$line</span> <span class="kw">|</span> <span class="kw">perl</span> -pe <span class="st">'s#(\@\@[^\@]*\@\@)(.*)$#'</span><span class="ot">$fg[cyan]</span><span class="st">'$1'</span><span class="ot">$reset_color</span><span class="st">'$2#'</span><span class="ot">)</span></a>
<a class="sourceLine" id="cb1-14" title="14"> <span class="kw">fi;;</span></a>
<a class="sourceLine" id="cb1-15" title="15"></a>
<a class="sourceLine" id="cb1-16" title="16"> <span class="kw">esac</span></a>
<a class="sourceLine" id="cb1-17" title="17"> <span class="kw">print</span> -- <span class="ot">$line</span></a>
<a class="sourceLine" id="cb1-18" title="18"> <span class="kw">print</span> -n <span class="ot">$reset_color</span></a>
<a class="sourceLine" id="cb1-19" title="19"> <span class="kw">done</span></a>
<a class="sourceLine" id="cb1-20" title="20"><span class="kw">}</span></a>
<a class="sourceLine" id="cb1-21" title="21"></a>
<a class="sourceLine" id="cb1-22" title="22"><span class="kw">diff</span> -u <span class="ot">$*</span> <span class="kw">|</span> colorize_diff</a></code></pre></div>
</div>
<div id="afterarticle">
<div id="social">
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
·
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/fr/blog/A-more-convenient-diff/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
·
<a href="http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fyannesposito.com/Scratch/fr/blog/A-more-convenient-diff/" target="_blank" rel="noopener noreferrer nofollow" class="social">FB</a>
<br />
<a class="message" href="../../../../Scratch/fr/blog/Social-link-the-right-way/">Ces liens sociaux préservent votre vie privée</a>
</div>
<div id="navigation">
<a href="../../../../">Accueil</a>
<span class="sep">¦</span>
<a href="../../../../Scratch/fr/blog">Blog</a>
<span class="sep">¦</span>
<a href="../../../../Scratch/fr/softwares">Logiciels</a>
<span class="sep">¦</span>
<a href="../../../../Scratch/fr/about">Auteur</a>
</div>
<div id="totop"><a href="#header">↑ Top ↑</a></div>
<div id="bottom">
<div>
Published on 2011-08-17
</div>
<div>
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
</div>
<div>
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
</div>
<div>
Done with
<a href="http://www.vim.org" target="_blank" rel="noopener noreferrer nofollow"><strike>Vim</strike></a>
<a href="http://spacemacs.org" target="_blank" rel="noopener noreferrer nofollow">spacemacs</a>
<span class="pala">&amp;</span>
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>