diff options
Diffstat (limited to 'includes/pear/Text/Diff/Renderer/context.php')
| -rw-r--r-- | includes/pear/Text/Diff/Renderer/context.php | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/includes/pear/Text/Diff/Renderer/context.php b/includes/pear/Text/Diff/Renderer/context.php new file mode 100644 index 0000000..af53801 --- /dev/null +++ b/includes/pear/Text/Diff/Renderer/context.php @@ -0,0 +1,77 @@ +<?php +/** + * "Context" diff renderer. + * + * This class renders the diff in classic "context diff" format. + * + * $Horde: framework/Text_Diff/Diff/Renderer/context.php,v 1.3.2.4 2009/01/06 15:23:42 jan Exp $ + * + * Copyright 2004-2009 The Horde Project (http://www.horde.org/) + * + * See the enclosed file COPYING for license information (LGPL). If you did + * not receive this file, see http://opensource.org/licenses/lgpl-license.php. + * + * @package Text_Diff + */ + +/** Text_Diff_Renderer */ +require_once 'Text/Diff/Renderer.php'; + +/** + * @package Text_Diff + */ +class Text_Diff_Renderer_context extends Text_Diff_Renderer { + + /** + * Number of leading context "lines" to preserve. + */ + var $_leading_context_lines = 4; + + /** + * Number of trailing context "lines" to preserve. + */ + var $_trailing_context_lines = 4; + + var $_second_block = ''; + + function _blockHeader($xbeg, $xlen, $ybeg, $ylen) + { + if ($xlen != 1) { + $xbeg .= ',' . $xlen; + } + if ($ylen != 1) { + $ybeg .= ',' . $ylen; + } + $this->_second_block = "--- $ybeg ----\n"; + return "***************\n*** $xbeg ****"; + } + + function _endBlock() + { + return $this->_second_block; + } + + function _context($lines) + { + $this->_second_block .= $this->_lines($lines, ' '); + return $this->_lines($lines, ' '); + } + + function _added($lines) + { + $this->_second_block .= $this->_lines($lines, '+ '); + return ''; + } + + function _deleted($lines) + { + return $this->_lines($lines, '- '); + } + + function _changed($orig, $final) + { + $this->_second_block .= $this->_lines($final, '! '); + return $this->_lines($orig, '! '); + } + +} |
