src/nodejs/jsreadline

  Source   Edit

Warning: You MUST import process before importing this module. Uses stdout by default.

Example:

import src/nodejs/jsreadline
import std/jsffi, nodejs/jsprocess
requireProcess()
requireReadline()
block:
  doAssert clearLine()
  doAssert clearScreenDown()
  doAssert cursorTo(x = 0.cint, y = 0.cint)
  doAssert moveCursor(dx = 0.cint, dy = 0.cint)
block:
  let rl: Readline = newReadline()
  rl.setPrompt(">>>".cstring)
  # doAssert rl.getPrompt() == ">>>".cstring
  doAssert rl.getCursorPos() is JsObject
  rl.pause()
  rl.resume()
  rl.write("data".cstring)
  rl.close()
  # echo rl.line()
  # echo rl.cursor()

Example: cmd: -r:off

import src/nodejs/jsreadline
import nodejs/jsprocess
requireProcess()
requireReadline()
let rl = newReadline()
echo rl.line()

Procs

func cursor(self: Readline): int {.importjs: "(() => { return #.cursor })()",
                                   ...raises: [], tags: [].}
https://nodejs.org/api/readline.html#readline_rl_cursor   Source   Edit
func importReadline() {.importjs: "import * as readline from \'readline\'@",
                        ...raises: [], tags: [].}
Alias for import * as module_name from 'module_name';. Must be called once before using the module   Source   Edit
func line(self: Readline): cstring {.importjs: "(() => { return #.line })()",
                                     ...raises: [], tags: [].}
https://nodejs.org/api/readline.html#readline_rl_line   Source   Edit
func newReadline(): Readline {.importjs: "readline.createInterface({input: process.stdin, output: process.stdout})",
                               ...raises: [], tags: [].}
https://nodejs.org/api/readline.html#readline_readline   Source   Edit
func requireReadline() {.importjs: "const readline = require(\'readline\')@",
                         ...raises: [], tags: [].}
Alias for const module_name = require('module_name');. Must be called once before using the module   Source   Edit
func write(self: Readline; data: cstring; ctrl: bool; meta: bool; shift: bool;
           name: cstring) {.importjs: "#.$1(#, {ctrl: #, meta: #, shift: #, name: #})",
                            ...raises: [], tags: [].}
https://nodejs.org/api/readline.html#readline_rl_write_data_key   Source   Edit