From d33040e87f89e7e8eb9a7442003bda6429f9c1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Fri, 15 Apr 2016 21:03:06 +0200 Subject: vis-lua: add file.newlines to detect type of new lines --- README.md | 1 + vis-lua.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/README.md b/README.md index 2e6065c..7878c8a 100644 --- a/README.md +++ b/README.md @@ -593,6 +593,7 @@ At this time there exists no API stability guarantees. - `lines_iterator()` - `name` - `lines[0..#lines+1]` array giving read/write access to lines + - `newlines` type of newlines either `"nl"` or `"crnl"` - `window` - `file` - `syntax` lexer name used for syntax highlighting or `nil` diff --git a/vis-lua.c b/vis-lua.c index c25f64d..f3ec125 100644 --- a/vis-lua.c +++ b/vis-lua.c @@ -637,10 +637,26 @@ static int file_index(lua_State *L) { lua_pushstring(L, file->name); return 1; } + if (strcmp(key, "lines") == 0) { obj_ref_new(L, file->text, "vis.file.text"); return 1; } + + if (strcmp(key, "newlines") == 0) { + switch (text_newline_type(file->text)) { + case TEXT_NEWLINE_NL: + lua_pushstring(L, "nl"); + break; + case TEXT_NEWLINE_CRNL: + lua_pushstring(L, "crnl"); + break; + default: + lua_pushnil(L); + break; + } + return 1; + } } return index_common(L); -- cgit v1.2.3