0.0.6 • Published 9 months ago
zxel v0.0.6
zxel
zxel
is an interactive terminal shell for JavaScript runtimes with syntax highlight and zx
utilities.
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 valueconst text = await $`cat readme.md` const files = (await $`ls -1`).split('\n')
$see
- Run shell command with console outputawait $see`ls -1`
cd
- Change directoryfetch
- Fetchfs
- File system utilities fromfs-extra
glob
- Pattern match files usingglobby
for (const file of await glob('*.txt')) { console.log(file) }
globDir
- Pattern match directoriesos
- OS info fromos
path
- Path utilities frompath
Also globals from Node, or Bun with Database
.
Keyboard shortcuts
Shortcut | Comment |
---|---|
Enter | Run code |
Escape | Cancel |
→ | Forward one character |
Ctrl +→ | Forward one word |
← | Backward one character |
Ctrl +← | Backward one word |
Home , Ctrl +A | Beginning of line |
End , Ctrl +E | End of line |
↓ | Next line in history |
↑ | Previous line in history |
Ctrl +C | Exit shell |
Backspace | Delete previous character |
Delete | Delete next character |
Ctrl +L | Clear screen |
TODO
- Multiline mode
References
0.0.6
9 months ago
0.0.1
9 months ago
0.0.3
9 months ago
0.0.2
9 months ago
0.0.5
9 months ago
2.0.0-mashiro0
3 years ago
1.1.0-mashiro0
3 years ago
1.0.1-mashiro0
3 years ago
1.0.0-mashiro0
3 years ago