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) withnothrowcallbacks.- 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.