MCPcopy Create free account
hub / github.com/SpartanJ/eepp / applySubLineDiff

Function applySubLineDiff

src/eepp/ui/tools/uidiffview.cpp:637–661  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

635}
636
637static void applySubLineDiff(
638 std::vector<UIDiffView::DiffLine>& lines,
639 std::function<void( UIDiffView::DiffLine&, UIDiffView::DiffLine& )> computeSubLineDiff ) {
640 size_t i = 0;
641 while ( i < lines.size() ) {
642 if ( lines[i].type == UIDiffView::DiffLineType::Removed ) {
643 size_t j = i;
644 while ( j < lines.size() && lines[j].type == UIDiffView::DiffLineType::Removed )
645 j++;
646 size_t k = j;
647 while ( k < lines.size() && lines[k].type == UIDiffView::DiffLineType::Added )
648 k++;
649
650 size_t numRemoved = j - i;
651 size_t numAdded = k - j;
652 size_t numToCompare = std::min( numRemoved, numAdded );
653 for ( size_t m = 0; m < numToCompare; m++ ) {
654 computeSubLineDiff( lines[i + m], lines[j + m] );
655 }
656 i = k;
657 } else {
658 i++;
659 }
660 }
661}
662
663void UIDiffView::loadFromPatch( const std::string& patchText,
664 const std::string& originalFilePath ) {

Callers 2

loadFromPatchMethod · 0.85
loadFromStringsMethod · 0.85

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected