Depurador interativo e REPL para Imba.
npm:
npm i -g imba-shell
fio:
yarn global add imba-shell
Para começar a usar imba-shell
, execute o seguinte comando:
imba-shell
Para habilitar o TypeScript, você pode passar o sinalizador --ts
:
imba-shell --ts
Observe que você também pode usar
imbas
em vez deimba-shell
.
Para usar o modo multilinha, use o comando .editor:
>>> .editor
Isso abrirá um editor multilinha.
Ao usar o modo multilinha, você pode usar a combinação de teclas Shift+Tab
para recuar a linha atual.
Para remover uma guia, use a tecla Backspace
.
Para limpar o imba-shell
, use o auxiliar clear
:
>>> clear !
Você também pode usar o comando
.clear
.
Para sair do imba-shell
, use o auxiliar exit
:
>>> exit !
Você também pode usar o comando
.exit
.
Você pode usar imba-shell
como tempo de execução:
imbar file.imba
Aliases
imbar
:imba-r
,imba-runtime
,ir
.
Passando argumentos para o seu script:
imbar craftsman.imba mail:send --help
Construir e observar continuamente o projeto (fins de desenvolvimento):
imbar --watch server.imba
bandeira:
--watch
apelido:
-w
Criando um script autoexecutável:
hello
#!/usr/bin/env imbar
const name = process . argv . slice ( 2 )[ 0 ] ?? 'stranger'
console . log "Hello {name}"
Se estiver usando Linux
, FreeBSD
ou MacOS
, você pode tornar seu script executável:
chmod u+x hello
Nota: ao criar um script que não termina com
".imba"
, o Imba Runtime clonará seu script em um arquivo oculto que termina com.imba
e o executará em vez do script original. Ao terminar a execução, o arquivo oculto será removido.
Executando o script:
./hello Donald # Hello Donald
./hello # Hello stranger
imba-shell
também pode ser usado como módulo. Aqui está um exemplo:
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 ( ) ;
Observe que você pode passar um objeto de opções de replicação do Node.js na função
run
.
Aqui está um exemplo de como ativar o recurso de histórico:
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 ( ) ;
Você pode definir qualquer caminho válido como seu arquivo de histórico.
Você pode registrar comandos com a função registerCommand
:
Imba:
repl . registerCommand 'goodbye' , do
console . log 'Goodbye!'
this . close !
JavaScript:
repl . registerCommand ( 'goodbye' , () = > {
console . log ( 'Goodbye!' );
this . close ();
});
Você pode registrar funções e propriedades para ficarem disponíveis no REPL usando a função registerCallback
:
Imba:
const repl = new ImbaRepl
repl . registerCallback do ( ctx )
ctx . foo = 'bar'
JavaScript:
const repl = new ImbaRepl ( ) ;
repl . registerCallback ( ( ctx ) => {
ctx . foo = 'bar'
} )
Ao chamar foo
no REPL, ele retornará bar
.
Instale dependências:
$ npm i
Construir a partir da fonte:
$ npm run build
Teste Imba-Shell
:
$ npm run test
Se você descobrir algum problema relacionado à segurança, envie um e-mail para [email protected] em vez de usar o rastreador de problemas.
A licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.