newline: newline specifications as values
Defines a Newline data type, which is essentially a non-empty string, but with the intention of encoding a family of algorithms for the detection and manipulation of lines of text. In addition, a number of pattern synonyms are also provided, which offer a more self-documenting interface for specifying newlines.
Algorithms to split and merge text by line are also provided. These are generalizations of Prelude's line/unline functions. They are provided with Newline values to specify their exact behavior.
At the moment, little effort has been made to optimize the general line splitting algorithm, and many convenience functions are missing. This is because such improvements are premature for my personal case, but feel free to submit a PR for either. I'll want to make this package a central location for these tasks.
This package also contains algorithms to map lines into byte ranges for a file.
There is also an associated file format to serialize this data.
See the Text.Newline.LineMap
module for this feature.
[Skip to Readme]
Downloads
- newline-0.0.2.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.0.1.0, 0.0.2.0, 0.0.2.1 |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.11.1 && <4.17), bytestring (>=0.11 && <0.12), text (>=2.0 && <2.1) [details] |
License | BSD-3-Clause |
Copyright | 2023 Marseille Bouchard |
Author | Marseille Bouchard |
Maintainer | zankoku.okuno@gmail.com |
Category | Text |
Home page | https://github.com/edemko/hs-newline |
Bug tracker | https://github.com/edemko/hs-newline/issues |
Source repo | head: git clone https://github.com/edemko/hs-newline |
Uploaded | by edemko at 2023-03-05T22:38:23Z |
Distributions | |
Downloads | 150 total (11 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |