Cargo Features

[dependencies]
remolt = { version = "0.1.0", default-features = false, features = ["dict", "float", "i64", "error-stack-trace", "internals", "info", "expr", "closure-commands", "string-command", "unicode-case", "unicode-whitespace", "unicode-alphanum", "std"] }
default = closure-commands, dict, error-stack-trace, expr, float, i64, info, internals, std, string-command, unicode-alphanum, unicode-case, unicode-whitespace

These default features are set whenever remolt is added without default-features = false somewhere in the dependency tree.

dict default

Include the dict type and dict command for manipulating it. ~8 kiB

Affects commands::cmd_dict, remolt::dict, types::MoltDict, commands::cmd_string_map

float default

Include floating point numbers, parsing, and arithmetic. ~48 kiB

Affects types::MoltFloat, util::read_float

i64 default

Use 64-bit integers (when omitted, integers are 32-bit). ~3 kiB

Affects types::MoltInt

error-stack-trace default

Collect stack trace information on errors. ~1 kiB plus burning more RAM to record the stack traces at runtime.

internals default

Include "debugging tool" commands specific to Molt. ~6 kiB

Affects parser::cmd_parse

info default

Include the info command. ~3 kiB

Affects commands::cmd_info, commands::cmd_info_args, commands::cmd_info_body, commands::cmd_info_cmdtype, commands::cmd_info_commands, commands::cmd_info_default, commands::cmd_info_exists, commands::cmd_info_complete, commands::cmd_info_globals, commands::cmd_info_locals, commands::cmd_info_procs, commands::cmd_info_vars

expr default

Include expr command and expression parsing more generally. If omitted,
commands like if and while no longer parse expressions and must instead be given explicit commands to run. Omitting this makes the language a _lot_ less useful. ~11 kiB

Affects commands::cmd_expr

closure-commands default

Allow commands to be registered as boxed closures in addition to function pointers. < 1 kiB

string-command default

Include the string command. ~9 kiB, bigger when all unicode features are on.

Affects commands::cmd_string, commands::cmd_string_cat, commands::cmd_string_compare, commands::cmd_string_equal, commands::cmd_string_first, commands::cmd_string_last, commands::cmd_string_length, commands::cmd_string_range, commands::cmd_string_tolower, commands::cmd_string_toupper, commands::cmd_string_trim, util::to_uppercase, commands::cmd_string_map

unicode-case default

Correctly handle all scripts in upper/lower case transforms and case-insensitive comparisons. ~16 kiB.

unicode-whitespace default

Allow any Unicode whitespace characters to appear where space is expected during parsing and evaluation. Relatively cheap, ~1 kiB.

unicode-alphanum default

Allow any Unicode alpha/numeric character to appear in identifiers and numbers. ~2.5 kiB

std default

Assume the standard library is available.

Affects commands::cmd_exit, commands::cmd_pdump, commands::cmd_pclear, commands::cmd_puts, commands::cmd_source, commands::cmd_time