diffling
Version:
A versatile diff computation package, supporting various diff methods and line-by-line comparisons.
69 lines (43 loc) • 1.73 kB
Markdown
# Diffling
Diffling is a utility for comparing and displaying differences between text or code snippets. It provides functionality to generate line-by-line comparisons and highlight changes between original and modified versions of text.
## Features
- Line-by-line comparison of text or code
- Highlighting of added, removed, and unchanged lines
- Support for both string and JSON comparisons
- Customizable offset for line numbering
## Installation
```bash
npm install diffling
```
or
```bash
yarn add diffling
```
## Usage
Here's a basic example of how to use Diffling:
```typescript
import { diffling } from 'diffling';
const original = `line1
line2
line3`;
const modified = `line1
line2 modified
line4`;
const diff = diffling(original, modified);
console.log(diff);
```
## API
### `getLineDiffInformation(original: string, modified: string): Lines`
Generates a detailed diff between two pieces of text or JSON objects.
- `original`: The original text or JSON object
- `modified`: The modified text or JSON object
- `offset`: (Optional) Starting line number for the diff (default: 0)
Returns an object containing the line-by-line diff information and the indices of changed lines.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
This project is heavily based on [react-diff-viewer-continued](https://github.com/aeolun/react-diff-viewer-continued). We are grateful for their work, which forms the foundation of this repository.
## Disclaimer
This project is not affiliated with or endorsed by the creators of react-diff-viewer-continued.