aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--vis-lua.c16
2 files changed, 17 insertions, 0 deletions
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);