diff options
-rw-r--r-- | file.lua | 10 | ||||
-rw-r--r-- | text.lua | 14 |
2 files changed, 23 insertions, 1 deletions
diff --git a/file.lua b/file.lua index 94514b2..e95c14d 100644 --- a/file.lua +++ b/file.lua @@ -1,4 +1,14 @@ -- primitives for saving to file and loading from file +function file_exists(filename) + local infile = App.open_for_reading(filename) + if infile then + infile:close() + return true + else + return false + end +end + function load_from_disk(State) local infile = App.open_for_reading(State.filename) State.lines = load_from_file(infile) diff --git a/text.lua b/text.lua index 0e79e8d..48db699 100644 --- a/text.lua +++ b/text.lua @@ -9,7 +9,6 @@ require 'text_tests' -- draw a line starting from startpos to screen at y between State.left and State.right -- return the final y, and position of start of final screen line drawn function Text.draw(State, line_index, y, startpos) - App.color(Text_color) local line = State.lines[line_index] local line_cache = State.line_cache[line_index] line_cache.starty = y @@ -20,6 +19,7 @@ function Text.draw(State, line_index, y, startpos) local screen_line_starting_pos = startpos Text.compute_fragments(State, line_index) for _, f in ipairs(line_cache.fragments) do + App.color(Text_color) local frag, frag_text = f.data, f.text local frag_len = utf8.len(frag) --? print('text.draw:', frag, 'at', line_index,pos, 'after', x,y) @@ -917,3 +917,15 @@ function Text.clear_screen_line_cache(State, line_index) State.line_cache[line_index].fragments = nil State.line_cache[line_index].screen_line_starting_pos = nil end + +function trim(s) + return s:gsub('^%s+', ''):gsub('%s+$', '') +end + +function ltrim(s) + return s:gsub('^%s+', '') +end + +function rtrim(s) + return s:gsub('%s+$', '') +end |