anchor.diff:  
     /// Parse 'errors' command
     let errors = string "errors" |> Parser.map (fun _ -> GetErrors)
  +
  +  /// Parse 'outputmode' command
  +  let outputmode = parser {
  +    let! _ = string "outputmode "
  +    let! mode = (parser { let! _ = string "json"
  +                          return Json }) <|>
  +                (parser { let! _ = string "text"
  +                          return Text })
  +    return OutputMode mode }
   
     /// Parse 'project' command
     let project = parser {
  
positive.code:       if not ok then Console.WriteLine("ERROR: Position is out of range\n<<EOF>>")
        ok
  
      Debug.print "main state is:\nproject: %b\nfiles: %A"
                  (Option.isSome state.Project)
                  (Map.fold (fun ks k _ -> k::ks) [] state.Files)
      match parseCommand(Console.ReadLine()) with
      | GetErrors ->
          let errs = agent.GetErrors()
  
negative.code:        followed by some lines of free text, terminated by the special
         string <<EOF>>"
  
    // The types of commands that need position information
    type PosCommand =
      | Completion
      | ToolTip
  