Serenity Operating System
at master 37 lines 810 B view raw
1/* 2 * Copyright (c) 2020, Itamar S. <itamar8910@gmail.com> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/DeprecatedString.h> 10#include <AK/Vector.h> 11 12namespace Diff { 13 14struct HunkLocation { 15 size_t original_start_line { 0 }; 16 size_t original_length { 0 }; 17 size_t target_start_line { 0 }; 18 size_t target_length { 0 }; 19 20 enum class LocationType { 21 Original, 22 Target, 23 Both 24 }; 25 void apply_offset(size_t offset, LocationType); 26}; 27 28struct Hunk { 29 size_t original_start_line { 0 }; 30 size_t target_start_line { 0 }; 31 Vector<DeprecatedString> removed_lines; 32 Vector<DeprecatedString> added_lines; 33}; 34 35Vector<Hunk> parse_hunks(DeprecatedString const& diff); 36HunkLocation parse_hunk_location(DeprecatedString const& location_line); 37};