anchor.diff:                                            .Trim('\r', '\n') |> ensureLineBreak
           let afterCommandIndex = additionalText.IndexOf("# [after-command]")
           let afterOptionsIndex = additionalText.IndexOf("# [after-options]")
  -        
  +
           if afterCommandIndex = -1 then "", additionalText |> cleanUp
           else if afterOptionsIndex = -1 then additionalText |> cleanUp, ""
           else (additionalText.Substring(0, afterCommandIndex) |> cleanUp, additionalText.Substring(afterOptionsIndex) |> cleanUp)
  
positive.code:             | CreateNewBindingFiles -> "Creates binding redirect files if needed."
              | Clean_Redirects -> "Removes all binding redirects that are not specified by Paket."
              | No_Install -> "Skips paket install process (patching of csproj, fsproj, ... files) after the generation of paket.lock file."
              | Keep_Major -> "Allows only updates that are not changing the major version of the NuGet packages."
              | Keep_Minor -> "Allows only updates that are not changing the minor version of the NuGet packages."
              | Keep_Patch -> "Allows only updates that are not changing the patch version of the NuGet packages."
              | Touch_Affected_Refs -> "Touches project files referencing packages which are affected, to help incremental build tools detecting the change."
  
  type ConfigArgs =
      | [<CustomCommandLine("add-credentials")>] AddCredentials of string
  
negative.code:     interface IArgParserTemplate with
          member this.Usage =
              match this with
              | Add _ -> "add a new dependency"
              | ClearCache _ -> "clear the NuGet and git cache directories"
              | Config _ -> "store global configuration values like NuGet credentials"
              | ConvertFromNuget _ -> "convert projects from NuGet to Paket"
              | FindRefs _ -> "find all project files that have a dependency installed"
              | Init _ -> "create an empty paket.dependencies file in the current working directory"
              | AutoRestore _ -> "manage automatic package restore during the build process inside Visual Studio"
              | Install _ -> "download dependencies and update projects"
              | Outdated _ -> "find dependencies that have newer versions available"
              | Remove _ -> "remove a dependency"
              | Restore _ -> "download the computed dependency graph"
              | Simplify _ -> "simplify declared dependencies by removing transitive dependencies"
              | Update _ -> "update dependencies to their latest version"
              | FindPackages _ -> "search for dependencies"
              | FindPackageVersions _ -> "search for dependency versions"
              | FixNuspec _ -> "obsolete, see fix-nuspecs"
              | FixNuspecs _ -> "patch a list of .nuspec files to correct transitive dependencies"
              | GenerateNuspec _ -> "generate a default nuspec for a project including its direct dependencies"
              | ShowInstalledPackages _ -> "show installed top-level packages"
              | ShowGroups _ -> "show groups"
              | Pack _ -> "create NuGet packages from paket.template files"
              | Push _ -> "push a NuGet package"
              | GenerateIncludeScripts _ -> "obsolete, see generate-load-scripts"
              | GenerateLoadScripts _ -> "generate C# and F# include scripts that reference installed packages in a interactive environment like F# Interactive or ScriptCS"
              | Why _ -> "determine why a dependency is required"
              | Log_File _ -> "print output to a file"
              | Silent -> "suppress console output"
              | Verbose -> "print detailed information to the console"
              | Version -> "show Paket version"
              | From_Bootstrapper -> "call coming from the '--run' feature of the bootstrapper"
  
  let commandParser = ArgumentParser.Create<Command>(programName = "paket", errorHandler = new ProcessExiter())
  
  