Débogueur interactif et REPL pour Imba.
npm :
npm i -g imba-shell
fil:
yarn global add imba-shell
Pour commencer à utiliser imba-shell
, exécutez la commande suivante :
imba-shell
Pour activer TypeScript, vous pouvez passer l'indicateur --ts
:
imba-shell --ts
Notez que vous pouvez également utiliser
imbas
au lieu deimba-shell
.
Pour utiliser le mode multiligne, utilisez la commande .editor :
>>> .editor
Cela ouvrira un éditeur multiligne.
Lorsque vous utilisez le mode multiligne, vous pouvez utiliser la combinaison de touches Shift+Tab
pour mettre en retrait la ligne actuelle.
Pour supprimer un onglet, utilisez la touche Backspace
.
Pour effacer le imba-shell
, utilisez l'assistant clear
:
>>> clear !
Vous pouvez également utiliser la commande
.clear
.
Pour quitter imba-shell
, utilisez l'assistant exit
:
>>> exit !
Vous pouvez également utiliser la commande
.exit
.
Vous pouvez utiliser imba-shell
comme moteur d'exécution :
imbar file.imba
Alias
imbar
:imba-r
,imba-runtime
,ir
.
Passer des arguments à votre script :
imbar craftsman.imba mail:send --help
Construire et surveiller en permanence le projet (à des fins de développement) :
imbar --watch server.imba
drapeau :
--watch
pseudonyme :
-w
Création d'un script auto-exécutable :
hello
#!/usr/bin/env imbar
const name = process . argv . slice ( 2 )[ 0 ] ?? 'stranger'
console . log "Hello {name}"
Si vous utilisez Linux
, FreeBSD
ou MacOS
, vous pouvez rendre votre script exécutable :
chmod u+x hello
Remarque : lors de la création d'un script qui ne se termine pas par
".imba"
, Imba Runtime clonera votre script dans un fichier caché se terminant par.imba
et l'exécutera à la place de votre script d'origine. Une fois l'exécution terminée, le fichier caché sera supprimé.
Exécution du script :
./hello Donald # Hello Donald
./hello # Hello stranger
imba-shell
peut également être utilisé comme module. Voici un exemple :
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 ( ) ;
Notez que vous pouvez transmettre un objet des options repl de Node.js dans la fonction
run
.
Voici un exemple de la façon d'activer la fonctionnalité d'historique :
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 ( ) ;
Vous pouvez définir n'importe quel chemin valide comme fichier historique.
Vous pouvez enregistrer des commandes avec la fonction registerCommand
:
Imba :
repl . registerCommand 'goodbye' , do
console . log 'Goodbye!'
this . close !
Javascript :
repl . registerCommand ( 'goodbye' , () = > {
console . log ( 'Goodbye!' );
this . close ();
});
Vous pouvez enregistrer des fonctions et des propriétés disponibles dans le REPL à l'aide de la fonction registerCallback
:
Imba :
const repl = new ImbaRepl
repl . registerCallback do ( ctx )
ctx . foo = 'bar'
Javascript :
const repl = new ImbaRepl ( ) ;
repl . registerCallback ( ( ctx ) => {
ctx . foo = 'bar'
} )
Lorsque vous appelez foo
dans le REPL, il renverra bar
.
Installer les dépendances :
$ npm i
Construire à partir des sources :
$ npm run build
Testez Imba-Shell
:
$ npm run test
Si vous découvrez des problèmes liés à la sécurité, veuillez envoyer un e-mail à [email protected] au lieu d'utiliser le suivi des problèmes.
La licence MIT (MIT). Veuillez consulter le fichier de licence pour plus d'informations.