diff options
Diffstat (limited to 'lua/readline.lua')
| -rw-r--r-- | lua/readline.lua | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lua/readline.lua b/lua/readline.lua new file mode 100644 index 0000000..a75f4ff --- /dev/null +++ b/lua/readline.lua @@ -0,0 +1,26 @@ +local LN = require('linenoise') + +local M = {} + +local history_loaded = false +local history_file = os.getenv("HOME") .. "/.mal-history" + +function M.readline(prompt) + if not history_loaded then + history_loaded = true + for line in io.lines(history_file) do + LN.historyadd(line) + end + end + + line = LN.linenoise(prompt) + if line then + LN.historyadd(line) + local f = io.open(history_file, "a") + f:write(line.."\n") + f:close() + end + return line +end + +return M |
