Cargo Features
[dependencies]
datex-core = { version = "0.0.7", default-features = false, features = ["embedded", "com_http", "com_tcp", "com_webrtc", "com_serial", "com_websocket", "native_http", "native_websocket", "native_tcp", "native_serial", "native_webrtc", "native_time", "native_rand", "native_uuid", "native_crypto", "wasm_logger", "esp_logger", "env_logger", "tokio_runtime", "wasm_runtime", "embassy_runtime", "syntax_highlighting_legacy", "std", "nostd", "debug", "compiler", "decompiler", "ast", "lsp", "lsp_tokio", "lsp_wasm", "flexi_logger", "wasm-bindgen"] }
- default = com_http, com_serial, com_tcp, com_webrtc, com_websocket, compiler, decompiler, flexi_logger, lsp_tokio, native_crypto, native_http, native_rand, native_serial, native_tcp, native_time, native_uuid, native_webrtc, native_websocket, std, syntax_highlighting_legacy, tokio_runtime
-
default: build with all features enabled + native features (com interfaces, crypto)
- embedded = com_http, com_serial, com_tcp, com_websocket, embassy_runtime, nostd
-
embedded build with nostd
- com_http default embedded? native_http
-
com interfaces base
Affects
default_com_interfaces::http… - com_tcp default embedded? native_tcp
-
Affects
default_com_interfaces::tcp… - com_webrtc default native_webrtc
-
Affects
default_com_interfaces::webrtc… - com_serial default embedded? native_serial
-
Affects
default_com_interfaces::serial… - com_websocket default embedded? native_websocket
-
Affects
default_com_interfaces::websocket… - native_http default = axum, com_http, hyper, tokio-stream
-
native com intefaces
Affects
http::http_server_interface… - native_websocket default = com_websocket, tokio-tungstenite, tungstenite
-
use native websocket
Affects
websocket::websocket_client_native_interface,websocket::websocket_server_native_interface… - native_tcp default = com_tcp
-
use native tcp
Affects
tcp::tcp_client_native_interface,tcp::tcp_server_native_interface… - native_serial default = com_serial, serialport
-
use native serial
Affects
serial::serial_native_interface… - native_webrtc default = com_webrtc, webrtc
-
use webrtc
Affects
webrtc::webrtc_native_interface… - native_time default
-
use native time
Affects
utils::time_native… - native_rand default = rand
-
use native websocket
- native_uuid default = uuid
-
use native uuid
- native_crypto default = openssl
-
use native crypto
Affects
crypto::crypto_native… - wasm_logger = console_error_panic_hook, console_log
-
logger
- esp_logger
-
Enables esp-println
- env_logger
- tokio_runtime default
-
runtime
Enables tokio
optional dependencies
Affects
task::spawn_with_panic_notify,task::spawn_with_panic_notify_default… - wasm_runtime
-
Enables gloo-timers, tsify, wasm-bindgen-futures, and web-time
Affects
task::spawn_with_panic_notify,task::spawn_with_panic_notify_default… - embassy_runtime embedded?
-
Enables async-unsync, embassy-executor, embassy-futures, and embassy-time
Affects
runtime::AsyncContext.spawner,task::spawn_with_panic_notify… - syntax_highlighting_legacy default
-
only required for legacy syntax highlighting in decompiler, will be removed in the future
Enables syntect
Affects
decompiler::apply_syntax_highlighting… - std default compiler
-
use std
Enables std of bigdecimal, binrw, bytes, futures, futures-core, futures-util, hex, indexmap, log, num, num-bigint, num-integer, num-traits, num_enum, ordered-float, ringmap ^0.1.3, serde, serde_json, serde_with, strum, thiserror, and url
strum:
core dependencies
Affects
crypto::crypto_native,utils::time_native… - nostd embedded?
-
Enables foldhash, hashbrown, nostd, spin, alloc of hex, no_std of mopa, alloc and libm of num, alloc of futures, futures-core, and futures-util and alloc of serde, serde_json, and serde_with
serde:
Provide impls for types in the Rust core allocation and collections library including String, Box<T>, Vec<T>, and Cow<T>. This is a subset of std but may be enabled without depending on all of std.
- debug
-
Enables serde-big-array
Affects
network::com_hub_metadata,global_context::DebugFlags,global_context::GlobalContext.debug_flags… - compiler default = ast, std
-
note: compiler requires std
Enables ariadne ^0.5.1, internment, logos ^0.15.0, and pretty
Affects
datex-core::compiler,datex-core::fmt,datex-core::parser,datex-core::type_inference,datex-core::visitor,local::LocalExecutionContext.compile_scope,remote::RemoteExecutionContext.compile_scope… - decompiler default = ast
-
Affects
datex-core::decompiler… - ast compiler decompiler
-
ast structures, needed by compiler, decompiler, and lsp
Affects
datex-core::ast… - lsp lsp_tokio lsp_wasm?
-
Enables realhydroper-lsp
Affects
datex-core::lsp… - lsp_tokio default = lsp
-
lsp support
Enables runtime-tokio of realhydroper-lsp
- lsp_wasm = lsp
-
enable runtime-agnostic feature for realhydroper-lsp in wasm
Enables runtime-agnostic of realhydroper-lsp
Features from optional dependencies
In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- rand native_rand
-
Enables rand ^0.8.5
- uuid native_uuid
- flexi_logger default
- console_log wasm_logger?
- console_error_panic_hook wasm_logger?
- webrtc native_webrtc
-
Enables webrtc ^0.13.0
- wasm-bindgen wasm32 not wasm32 implicit feature
-
Enables wasm-bindgen =0.2.105
wasm-bindgen:
Easy support for interacting between JS and Rust
- axum not wasm32 native_http
- hyper not wasm32 native_http
- openssl not wasm32 native_crypto
- serialport not wasm32 native_serial
- tokio-stream not wasm32 native_http
- tokio-tungstenite not wasm32 native_websocket
-
Enables tokio-tungstenite ^0.21.0
- tungstenite not wasm32 native_websocket
-
Enables tungstenite ^0.21.0