<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Matthew Manela&#039;s Home Page &#187; MattManela</title>
	<atom:link href="http://matthewmanela.com/author/mattmanela/feed/" rel="self" type="application/rss+xml" />
	<link>http://matthewmanela.com</link>
	<description>The life and work of Matthew Manela</description>
	<lastBuildDate>Sun, 25 Jul 2010 18:00:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>OpenWithTest released on Visual Studio Gallery</title>
		<link>http://matthewmanela.com/2010/06/30/openwithtest-released-on-visual-studio-gallery/</link>
		<comments>http://matthewmanela.com/2010/06/30/openwithtest-released-on-visual-studio-gallery/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 23:59:00 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio Gallery]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/06/30/quot-open-with-test-quot-released-on-visual-studio-gallery.aspx</guid>
		<description><![CDATA[Download
Either download from the extension manager by searching OpenWithTest or go to the project page here.
Summary 
Open with Test is a Visual Studio extension which serves one simple task: To always open your test files and implementation files tog...]]></description>
			<content:encoded><![CDATA[<h3>Download</h3>

<p>Either download from the extension manager by searching OpenWithTest or go to the project page <a href="http://visualstudiogallery.msdn.microsoft.com/en-us/40ed230b-067a-44c6-9a3b-93f661aa4ab6">here</a>.</p>

<h3>Summary</h3>

<p>Open with Test is a Visual Studio extension which serves one simple task: To always open your test files and implementation files together.</p>

<h3>Details</h3>

<p>When writing unit tested applications (especially while practicing TDD) you will often open an implementation file (i.e SomeClass.cs) followed by the test file(i.e. SomeClassTests.cs).  This extension makes this a one step process.</p>

<p>It works by detecting when you open a new file and attempting to find via convention the test file. It assumes that you create one test file per class.  So, if you create a class called Car in the file Car.cs then you will have a test file named CarTests.cs which tests the car class.</p>

<p>Currently, only C# (.cs) files are supported but I plan to expand this to other files types soon.</p>

<h3>Configuration</h3>

<p>Out of the box, this extension will assume a file is a test file if it ends with the suffix <strong>Test</strong>,<strong>Tests</strong>, <strong>Fact</strong> or <strong>Facts</strong>.  However, this can be configured.  To change these go to Tools -&gt; Options -&gt; Open With Test and you will see this screen:</p>

<p style="text-align: center;"><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-89-61-metablogapi/6403.image_5F00_068513EA.png"></a><a href="http://matthewmanela.com/wp-content/uploads/2010/06/6403.image_068513EA.png"><img class="size-full wp-image-456 aligncenter" title="6403.image_068513EA" src="http://matthewmanela.com/wp-content/uploads/2010/06/6403.image_068513EA.png" alt="" width="600" height="349" /></a></p>

<p><br class="spacer_" /></p>

<h3><strong>Feedback</strong></h3>

<p>I would love to get feedback about features or suggestion so please feel free to leave a comment on this blog post or start a discussion post on the <a href="http://visualstudiogallery.msdn.microsoft.com/en-us/40ed230b-067a-44c6-9a3b-93f661aa4ab6">Visual Studio Gallery page</a>.</p>

<p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10033207" alt="" width="1" height="1" /></p>]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/06/30/openwithtest-released-on-visual-studio-gallery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snippet Designer 1.3 Released!</title>
		<link>http://matthewmanela.com/2010/06/01/snippet-designer-1-3-released/</link>
		<comments>http://matthewmanela.com/2010/06/01/snippet-designer-1-3-released/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 04:59:09 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Snippet Designer]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio Gallery]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/06/01/snippet-designer-1-3-released.aspx</guid>
		<description><![CDATA[I just released Snippet Designer 1.3.  CodePlex Page: http://snippetdesigner.codeplex.com/   Visual Studio Gallery Page: http://visualstudiogallery.msdn.microsoft.com/en-us/B08B0375-139E-41D7-AF9B-FAEE50F68392  The key features of this release are supp...]]></description>
			<content:encoded><![CDATA[<h4>I just released Snippet Designer 1.3.</h4>  <br /><strong>CodePlex Page</strong>: <a href="http://snippetdesigner.codeplex.com/">http://snippetdesigner.codeplex.com/</a>   <p><strong>Visual Studio Gallery Page:</strong> <a href="http://visualstudiogallery.msdn.microsoft.com/en-us/B08B0375-139E-41D7-AF9B-FAEE50F68392">http://visualstudiogallery.msdn.microsoft.com/en-us/B08B0375-139E-41D7-AF9B-FAEE50F68392</a></p>  <p>The key features of this release are support for HTML/ASP.NET, JavaScript and SQL snippets and a much improved snippet searching experience.</p>  <p>If you already have it installed for Visual Studio 2010 you will get an update in your extension manager for the new version.</p>  <h4>Change log</h4>  <p><strong>Changes for Visual Studio 2010</strong></p> <strong></strong>  <ul>   <li>Fixed bug where &quot;Export as Snippet&quot; was failing in a website project </li>    <li>Changed Snippet Explorer search to use a relevance based algorithm which yields much better results </li>    <li>Added support for JavaScript snippets </li>    <li>Added support for SQL snippets </li>    <li>Added support for HTML/ASP.Net snippets </li>    <li>Added support for &lt;AlternativeShortcuts&gt; tag </li>    <li>Made the color of the snippet replacement highlighting configurable </li> </ul>  <p>   <br /><strong>Changes for Visual Studio 2008</strong></p> <strong></strong>  <ul>   <li>Fixed bug where &quot;Export as Snippet&quot; was failing in a website project </li>    <li>Changed Snippet Explorer search to use a relevance based algorithm which yields much better results </li> </ul><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10018660" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/06/01/snippet-designer-1-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiffPlex 1.1 Released</title>
		<link>http://matthewmanela.com/2010/04/21/diffplex-1-1-released-3/</link>
		<comments>http://matthewmanela.com/2010/04/21/diffplex-1-1-released-3/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:41:18 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/04/21/diffplex-1-1-released.aspx</guid>
		<description><![CDATA[I released a small update to DiffPlex that helps improve performance for both the release and debug builds.&#160; I now also package the release build in the download zip file instead of the debug.&#160; The release build shows a significant performanc...]]></description>
			<content:encoded><![CDATA[<p>I released a small update to <a href="http://diffplex.codeplex.com/" >DiffPlex</a> that helps improve performance for both the release and debug builds.&#160; I now also package the release build in the download zip file instead of the debug.&#160; The release build shows a significant performance improvement over the debug dll’s.&#160; </p>  <p>&#160;</p>  <p>You can download the new version at the <a href="http://diffplex.codeplex.com/" >DiffPlex</a> home page.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9999999" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/04/21/diffplex-1-1-released-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiffPlex 1.1 Released</title>
		<link>http://matthewmanela.com/2010/04/21/diffplex-1-1-released-2/</link>
		<comments>http://matthewmanela.com/2010/04/21/diffplex-1-1-released-2/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:41:18 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/04/21/diffplex-1-1-released.aspx</guid>
		<description><![CDATA[I released a small update to DiffPlex that helps improve performance for both the release and debug builds.&#160; I now also package the release build in the download zip file instead of the debug.&#160; The release build shows a significant performanc...]]></description>
			<content:encoded><![CDATA[<p>I released a small update to <a href="http://diffplex.codeplex.com/" >DiffPlex</a> that helps improve performance for both the release and debug builds.&#160; I now also package the release build in the download zip file instead of the debug.&#160; The release build shows a significant performance improvement over the debug dll’s.&#160; </p>  <p>&#160;</p>  <p>You can download the new version at the <a href="http://diffplex.codeplex.com/" >DiffPlex</a> home page.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9999999" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/04/21/diffplex-1-1-released-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiffPlex 1.1 Released</title>
		<link>http://matthewmanela.com/2010/04/21/diffplex-1-1-released/</link>
		<comments>http://matthewmanela.com/2010/04/21/diffplex-1-1-released/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:41:18 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.msdn.com/matt/archive/2010/04/21/diffplex-1-1-released.aspx</guid>
		<description><![CDATA[I released a small update to DiffPlex that helps improve performance for both the release and debug builds.&#160; I now also package the release build in the download zip file instead of the debug.&#160; The release build shows a significant performanc...]]></description>
			<content:encoded><![CDATA[<p>I released a small update to <a href="http://diffplex.codeplex.com/" >DiffPlex</a> that helps improve performance for both the release and debug builds.&#160; I now also package the release build in the download zip file instead of the debug.&#160; The release build shows a significant performance improvement over the debug dll’s.&#160; </p>  <p>&#160;</p>  <p>You can download the new version at the <a href="http://diffplex.codeplex.com/" >DiffPlex</a> home page.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9999999" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/04/21/diffplex-1-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Mercurial PowerShell Prompt</title>
		<link>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt-2/</link>
		<comments>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt-2/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 04:36:50 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Powershell]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/04/01/a-mercurial-powershell-prompt.aspx</guid>
		<description><![CDATA[Since switching to Mercurial I often use the “hg summary” command.     hg summary [--remote]     aliases: sum     summarize working directory state     &#160;&#160;&#160; This generates a brief summary of the working directory state, including     ...]]></description>
			<content:encoded><![CDATA[<p>Since switching to Mercurial I often use the “hg summary” command.</p>  <blockquote>   <p><font size="1">hg summary [--remote] </font></p>    <p><font size="1">aliases: sum </font></p>    <p><font size="1">summarize working directory state </font></p>    <p><font size="1">&#160;&#160;&#160; This generates a brief summary of the working directory state, including        <br />&#160;&#160;&#160; parents, branch, commit status, and available updates. </font></p>    <p><font size="1">&#160;&#160;&#160; With the --remote option, this will check the default paths for incoming        <br />&#160;&#160;&#160; and outgoing changes. This can be time-consuming.</font></p> </blockquote>  <blockquote>   <p>&#160;</p> </blockquote>  <p>When you execute this command in a directory that is under source control you will see something like this:</p>  <blockquote>   <p><font size="1">parent: 35:008279cba4b4 tip        <br />This is the commit message of the last checkin         <br />branch: default         <br />commit: 1 modified, 1 unknown         <br />update: (current)</font></p> </blockquote>  <p>&#160;</p>  <p>I am usually most interested in which branch I am currently working in and what is the current status of my working directory.&#160; Since I use PowerShell as my command line I decided to overwrite the default PowerShell prompt (PS &gt;) with some of the data from the “hg summary” command.</p>  <p>To do this I added the following code to my PowerShell profile:</p>  <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">   <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">     <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">if</span> (test-path <span style="color: #0000ff">function</span>:\prompt)       { </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $oldPrompt = ls <span style="color: #0000ff">function</span>: | ? {$_.Name -eq <span style="color: #006080">&quot;prompt&quot;</span>}</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  remove-item -force <span style="color: #0000ff">function</span>:\prompt </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  } </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">function</span> prompt() {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $host.ui.rawui.WindowTitle = (get-location).Path</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $summary = hg summary 2&gt;&amp;1</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">if</span>($summary.Exception -eq $<span style="color: #0000ff">null</span>) {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $regex = <span style="color: #006080">&quot;(?si)(parent:(?&lt;parent&gt;.*?)(\n|\r)+.*?)(branch:(?&lt;branch&gt;.*)\s)(commit:(?&lt;commit&gt;.*)\s)(update:(?&lt;update&gt;.*))&quot;</span>;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $summary = [System.String]::Join([System.Environment]::NewLine,$summary)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $res = $summary -match $regex</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $format = <span style="color: #006080">&quot;hg b:{0} c:{1}&quot;</span> -f $matches[<span style="color: #006080">&quot;branch&quot;</span>].Trim(), $matches[<span style="color: #006080">&quot;commit&quot;</span>].Trim()</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    write-host ($format) -NoNewLine </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    write-host (<span style="color: #006080">&quot;&gt;&quot;</span>) -NoNewLine </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">else</span> {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    &amp; $oldPrompt</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">return</span> <span style="color: #006080">&quot; &quot;</span></pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
<!--CRLF--></div>
</div>

<p>With this in place when you are in a directory that is not controlled by Mercurial you will see the normal prompt.&#160; But once you enter a source controlled directory the prompt will look like:</p>

<blockquote>
  <p><a href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_thumb.png" width="425" height="39" /></a> </p>
</blockquote>

<p>This quickly shows me that I am in the default branch and I have 1 file modified and 1 unknown file in my directory.</p>

<p>After committing it will show:</p>

<p><a href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_thumb_1.png" width="248" height="39" /></a> </p>

<p>Which shows that the current working directory is in a clean state.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9989334" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Mercurial PowerShell Prompt</title>
		<link>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt-3/</link>
		<comments>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt-3/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 04:36:50 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Powershell]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/04/01/a-mercurial-powershell-prompt.aspx</guid>
		<description><![CDATA[Since switching to Mercurial I often use the “hg summary” command.     hg summary [--remote]     aliases: sum     summarize working directory state     &#160;&#160;&#160; This generates a brief summary of the working directory state, including     ...]]></description>
			<content:encoded><![CDATA[<p>Since switching to Mercurial I often use the “hg summary” command.</p>  <blockquote>   <p><font size="1">hg summary [--remote] </font></p>    <p><font size="1">aliases: sum </font></p>    <p><font size="1">summarize working directory state </font></p>    <p><font size="1">&#160;&#160;&#160; This generates a brief summary of the working directory state, including        <br />&#160;&#160;&#160; parents, branch, commit status, and available updates. </font></p>    <p><font size="1">&#160;&#160;&#160; With the --remote option, this will check the default paths for incoming        <br />&#160;&#160;&#160; and outgoing changes. This can be time-consuming.</font></p> </blockquote>  <blockquote>   <p>&#160;</p> </blockquote>  <p>When you execute this command in a directory that is under source control you will see something like this:</p>  <blockquote>   <p><font size="1">parent: 35:008279cba4b4 tip        <br />This is the commit message of the last checkin         <br />branch: default         <br />commit: 1 modified, 1 unknown         <br />update: (current)</font></p> </blockquote>  <p>&#160;</p>  <p>I am usually most interested in which branch I am currently working in and what is the current status of my working directory.&#160; Since I use PowerShell as my command line I decided to overwrite the default PowerShell prompt (PS &gt;) with some of the data from the “hg summary” command.</p>  <p>To do this I added the following code to my PowerShell profile:</p>  <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">   <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">     <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">if</span> (test-path <span style="color: #0000ff">function</span>:\prompt)       { </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $oldPrompt = ls <span style="color: #0000ff">function</span>: | ? {$_.Name -eq <span style="color: #006080">&quot;prompt&quot;</span>}</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  remove-item -force <span style="color: #0000ff">function</span>:\prompt </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  } </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">function</span> prompt() {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $host.ui.rawui.WindowTitle = (get-location).Path</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $summary = hg summary 2&gt;&amp;1</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">if</span>($summary.Exception -eq $<span style="color: #0000ff">null</span>) {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $regex = <span style="color: #006080">&quot;(?si)(parent:(?&lt;parent&gt;.*?)(\n|\r)+.*?)(branch:(?&lt;branch&gt;.*)\s)(commit:(?&lt;commit&gt;.*)\s)(update:(?&lt;update&gt;.*))&quot;</span>;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $summary = [System.String]::Join([System.Environment]::NewLine,$summary)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $res = $summary -match $regex</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $format = <span style="color: #006080">&quot;hg b:{0} c:{1}&quot;</span> -f $matches[<span style="color: #006080">&quot;branch&quot;</span>].Trim(), $matches[<span style="color: #006080">&quot;commit&quot;</span>].Trim()</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    write-host ($format) -NoNewLine </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    write-host (<span style="color: #006080">&quot;&gt;&quot;</span>) -NoNewLine </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">else</span> {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    &amp; $oldPrompt</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">return</span> <span style="color: #006080">&quot; &quot;</span></pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
<!--CRLF--></div>
</div>

<p>With this in place when you are in a directory that is not controlled by Mercurial you will see the normal prompt.&#160; But once you enter a source controlled directory the prompt will look like:</p>

<blockquote>
  <p><a href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_thumb.png" width="425" height="39" /></a> </p>
</blockquote>

<p>This quickly shows me that I am in the default branch and I have 1 file modified and 1 unknown file in my directory.</p>

<p>After committing it will show:</p>

<p><a href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_thumb_1.png" width="248" height="39" /></a> </p>

<p>Which shows that the current working directory is in a clean state.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9989334" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Mercurial PowerShell Prompt</title>
		<link>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt/</link>
		<comments>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 04:36:50 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Powershell]]></category>

		<guid isPermaLink="false">http://blogs.msdn.com/matt/archive/2010/04/01/a-mercurial-powershell-prompt.aspx</guid>
		<description><![CDATA[Since switching to Mercurial I often use the “hg summary” command.     hg summary [--remote]     aliases: sum     summarize working directory state     &#160;&#160;&#160; This generates a brief summary of the working directory state, including     ...]]></description>
			<content:encoded><![CDATA[<p>Since switching to Mercurial I often use the “hg summary” command.</p>  <blockquote>   <p><font size="1">hg summary [--remote] </font></p>    <p><font size="1">aliases: sum </font></p>    <p><font size="1">summarize working directory state </font></p>    <p><font size="1">&#160;&#160;&#160; This generates a brief summary of the working directory state, including        <br />&#160;&#160;&#160; parents, branch, commit status, and available updates. </font></p>    <p><font size="1">&#160;&#160;&#160; With the --remote option, this will check the default paths for incoming        <br />&#160;&#160;&#160; and outgoing changes. This can be time-consuming.</font></p> </blockquote>  <blockquote>   <p>&#160;</p> </blockquote>  <p>When you execute this command in a directory that is under source control you will see something like this:</p>  <blockquote>   <p><font size="1">parent: 35:008279cba4b4 tip        <br />This is the commit message of the last checkin         <br />branch: default         <br />commit: 1 modified, 1 unknown         <br />update: (current)</font></p> </blockquote>  <p>&#160;</p>  <p>I am usually most interested in which branch I am currently working in and what is the current status of my working directory.&#160; Since I use PowerShell as my command line I decided to overwrite the default PowerShell prompt (PS &gt;) with some of the data from the “hg summary” command.</p>  <p>To do this I added the following code to my PowerShell profile:</p>  <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">   <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">     <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">if</span> (test-path <span style="color: #0000ff">function</span>:\prompt)       { </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $oldPrompt = ls <span style="color: #0000ff">function</span>: | ? {$_.Name -eq <span style="color: #006080">&quot;prompt&quot;</span>}</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  remove-item -force <span style="color: #0000ff">function</span>:\prompt </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  } </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">function</span> prompt() {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $host.ui.rawui.WindowTitle = (get-location).Path</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  $summary = hg summary 2&gt;&amp;1</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">if</span>($summary.Exception -eq $<span style="color: #0000ff">null</span>) {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $regex = <span style="color: #006080">&quot;(?si)(parent:(?&lt;parent&gt;.*?)(\n|\r)+.*?)(branch:(?&lt;branch&gt;.*)\s)(commit:(?&lt;commit&gt;.*)\s)(update:(?&lt;update&gt;.*))&quot;</span>;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $summary = [System.String]::Join([System.Environment]::NewLine,$summary)</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $res = $summary -match $regex</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    $format = <span style="color: #006080">&quot;hg b:{0} c:{1}&quot;</span> -f $matches[<span style="color: #006080">&quot;branch&quot;</span>].Trim(), $matches[<span style="color: #006080">&quot;commit&quot;</span>].Trim()</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    write-host ($format) -NoNewLine </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    write-host (<span style="color: #006080">&quot;&gt;&quot;</span>) -NoNewLine </pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">else</span> {</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    &amp; $oldPrompt</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  }</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">  <span style="color: #0000ff">return</span> <span style="color: #006080">&quot; &quot;</span></pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&#160;</pre>
<!--CRLF-->

    <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
<!--CRLF--></div>
</div>

<p>With this in place when you are in a directory that is not controlled by Mercurial you will see the normal prompt.&#160; But once you enter a source controlled directory the prompt will look like:</p>

<blockquote>
  <p><a href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_thumb.png" width="425" height="39" /></a> </p>
</blockquote>

<p>This quickly shows me that I am in the default branch and I have 1 file modified and 1 unknown file in my directory.</p>

<p>After committing it will show:</p>

<p><a href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/AMercurialPowershellPrompt_E54A/image_thumb_1.png" width="248" height="39" /></a> </p>

<p>Which shows that the current working directory is in a clean state.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9989334" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/04/01/a-mercurial-powershell-prompt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiffPlex 1.0 Released!!</title>
		<link>http://matthewmanela.com/2010/02/27/diffplex-1-0-released-2/</link>
		<comments>http://matthewmanela.com/2010/02/27/diffplex-1-0-released-2/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 02:10:00 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Codeplex]]></category>
		<category><![CDATA[DiffPlex]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/02/27/diffplex-1-0-released.aspx</guid>
		<description><![CDATA[The DiffPlex (http://diffplex.codeplex.com) project is now available on Codeplex!
The DiffPlex project is a combination of a .NET Diffing Library with a Silverlight and HTML diff viewer. It is released open source under the MS-PL license. 

The library...]]></description>
			<content:encoded><![CDATA[<P style="FONT-SIZE: 18px">The <A href="http://diffplex.codeplex.com/"  mce_href="http://diffplex.codeplex.com/">DiffPlex</A> (<A href="http://diffplex.codeplex.com/" mce_href="http://diffplex.codeplex.com">http://diffplex.codeplex.com</A>) project is now available on <A href="http://codeplex.com/"  mce_href="http://codeplex.com">Codeplex</A>!</P>
<P>The DiffPlex project is a combination of a .NET Diffing Library with a Silverlight and HTML diff viewer. It is released open source under the MS-PL license. </P>
<UL>
<LI>The library allows developers to embed diffing functionality inside their applications or websites. (<A href="http://diffplex.codeplex.com/wikipage?title=library&amp;referringTitle=Home"  mce_href="http://diffplex.codeplex.com/wikipage?title=library&amp;referringTitle=Home">Click here to learn how to use the api</A>) </LI></UL>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=code border=0 alt=code src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_thumb.png" width=654 height=236 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_thumb.png"></A> </P>
<UL>
<LI>The Silverlight viewer allows real-time diffing of documents. (<A href="http://diffplex.codeplex.com/wikipage?title=silverlight&amp;referringTitle=Home"  mce_href="http://diffplex.codeplex.com/wikipage?title=silverlight&amp;referringTitle=Home">Click here to try it out</A>) </LI></UL>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=silverlight border=0 alt=silverlight src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_thumb.png" width=654 height=288 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_thumb.png"></A> </P>
<UL>
<LI>The website viewer shows how to embed diffing functionality inside of a website. (<A href="http://diffplex.codeplex.com/wikipage?title=website&amp;referringTitle=Home"  mce_href="http://diffplex.codeplex.com/wikipage?title=website&amp;referringTitle=Home">Click here to learn more</A>) </LI></UL>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=websiteInput border=0 alt=websiteInput src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_thumb.png" width=654 height=229 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_thumb.png"></A> </P>
<P mce_keep="true">&nbsp;</P>
<P mce_keep="true">&nbsp;</P>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=websiteOutput border=0 alt=websiteOutput src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_thumb.png" width=654 height=248 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_thumb.png"></A></P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9970421" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/02/27/diffplex-1-0-released-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiffPlex 1.0 Released!!</title>
		<link>http://matthewmanela.com/2010/02/27/diffplex-1-0-released-3/</link>
		<comments>http://matthewmanela.com/2010/02/27/diffplex-1-0-released-3/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 02:10:00 +0000</pubDate>
		<dc:creator>MattManela</dc:creator>
				<category><![CDATA[Codeplex]]></category>
		<category><![CDATA[DiffPlex]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">/b/matt/archive/2010/02/27/diffplex-1-0-released.aspx</guid>
		<description><![CDATA[The DiffPlex (http://diffplex.codeplex.com) project is now available on Codeplex!
The DiffPlex project is a combination of a .NET Diffing Library with a Silverlight and HTML diff viewer. It is released open source under the MS-PL license. 

The library...]]></description>
			<content:encoded><![CDATA[<P style="FONT-SIZE: 18px">The <A href="http://diffplex.codeplex.com/"  mce_href="http://diffplex.codeplex.com/">DiffPlex</A> (<A href="http://diffplex.codeplex.com/" mce_href="http://diffplex.codeplex.com">http://diffplex.codeplex.com</A>) project is now available on <A href="http://codeplex.com/"  mce_href="http://codeplex.com">Codeplex</A>!</P>
<P>The DiffPlex project is a combination of a .NET Diffing Library with a Silverlight and HTML diff viewer. It is released open source under the MS-PL license. </P>
<UL>
<LI>The library allows developers to embed diffing functionality inside their applications or websites. (<A href="http://diffplex.codeplex.com/wikipage?title=library&amp;referringTitle=Home"  mce_href="http://diffplex.codeplex.com/wikipage?title=library&amp;referringTitle=Home">Click here to learn how to use the api</A>) </LI></UL>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=code border=0 alt=code src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_thumb.png" width=654 height=236 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/code_thumb.png"></A> </P>
<UL>
<LI>The Silverlight viewer allows real-time diffing of documents. (<A href="http://diffplex.codeplex.com/wikipage?title=silverlight&amp;referringTitle=Home"  mce_href="http://diffplex.codeplex.com/wikipage?title=silverlight&amp;referringTitle=Home">Click here to try it out</A>) </LI></UL>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=silverlight border=0 alt=silverlight src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_thumb.png" width=654 height=288 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/silverlight_thumb.png"></A> </P>
<UL>
<LI>The website viewer shows how to embed diffing functionality inside of a website. (<A href="http://diffplex.codeplex.com/wikipage?title=website&amp;referringTitle=Home"  mce_href="http://diffplex.codeplex.com/wikipage?title=website&amp;referringTitle=Home">Click here to learn more</A>) </LI></UL>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=websiteInput border=0 alt=websiteInput src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_thumb.png" width=654 height=229 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteInput_thumb.png"></A> </P>
<P mce_keep="true">&nbsp;</P>
<P mce_keep="true">&nbsp;</P>
<P><A href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_2.png" mce_href="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_2.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=websiteOutput border=0 alt=websiteOutput src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_thumb.png" width=654 height=248 mce_src="http://blogs.msdn.com/blogfiles/matt/WindowsLiveWriter/DiffPlex1.0Released_FE1E/websiteOutput_thumb.png"></A></P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9970421" width="1" height="1">]]></content:encoded>
			<wfw:commentRss>http://matthewmanela.com/2010/02/27/diffplex-1-0-released-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
