ดีบักเกอร์แบบโต้ตอบและ REPL สำหรับ Imba
เวลา 12.00 น.:
npm i -g imba-shell
เส้นด้าย:
yarn global add imba-shell
หากต้องการเริ่มใช้ imba-shell
ให้รันคำสั่งต่อไปนี้:
imba-shell
หากต้องการเปิดใช้งาน TypeScript คุณสามารถส่งแฟล็ก --ts
ได้:
imba-shell --ts
โปรดทราบว่าคุณสามารถใช้
imbas
แทนimba-shell
ได้
หากต้องการใช้โหมดหลายบรรทัด ให้ใช้คำสั่ง .editor:
>>> .editor
นี่จะเป็นการเปิดตัวแก้ไขหลายบรรทัด
เมื่อใช้โหมดหลายบรรทัด คุณสามารถใช้คีย์ผสม Shift+Tab
เพื่อเยื้องบรรทัดปัจจุบันได้
หากต้องการลบแท็บ ให้ใช้ปุ่ม Backspace
หากต้องการล้าง imba-shell
ให้ใช้ตัวช่วย clear
:
>>> clear !
คุณยังสามารถใช้คำสั่ง .
.clear
ได้
หากต้องการออกจาก imba-shell
ให้ใช้ตัวช่วย exit
:
>>> exit !
คุณยังสามารถใช้คำสั่ง
.exit
ได้อีกด้วย
คุณสามารถใช้ imba-shell
เป็นรันไทม์ได้:
imbar file.imba
นามแฝง
imbar
:imba-r
,imba-runtime
,ir
การส่งผ่านข้อโต้แย้งไปยังสคริปต์ของคุณ:
imbar craftsman.imba mail:send --help
สร้างและติดตามโครงการอย่างต่อเนื่อง (วัตถุประสงค์ในการพัฒนา):
imbar --watch server.imba
ธง:
--watch
นามแฝง:
-w
การสร้างสคริปต์ดำเนินการด้วยตนเอง:
hello
#!/usr/bin/env imbar
const name = process . argv . slice ( 2 )[ 0 ] ?? 'stranger'
console . log "Hello {name}"
หากคุณใช้ Linux
, FreeBSD
หรือ MacOS
คุณสามารถทำให้สคริปต์ของคุณปฏิบัติการได้:
chmod u+x hello
หมายเหตุ: เมื่อสร้างสคริปต์ที่ไม่ได้ลงท้ายด้วย
".imba"
Imba Runtime จะโคลนสคริปต์ของคุณเป็นไฟล์ที่ซ่อนอยู่ซึ่งลงท้ายด้วย.imba
และดำเนินการแทนสคริปต์ต้นฉบับของคุณ เมื่อดำเนินการเสร็จสิ้น ไฟล์ที่ซ่อนไว้จะถูกลบออก
การรันสคริปต์:
./hello Donald # Hello Donald
./hello # Hello stranger
imba-shell
ยังสามารถใช้เป็นโมดูลได้ นี่คือตัวอย่าง:
อิมบา:
import { ImbaRepl } from 'imba-shell'
# you can also pass "typescript" instead of "imba"
const repl = new ImbaRepl 'imba' , 'imba> '
repl . run !
จาวาสคริปต์:
const { ImbaRepl } = require ( 'imba-shell' ) ;
/** you can also pass "typescript" instead of "imba" */
const repl = new ImbaRepl ( 'imba' , 'imba> ' ) ;
repl . run ( ) ;
โปรดทราบว่าคุณสามารถส่งผ่านอ็อบเจ็กต์ของตัวเลือก repl ของ Node.js ในฟังก์ชัน
run
ได้
ต่อไปนี้คือตัวอย่างวิธีเปิดใช้งานคุณลักษณะประวัติ:
อิมบา:
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 !
จาวาสคริปต์:
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 ( ) ;
คุณสามารถกำหนดเส้นทางที่ถูกต้องเป็นไฟล์ประวัติของคุณได้
คุณสามารถลงทะเบียนคำสั่งด้วยฟังก์ชัน registerCommand
:
อิมบา:
repl . registerCommand 'goodbye' , do
console . log 'Goodbye!'
this . close !
จาวาสคริปต์:
repl . registerCommand ( 'goodbye' , () = > {
console . log ( 'Goodbye!' );
this . close ();
});
คุณสามารถลงทะเบียนฟังก์ชันและคุณสมบัติเพื่อให้พร้อมใช้งานใน REPL โดยใช้ฟังก์ชัน registerCallback
:
อิมบา:
const repl = new ImbaRepl
repl . registerCallback do ( ctx )
ctx . foo = 'bar'
จาวาสคริปต์:
const repl = new ImbaRepl ( ) ;
repl . registerCallback ( ( ctx ) => {
ctx . foo = 'bar'
} )
เมื่อโทร foo
ใน REPL bar
ก็จะส่งคืน
ติดตั้งการพึ่งพา:
$ npm i
สร้างจากแหล่งที่มา:
$ npm run build
ทดสอบ Imba-Shell
:
$ npm run test
หากคุณพบปัญหาที่เกี่ยวข้องกับความปลอดภัย โปรดส่งอีเมลไปที่ [email protected] แทนการใช้ตัวติดตามปัญหา
ใบอนุญาตเอ็มไอที (MIT) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม