<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <!-- Generated by HsColour, http://code.haskell.org/~malcolm/hscolour/ --> <title>src/Darcs/Patch/FileHunk.hs</title> <link type='text/css' rel='stylesheet' href='hscolour.css' /> </head> <body> <pre><a name="line-1"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Darcs</span><span class='hs-varop'>.</span><span class='hs-conid'>Patch</span><span class='hs-varop'>.</span><span class='hs-conid'>FileHunk</span> <a name="line-2"></a> <span class='hs-layout'>(</span> <span class='hs-conid'>FileHunk</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-conid'>IsHunk</span><span class='hs-layout'>(</span><span class='hs-keyglyph'>..</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-varid'>showFileHunk</span> <a name="line-3"></a> <span class='hs-layout'>)</span> <a name="line-4"></a> <span class='hs-keyword'>where</span> <a name="line-5"></a> <a name="line-6"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Darcs</span><span class='hs-varop'>.</span><span class='hs-conid'>Patch</span><span class='hs-varop'>.</span><span class='hs-conid'>FileName</span> <span class='hs-layout'>(</span> <span class='hs-conid'>FileName</span> <span class='hs-layout'>)</span> <a name="line-7"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Darcs</span><span class='hs-varop'>.</span><span class='hs-conid'>Patch</span><span class='hs-varop'>.</span><span class='hs-conid'>Format</span> <span class='hs-layout'>(</span> <span class='hs-conid'>FileNameFormat</span> <span class='hs-layout'>)</span> <a name="line-8"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Darcs</span><span class='hs-varop'>.</span><span class='hs-conid'>Patch</span><span class='hs-varop'>.</span><span class='hs-conid'>Show</span> <span class='hs-layout'>(</span> <span class='hs-varid'>formatFileName</span> <span class='hs-layout'>)</span> <a name="line-9"></a> <a name="line-10"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Printer</span> <a name="line-11"></a> <span class='hs-layout'>(</span> <span class='hs-conid'>Doc</span><span class='hs-layout'>,</span> <span class='hs-varid'>blueText</span><span class='hs-layout'>,</span> <span class='hs-varid'>text</span><span class='hs-layout'>,</span> <span class='hs-varid'>lineColor</span><span class='hs-layout'>,</span> <span class='hs-varid'>vcat</span><span class='hs-layout'>,</span> <span class='hs-varid'>userchunkPS</span> <a name="line-12"></a> <span class='hs-layout'>,</span> <span class='hs-varid'>prefix</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varop'>$$</span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-layout'>(</span><span class='hs-varop'><+></span><span class='hs-layout'>)</span><span class='hs-layout'>,</span> <span class='hs-conid'>Color</span><span class='hs-layout'>(</span><span class='hs-conid'>Cyan</span><span class='hs-layout'>,</span> <span class='hs-conid'>Magenta</span><span class='hs-layout'>)</span> <span class='hs-layout'>)</span> <a name="line-13"></a> <a name="line-14"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>B</span> <span class='hs-layout'>(</span> <span class='hs-conid'>ByteString</span> <span class='hs-layout'>)</span> <a name="line-15"></a> <a name="line-16"></a><span class='hs-cpp'>#include "gadts.h"</span> <a name="line-17"></a> <a name="line-18"></a><a name="FileHunk"></a><span class='hs-keyword'>data</span> <span class='hs-conid'>FileHunk</span> <span class='hs-conid'>C</span><span class='hs-layout'>(</span><span class='hs-varid'>x</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>FileHunk</span> <span class='hs-varop'>!</span><span class='hs-conid'>FileName</span> <span class='hs-varop'>!</span><span class='hs-conid'>Int</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>B</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-keyglyph'>]</span> <span class='hs-keyglyph'>[</span><span class='hs-conid'>B</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span><span class='hs-keyglyph'>]</span> <a name="line-19"></a> <a name="line-20"></a><a name="IsHunk"></a><span class='hs-keyword'>class</span> <span class='hs-conid'>IsHunk</span> <span class='hs-varid'>p</span> <span class='hs-keyword'>where</span> <a name="line-21"></a> <span class='hs-varid'>isHunk</span> <span class='hs-keyglyph'>::</span> <span class='hs-varid'>p</span> <span class='hs-conid'>C</span><span class='hs-layout'>(</span><span class='hs-varid'>x</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Maybe</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileHunk</span> <span class='hs-conid'>C</span><span class='hs-layout'>(</span><span class='hs-varid'>x</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <a name="line-22"></a> <a name="line-23"></a><a name="showFileHunk"></a><span class='hs-definition'>showFileHunk</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FileNameFormat</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>FileHunk</span> <span class='hs-conid'>C</span><span class='hs-layout'>(</span><span class='hs-varid'>x</span> <span class='hs-varid'>y</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>-></span> <span class='hs-conid'>Doc</span> <a name="line-24"></a><span class='hs-definition'>showFileHunk</span> <span class='hs-varid'>x</span> <span class='hs-layout'>(</span><span class='hs-conid'>FileHunk</span> <span class='hs-varid'>f</span> <span class='hs-varid'>line</span> <span class='hs-varid'>old</span> <span class='hs-varid'>new</span><span class='hs-layout'>)</span> <span class='hs-keyglyph'>=</span> <a name="line-25"></a> <span class='hs-varid'>blueText</span> <span class='hs-str'>"hunk"</span> <span class='hs-varop'><+></span> <span class='hs-varid'>formatFileName</span> <span class='hs-varid'>x</span> <span class='hs-varid'>f</span> <span class='hs-varop'><+></span> <span class='hs-varid'>text</span> <span class='hs-layout'>(</span><span class='hs-varid'>show</span> <span class='hs-varid'>line</span><span class='hs-layout'>)</span> <a name="line-26"></a> <span class='hs-varop'>$$</span> <span class='hs-varid'>lineColor</span> <span class='hs-conid'>Magenta</span> <span class='hs-layout'>(</span><span class='hs-varid'>prefix</span> <span class='hs-str'>"-"</span> <span class='hs-layout'>(</span><span class='hs-varid'>vcat</span> <span class='hs-varop'>$</span> <span class='hs-varid'>map</span> <span class='hs-varid'>userchunkPS</span> <span class='hs-varid'>old</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> <a name="line-27"></a> <span class='hs-varop'>$$</span> <span class='hs-varid'>lineColor</span> <span class='hs-conid'>Cyan</span> <span class='hs-layout'>(</span><span class='hs-varid'>prefix</span> <span class='hs-str'>"+"</span> <span class='hs-layout'>(</span><span class='hs-varid'>vcat</span> <span class='hs-varop'>$</span> <span class='hs-varid'>map</span> <span class='hs-varid'>userchunkPS</span> <span class='hs-varid'>new</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span> </pre></body> </html>