message: Override terminal output truncation with '-o -'
diff: @@ -111,6 +111,10 @@ impl Write for StdoutWriter {
  }
  }
  + let to_write = if let OutputFormat::Binary = self.format {
  + // Only occurs if the user has explicitly forced stdout, so don't truncate.
  + data.len()
  + } else {
  // Drop output if we've truncated already, or need to.
  if self.truncated || self.count == SHORT_OUTPUT_LENGTH {
  if !self.truncated {
  @@ -125,10 +129,15 @@ impl Write for StdoutWriter {
  if to_write > data.len() {
  to_write = data.len();
  }
  + to_write
  + };
  let mut ret = self.inner.write(&data[..to_write])?;
  self.count += to_write;
  + if let OutputFormat::Binary = self.format {
  + // Only occurs if the user has explicitly forced stdout, so don't truncate.
  + } else {
  // If we have reached the output limit with data to spare,
  // truncate and drop the remainder.
  if self.count == SHORT_OUTPUT_LENGTH && data.len() > to_write {
  @@ -138,6 +147,7 @@ impl Write for StdoutWriter {
  }
  ret += io::sink().write(&data[to_write..])?;
  }
  + }
  Ok(ret)
  } else {
  @@ -172,7 +182,7 @@ impl OutputWriter {
  .create_new(true)
  .open(filename)?,
  ));
  - } else if let OutputFormat::Unknown = format {
  + } else {
  // User explicitly requested stdout; force the format to binary so that we
  // don't try to parse it as UTF-8 in StdoutWriter and perhaps reject it.
  format = OutputFormat::Binary;
  