Embedding Jim Tcl
The jimtcl crate is the primary entry point to embed stock Jim Tcl into Rust.
It uses the separate jimtcl-sys crate that provides the Jim Tcl source code
and low-level FFI bindings.
The API reference is the primary documentation for using this crate.
Jim is compiled and statically linked into the executable. Linking against a system-provided Jim is TBD.
Note
Currently, Jim Tcl only supports Unix-like systems. Windows suppport is planned but not yet implemented.
Crate Features
The following features control Rust integration, and are enabled by default:
cli— add a dependency onClapand provide a reusable command line for Jim Tcl shells. Enables therust-jimshbinary as well.serde— add aDeserializeSeedimplementation to allow Jim objects to be directly deserialized with Serde format libraries. Serialization is not yet supported, as it would require some kind of schema mechanism.
Extension Features
Each of the Jim Tcl optional extensions, except for database extensions, is
exposed through a Rust crate feature, and passed through to a correpsonding
feature on jimtcl-sys. They are all enabled by default.
- aio
- array
- binary
- clock
- ensemble
- eventloop
- exec
- file
- glob
- history
- interp
- json (enables both
jsonandjsonencodeextensions) - namespace
- oo
- pack
- package
- posix
- readdir
- regexp
- signal
- tclcompat
- tree