Types
- CompletionCallback = proc (a2: cstring; a3: ptr Completions) {.cdecl.} 
- Source Edit
- Completions = object len*: csize_t cvec*: cstringArray 
- Source Edit
- LinenoiseData = object 
- Source Edit
- ReadLineResult = object line*: string status*: Status 
- Source Edit
Procs
- proc addCompletion(a2: ptr Completions; a3: cstring) {. importc: "linenoiseAddCompletion", ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc clearScreen() {.importc: "linenoiseClearScreen", ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc historyAdd(line: cstring): cint {.importc: "linenoiseHistoryAdd", discardable, ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc historyLoad(filename: cstring): cint {.importc: "linenoiseHistoryLoad", ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc historySave(filename: cstring): cint {.importc: "linenoiseHistorySave", ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc historySetMaxLen(len: cint): cint {.importc: "linenoiseHistorySetMaxLen", ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc printKeyCodes() {.importc: "linenoisePrintKeyCodes", ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc readLineStatus(prompt: string; result: var ReadLineResult) {....raises: [], tags: [], forbids: [].} 
- 
    
    line editing API that allows returning the line entered and an indicator of which control key was entered, allowing user to distinguish between for example ctrl-C vs ctrl-D.
Example: cmd: -r:off var ret: ReadLineResult while true: readLineStatus("name: ", ret) # ctrl-D will exit, ctrl-C will go to next prompt if ret.line.len > 0: echo ret.line if ret.status == lnCtrlD: break echo "exiting" Source Edit
- proc setCompletionCallback(a2: CompletionCallback) {. importc: "linenoiseSetCompletionCallback", ...raises: [], tags: [], forbids: [].} 
- Source Edit
- proc setMultiLine(ml: cint) {.importc: "linenoiseSetMultiLine", ...raises: [], tags: [], forbids: [].} 
- Source Edit