From f13f8bd524fb84ad4600692376260326fbf4b592 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 11 Mar 2021 15:02:34 -0500 Subject: [PATCH] Add LineEndings.text() --- src/jes/core/lineendings.d | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/jes/core/lineendings.d b/src/jes/core/lineendings.d index d02938c..17cc4df 100644 --- a/src/jes/core/lineendings.d +++ b/src/jes/core/lineendings.d @@ -16,6 +16,18 @@ struct LineEndings this.type = type; } + @property string text() const + { + if (type == LF) + { + return "\n"; + } + else + { + return "\r\n"; + } + } + static LineEndings detect_line_endings(const ubyte * data, size_t n) { size_t lf_count = 0u; @@ -49,13 +61,16 @@ struct LineEndings dat = cast(const(ubyte)[])std.file.read("test/files/line_endings/crlf_format.txt"); le = LineEndings.detect_line_endings(dat.ptr, dat.length); assert(le == LineEndings.CRLF); + assert(le.text == "\r\n"); dat = cast(const(ubyte)[])std.file.read("test/files/empty.txt"); le = LineEndings.detect_line_endings(dat.ptr, 0u); assert(le == LineEndings.LF); + assert(le.text == "\n"); dat = cast(const(ubyte)[])std.file.read("test/files/line_endings/lf_format.txt"); le = LineEndings.detect_line_endings(dat.ptr, dat.length); assert(le == LineEndings.LF); + assert(le.text == "\n"); } }