anchor.diff:  module Paket.HelpTexts
  +
  +open Paket.Commands
  +
  +open Nessos.UnionArgParser
  +
  +let formatSyntax (parser:UnionArgParser<'TArgs>) commandName = 
  +    "$ " + commandName + " " + parser.PrintCommandLineSyntax()
  +
  +let formatUsage (parser:UnionArgParser<'TArgs>)  commandName =
  +    parser.Usage(formatSyntax parser commandName)
  +    
  +let replace (pattern : string) (replacement : string) input = 
  +    System.Text.RegularExpressions.Regex.Replace(input, pattern, replacement)
  +
  +let formatCommandSyntax (parser : UnionArgParser<_>) title = 
  +    let options =
  +        parser.Usage() 
  +        |> replace @"\s\t--help.*" ""
  +        |> replace @"\t([-\w \[\]|\/\?]+):" (System.Environment.NewLine + @"  `$1`:")
  +    sprintf """    [lang=batchfile]
  +    %s
  +
  +Options:
  +%s"""
  +        (formatSyntax parser title)
  +        options
   
   type CommandHelpTopic = 
       { Title : string
  +      Syntax : string -> string
         Text : string }
       member this.ToMarkDown() =
           let text =
               this.Text
  +                .Replace("<<syntax goes here>>", this.Syntax this.Title)
                   .Replace("paket.dependencies file","[`paket.dependencies` file](dependencies-file.html)")
                   .Replace("paket.lock file","[`paket.lock` file](lock-file.html)")
                   .Replace("paket.template files","[`paket.template` files](template-files.html)")
  
positive.code: 
       "add",
          { Title = "paket add"
            Text = """Adds a new package to your paket.dependencies file.
  
      [lang=batchfile]
  
negative.code:   `buildconfig`: Optionally specify build configuration that should be packaged (defaults to Release)."""}
       "push",
          { Title = "paket push"
            Syntax = formatCommandSyntax (UnionArgParser.Create<InstallArgs>())
            Text = """Pushes all `.nupkg` files from the given directory.
  
      [lang=batchfile]
  