D-обёртка над C-библиотекой libxdiff: тонкие биндинги (xdiff.d) + удобный OO-слой (MMFile, MMBlocks) для операций diff/patch/merge с безопасным владением
.vscode | ||
source/libxdiff | ||
.gitignore | ||
dub.json | ||
dub.selections.json | ||
LICENSE | ||
README.md |
libxdiff
A D wrapper around the C libxdiff: thin bindings (xdiff.d) + a small OO layer (MMFile
, MMBlocks
) for diff/patch/merge with clear ownership.
Features
- MMFile — compact in-memory file (single buffer).
- MMBlocks — native libxdiff block chain with compaction.
computePatch
,applyPatch
(returns accepted + rejected parts).merge3Raw
(three-way merge) withnothrow
callbacks.- Deep copies where needed, explicit move of ownership, no double-free traps.
Installation
Add to dub.json
:
{
"dependencies": {
"libxdiff": "~>0.1.0"
}
}
Or to dub.sdl
:
dependency "libxdiff" version="~>0.1.0"
Run dub build
.
Usage
Import the module: import libxdiff;
License
Boost Software License 1.0. See LICENSE.