@@ -39,7 +39,7 @@ impl Hunk {
3939 } else if is_ed && ( self . ln1_start == self . ln1_end - 1 ) {
4040 format ! ( "{}" , self . ln1_end)
4141 } else {
42- format ! ( "{},{}" , self . ln1_start, self . ln1_end)
42+ format ! ( "{},{}" , self . ln1_start+ 1 , self . ln1_end)
4343 }
4444 }
4545
@@ -49,7 +49,7 @@ impl Hunk {
4949 } else if is_ed && ( self . ln2_start == self . ln2_end - 1 ) {
5050 format ! ( "{}" , self . ln2_end)
5151 } else {
52- format ! ( "{},{}" , self . ln2_start, self . ln2_end)
52+ format ! ( "{},{}" , self . ln2_start+ 1 , self . ln2_end)
5353 }
5454 }
5555
@@ -74,14 +74,14 @@ impl Hunk {
7474 Change :: None => { }
7575 Change :: Unchanged ( _) => { }
7676 Change :: Insert ( _) => {
77- println ! ( "{}a{}" , self . ln1_start, self . f2_range( false ) ) ;
77+ println ! ( "{}a{}" , self . ln1_start, self . f2_range( true ) ) ;
7878
7979 for i in self . ln2_start ..self . ln2_end {
8080 println ! ( "> {}" , file2. line( i) ) ;
8181 }
8282 }
8383 Change :: Delete ( _) => {
84- println ! ( "{}d{}" , self . f1_range( false ) , self . ln2_end) ;
84+ println ! ( "{}d{}" , self . f1_range( true ) , self . ln2_end) ;
8585
8686 for i in self . ln1_start ..self . ln1_end {
8787 println ! ( "< {}" , file1. line( i) ) ;
@@ -92,7 +92,7 @@ impl Hunk {
9292 }
9393 }
9494 Change :: Substitute ( _) => {
95- println ! ( "{}c{}" , self . f1_range( false ) , self . f2_range( false ) ) ;
95+ println ! ( "{}c{}" , self . f1_range( true ) , self . f2_range( true ) ) ;
9696
9797 for i in self . ln1_start ..self . ln1_end {
9898 println ! ( "< {}" , file1. line( i) ) ;
@@ -204,52 +204,6 @@ impl Hunk {
204204 ) ;
205205 }
206206 }
207-
208- pub fn print_forward_edit_script ( & mut self , file1 : & FileData , file2 : & FileData , is_last : bool ) {
209- match & self . kind {
210- Change :: None => { }
211- Change :: Unchanged ( _) => { }
212- Change :: Insert ( _) => {
213- self . changes . sort_by_key ( |change| change. get_ln2 ( ) ) ;
214-
215- println ! ( "a{}" , self . ln1_end) ;
216- for change in & self . changes {
217- println ! ( "{}" , file2. line( change. get_ln2( ) - 1 ) ) ;
218- }
219-
220- println ! ( "." )
221- }
222- Change :: Delete ( _) => {
223- println ! ( "d{}" , self . f1_range( true ) . replace( "," , " " ) ) ;
224- }
225- Change :: Substitute ( _) => {
226- self . changes . sort_by_key ( |change| change. get_ln2 ( ) ) ;
227- println ! ( "c{}" , self . f1_range( true ) . replace( "," , " " ) ) ;
228-
229- for change in & self . changes {
230- println ! ( "{}" , file2. line( change. get_ln2( ) - 1 ) ) ;
231- }
232-
233- println ! ( "." )
234- }
235- }
236-
237- if is_last && !file1. ends_with_newline ( ) {
238- println ! (
239- "diff: {}:{}\n " ,
240- file1. name( ) ,
241- & NO_NEW_LINE_AT_END_OF_FILE [ 1 ..]
242- ) ;
243- }
244-
245- if is_last && !file2. ends_with_newline ( ) {
246- println ! (
247- "diff: {}:{}\n " ,
248- file2. name( ) ,
249- & NO_NEW_LINE_AT_END_OF_FILE [ 1 ..]
250- ) ;
251- }
252- }
253207}
254208
255209pub struct Hunks {
@@ -275,6 +229,10 @@ impl Hunks {
275229 & mut self . hunks [ index]
276230 }
277231
232+ pub fn hunk_count ( & self ) -> usize {
233+ self . hunks . len ( )
234+ }
235+
278236 pub fn create_hunks_from_lcs (
279237 & mut self ,
280238 lcs_indices : & [ i32 ] ,
0 commit comments