References
All functions return nil
on error;
functions that don't have an obvious return value return true
on success.
linenoise( prompt )
or line( prompt )
Prompts for a line of input, using prompt as the prompt string.
Returns nil
if no more input is available.
lines( prompt )
Iterator over line
.
historyadd( line )
or addhistory( line )
Adds line
to the history list.
historysetmaxlen( length )
or sethistorymaxlen( length )
Sets the history list size to length
.
historysave( filename )
or savehistory( filename )
Saves the history list to filename
.
historyload( filename )
or loadhistory( filename )
Loads the history list from filename
.
clearscreen()
Clears the screen.
setcompletion( callback )
Sets the completion callback. This callback
is called with two arguments:
- A completions object. Use
addcompletion
to add a completion to this object. - The current line of input.
addcompletion( completions, string )
Adds string to the list of completions.
Examples
local L = require 'linenoise' local function completion (c, s) if s:sub(1, 1) == 'h' then L.addcompletion(c, 'hello') L.addcompletion(c, 'hello there') end end L.setcompletion(completion) local history = 'history.txt' L.historyload(history) for line in L.lines( 'hello> ') do if line ~= '' then if line:sub(1, 1) == '/' then local len = line:match'/historylen%s+(%d+)' if len then L.historysetmaxlen(len) else print("Unreconized command: " .. line) end else print("echo: '" .. line .. "'") L.historyadd(line) L.historysave(history) end end end
Scripts
The library is used to implement two Lua REPL scripts.
usage: lrepl [options] [script [args]] Available options are: -e stat execute string 'stat' -i enter interactive mode after executing 'script' -l name require library 'name' -v show version information -E ignore environment variables -- stop handling options - stop handling options and execute stdin
usage: ljrepl [options]... [script [args]...]. Available options are: -e chunk Execute string 'chunk'. -l name Require library 'name'. -b ... Save or list bytecode. -j cmd Perform LuaJIT control command. -O[opt] Control LuaJIT optimizations. -i Enter interactive mode after executing 'script'. -v Show version information. -E Ignore environment variables. -- Stop handling options. - Execute stdin and stop handling options.