0.0.6 • Published 14 days ago

zxel v0.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
14 days ago

zxel

zxel is an interactive terminal shell for JavaScript runtimes with syntax highlight and zx utilities.

Screenshot

Usage

Prerequisites: Node (version 18 or above)

npx zxel

Alternatively, with Bun.

bunx zxel

Features

  • Read-eval-print-loop of JavaScript expression
  • Syntax highlight using emphasize
  • Keyboard shortcuts similar to readline
  • Top-level await
  • Globals from zx
  • Runs with Bun if installed

Environment

Assign variables on this to make it available for subsequent lines of code.

this.a = 123

Using let or const doesn't work because every line is evaluated in its own function scope.

Global utilities like fs and glob are also defined on this.

Object.keys(this).sort()

Globals

Utilities from zx are defined as global variables.

  • $ - Run shell command with return value
    const text = await $`cat readme.md`
    const files = (await $`ls -1`).split('\n')
  • $see - Run shell command with console output
    await $see`ls -1`
  • cd - Change directory
  • fetch - Fetch
  • fs - File system utilities from fs-extra
  • glob - Pattern match files using globby
    for (const file of await glob('*.txt')) {
      console.log(file)
    }
  • globDir - Pattern match directories
  • os - OS info from os
  • path - Path utilities from path

Also globals from Node, or Bun with Database.

Keyboard shortcuts

ShortcutComment
EnterRun code
EscapeCancel
Forward one character
Ctrl+Forward one word
Backward one character
Ctrl+Backward one word
Home, Ctrl+ABeginning of line
End, Ctrl+EEnd of line
Next line in history
Previous line in history
Ctrl+CExit shell
BackspaceDelete previous character
DeleteDelete next character
Ctrl+LClear screen

TODO

  • Multiline mode

References

0.0.6

14 days ago

0.0.1

15 days ago

0.0.3

15 days ago

0.0.2

15 days ago

0.0.5

15 days ago

2.0.0-mashiro0

2 years ago

1.1.0-mashiro0

2 years ago

1.0.1-mashiro0

2 years ago

1.0.0-mashiro0

2 years ago