MediaWiki  master
DiffFormatter Class Reference

Base class for diff formatters. More...

Inheritance diagram for DiffFormatter:
Collaboration diagram for DiffFormatter:

Public Member Functions

 format ( $diff)
 Format a diff. More...
 

Protected Member Functions

 added ( $lines)
 
 block ( $xbeg, $xlen, $ybeg, $ylen, &$edits)
 
 blockHeader ( $xbeg, $xlen, $ybeg, $ylen)
 
 changed ( $orig, $closing)
 Writes the two sets of lines to the output buffer, separated by "---" and a newline. More...
 
 context ( $lines)
 
 deleted ( $lines)
 
 endBlock ()
 Called at the end of a block of connected edits. More...
 
 endDiff ()
 
 lines ( $lines, $prefix=' ')
 Writes all (optionally prefixed) lines to the output buffer, separated by newlines. More...
 
 startBlock ( $header)
 Called at the start of a block of connected edits. More...
 
 startDiff ()
 
 writeOutput ( $text)
 Writes a string to the output buffer. More...
 

Protected Attributes

int $leadingContextLines = 0
 Number of leading context "lines" to preserve. More...
 
int $trailingContextLines = 0
 Number of trailing context "lines" to preserve. More...
 

Private Attributes

string $result = ''
 The output buffer; holds the output while it is built. More...
 

Detailed Description

Base class for diff formatters.

This class formats the diff in classic diff format. It is intended that this class be customized via inheritance, to obtain fancier outputs.

Todo:
document

Definition at line 36 of file DiffFormatter.php.

Member Function Documentation

◆ added()

DiffFormatter::added (   $lines)
protected
Parameters
string[]$lines

Definition at line 231 of file DiffFormatter.php.

References $lines, and lines().

Referenced by block(), and changed().

◆ block()

DiffFormatter::block (   $xbeg,
  $xlen,
  $ybeg,
  $ylen,
$edits 
)
protected
Parameters
int$xbeg
int$xlen
int$ybeg
int$ylen
array&$edits
Exceptions
MWExceptionIf the edit type is not known.

Definition at line 132 of file DiffFormatter.php.

References added(), as, blockHeader(), changed(), context(), deleted(), endBlock(), and startBlock().

Referenced by format().

◆ blockHeader()

DiffFormatter::blockHeader (   $xbeg,
  $xlen,
  $ybeg,
  $ylen 
)
protected
Parameters
int$xbeg
int$xlen
int$ybeg
int$ylen
Returns
string

Definition at line 181 of file DiffFormatter.php.

Referenced by block().

◆ changed()

DiffFormatter::changed (   $orig,
  $closing 
)
protected

Writes the two sets of lines to the output buffer, separated by "---" and a newline.

Parameters
string[]$orig
string[]$closing

Definition at line 248 of file DiffFormatter.php.

References added(), deleted(), and writeOutput().

Referenced by block().

◆ context()

DiffFormatter::context (   $lines)
protected
Parameters
string[]$lines

Definition at line 224 of file DiffFormatter.php.

References $lines, and lines().

Referenced by block().

◆ deleted()

DiffFormatter::deleted (   $lines)
protected
Parameters
string[]$lines

Definition at line 238 of file DiffFormatter.php.

References $lines, and lines().

Referenced by block(), and changed().

◆ endBlock()

DiffFormatter::endBlock ( )
protected

Called at the end of a block of connected edits.

This default implementation does nothing.

Definition at line 206 of file DiffFormatter.php.

Referenced by block().

◆ endDiff()

DiffFormatter::endDiff ( )
protected
Returns
string

Definition at line 166 of file DiffFormatter.php.

References $result.

Referenced by format().

◆ format()

DiffFormatter::format (   $diff)

Format a diff.

Parameters
Diff$diff
Returns
string The formatted output.

Definition at line 62 of file DiffFormatter.php.

References $context, $leadingContextLines, $trailingContextLines, as, block(), endDiff(), and startDiff().

Referenced by ParserEditTests\unifiedDiff().

◆ lines()

DiffFormatter::lines (   $lines,
  $prefix = ' ' 
)
protected

Writes all (optionally prefixed) lines to the output buffer, separated by newlines.

Parameters
string[]$lines
string$prefix

Definition at line 215 of file DiffFormatter.php.

References $line, $lines, as, and writeOutput().

Referenced by added(), context(), and deleted().

◆ startBlock()

DiffFormatter::startBlock (   $header)
protected

Called at the start of a block of connected edits.

This default implementation writes the header and a newline to the output buffer.

Parameters
string$header

Definition at line 198 of file DiffFormatter.php.

References $header, and writeOutput().

Referenced by block().

◆ startDiff()

DiffFormatter::startDiff ( )
protected

Definition at line 150 of file DiffFormatter.php.

Referenced by format().

◆ writeOutput()

DiffFormatter::writeOutput (   $text)
protected

Member Data Documentation

◆ $leadingContextLines

int DiffFormatter::$leadingContextLines = 0
protected

Number of leading context "lines" to preserve.

This should be left at zero for this class, but subclasses may want to set this to other values.

Definition at line 43 of file DiffFormatter.php.

Referenced by format().

◆ $result

string DiffFormatter::$result = ''
private

The output buffer; holds the output while it is built.

Definition at line 53 of file DiffFormatter.php.

Referenced by endDiff().

◆ $trailingContextLines

int DiffFormatter::$trailingContextLines = 0
protected

Number of trailing context "lines" to preserve.

This should be left at zero for this class, but subclasses may want to set this to other values.

Definition at line 50 of file DiffFormatter.php.

Referenced by format().


The documentation for this class was generated from the following file: