Bo Yang <struggleyb.nku@xxxxxxxxx> writes: > '--color-words' algorithm can be described as: > > 1. collect a the minus/plus lines of a diff hunk, divided into minus-lines and plus-lines; > 2. break both minus-lines and plus-lines into words and place them into two > mmfile_t with one word for each line; > 3. use xdiff to run diff on the two mmfile_t to get the words level diff; Please wrap lines at reasonable length, and indent bulleted lists like this a bit from the left, with a blank line between each item, like this: |'--color-words' algorithm can be described as: | | 1. collect a the minus/plus lines of a diff hunk, divided into | minus-lines and plus-lines; | | 2. break both minus-lines and plus-lines into words and place them | into two mmfile_t with one word for each line; | | 3. use xdiff to run diff on the two mmfile_t to get the words level | diff; | |And for the common parts of the both file, we output the plus side... | ... |For '--graph' to work with '--color-words', we need to output the |graph prefix on each line of color words output. Generally, there are |two conditions on which we should output the prefix. | | 1. diff_words->last_minus == 0 && | diff_words->current_plus == diff_words->plus.text.ptr | | that is: the plus text must start as a new line, and if there is | no minus word printed, a graph prefix must be printed. | | 2. diff_words->current_plus > diff_words->plus.text.ptr && | *(diff_words->current_plus - 1) == '\n' | | that is: a graph prefix must be printed following a '\n'. Same thing for the in-code comments; it would probably be easier to read if you made a small helper function (that a compiler would inline for you) that decides if you would want to show the line_prefix, and make that big comment a comment to that helper function. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html