Depurador interactivo y REPL para Imba.
npm:
npm i -g imba-shell
hilo:
yarn global add imba-shell
Para comenzar a usar imba-shell
, ejecute el siguiente comando:
imba-shell
Para habilitar TypeScript, puede pasar el indicador --ts
:
imba-shell --ts
Tenga en cuenta que también puede utilizar
imbas
en lugar deimba-shell
.
Para usar el modo multilínea, use el comando .editor:
>>> .editor
Esto abrirá un editor de varias líneas.
Cuando utilice el modo de varias líneas, puede utilizar la combinación de teclas Shift+Tab
para sangrar la línea actual.
Para eliminar una pestaña, use la tecla Backspace
.
Para borrar imba-shell
, use el asistente clear
:
>>> clear !
También puedes usar el comando
.clear
.
Para salir de imba-shell
, utilice el asistente exit
:
>>> exit !
También puede utilizar el comando
.exit
.
Puede utilizar imba-shell
como tiempo de ejecución:
imbar file.imba
Alias
imbar
:imba-r
,imba-runtime
,ir
.
Pasando argumentos a su script:
imbar craftsman.imba mail:send --help
Construir y observar continuamente el proyecto (fines de desarrollo):
imbar --watch server.imba
bandera:
--watch
alias:
-w
Creando un script autoejecutable:
hello
#!/usr/bin/env imbar
const name = process . argv . slice ( 2 )[ 0 ] ?? 'stranger'
console . log "Hello {name}"
Si estás usando Linux
, FreeBSD
o MacOS
, puedes hacer que tu script sea ejecutable:
chmod u+x hello
Nota: al crear un script que no termina en
".imba"
, Imba Runtime clonará su script en un archivo oculto que termine en.imba
y lo ejecutará en lugar del script original. Cuando termine de ejecutarse, el archivo oculto se eliminará.
Ejecutando el script:
./hello Donald # Hello Donald
./hello # Hello stranger
imba-shell
también se puede utilizar como módulo. He aquí un ejemplo:
Imba:
import { ImbaRepl } from 'imba-shell'
# you can also pass "typescript" instead of "imba"
const repl = new ImbaRepl 'imba' , 'imba> '
repl . run !
JavaScript:
const { ImbaRepl } = require ( 'imba-shell' ) ;
/** you can also pass "typescript" instead of "imba" */
const repl = new ImbaRepl ( 'imba' , 'imba> ' ) ;
repl . run ( ) ;
Tenga en cuenta que puede pasar un objeto de las opciones de respuesta de Node.js en la función
run
.
A continuación se muestra un ejemplo de cómo habilitar la función de historial:
Imba:
import { ImbaRepl } from 'imba-shell'
import os from 'os'
import path from 'path'
const repl = new ImbaRepl 'imba' , 'imba> ' , path . join ( os . homedir !, '.my_repl_history' )
repl . run !
JavaScript:
const { ImbaRepl } = require ( 'imba-shell' ) ;
const os = require ( 'os' ) ;
const path = require ( 'path' ) ;
const repl = new ImbaRepl ( 'imba' , 'imba> ' , path . join ( os . homedir ( ) , '.my_repl_history' ) ) ;
repl . run ( ) ;
Puede establecer cualquier ruta válida como su archivo de historial.
Puede registrar comandos con la función registerCommand
:
Imba:
repl . registerCommand 'goodbye' , do
console . log 'Goodbye!'
this . close !
JavaScript:
repl . registerCommand ( 'goodbye' , () = > {
console . log ( 'Goodbye!' );
this . close ();
});
Puede registrar funciones y propiedades para que estén disponibles en REPL utilizando la función registerCallback
:
Imba:
const repl = new ImbaRepl
repl . registerCallback do ( ctx )
ctx . foo = 'bar'
JavaScript:
const repl = new ImbaRepl ( ) ;
repl . registerCallback ( ( ctx ) => {
ctx . foo = 'bar'
} )
Al llamar foo
en REPL, devolverá bar
.
Instalar dependencias:
$ npm i
Construir desde fuente:
$ npm run build
Prueba Imba-Shell
:
$ npm run test
Si descubre algún problema relacionado con la seguridad, envíe un correo electrónico a [email protected] en lugar de utilizar el rastreador de problemas.
La Licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.