title: Is there a way to implement custom language features in C#?
body: <p>I've been puzzling about this for a while and I've looked around a bit, unable to find any discussion about the subject.</p>
  
  <p>Lets assume I wanted to implement a trivial example, like a new looping construct: do..until</p>
  
  <p>Written very similarly to do..while</p>
  
  <pre><code>do {
      //Things happen here
  } until (i == 15)
  </code></pre>
  
  <p>This could be transformed into valid csharp by doing so:</p>
  
  <pre><code>do {
      //Things happen here
  } while (!(i == 15))
  </code></pre>
  
  <p>This is obviously a simple example, but is there any way to add something of this nature?  Ideally as a Visual Studio extension to enable syntax highlighting etc.</p>