Cargo Features
[dependencies]
ass-editor = { version = "0.1.1", default-features = false, features = ["minimal", "full", "std", "analysis", "plugins", "stream", "rope", "arena", "formats", "search-index", "serde", "concurrency", "multi-thread", "async", "simd", "simd-full", "nostd", "dev-benches"] }
- default = full
-
Default: A fully-featured editor experience for desktop applications.
- minimal full = arena, rope, stream
-
--- Main Editor Flavors ---
Provides the absolute minimum for a functional, performant text editor. This is suitable for lightweight integrations or when only core editing is needed. It enables alloc-only dependencies, making it compatible with
nostd.Enables minimal of ass-core and hashbrown ^0.14
For nostd support (alloc-only)
- full default = analysis, concurrency, formats, minimal, plugins, search-index, serde, std
-
Provides all features for a rich, full-featured ASS subtitle editor. This builds upon 'minimal' by adding advanced capabilities like analysis, extensions, format conversion, advanced search, and concurrency. It explicitly enables
stdandthiserror(which requiresstd).Enables full of ass-core and thiserror ^1.0.63
Only enabled with
std - std async? concurrency? formats? full multi-thread? search-index? serde?
-
--- Granular Features (typically enabled by 'minimal' or 'full') ---
Standard library support. Enabled by 'full'. Propagates
stdtoass-core, and enables std for ropey and bumpalo.Enables ropey
Rope data structure for text editing (feature-gated)
and std of ass-core and bumpalo
bumpalo:
Arena allocator for pooling histories and deltas (feature-gated)
Affects
history::HistoryEntry.timestamp,incremental::DocumentChange.timestamp,builtin::load_builtin_extensions,extensions::StdMessageHandler,extensions::EventSender,mod_backup::StdMessageHandler,mod_backup::EventSender,mod_backup::EditorContext.event_tx,ass-editor::sessions,ass-editor::formats,memory::MemoryPoolConfig.min_gc_interval,sessions::EditorSession.last_accessed,formats::import_from_file,formats::export_to_file,validator::ValidatorConfig.min_validation_interval,validator::ValidationResult.validation_time_us,validator::ValidationResult.timestamp… - analysis full
-
Core parsing and analysis features from ass-core.
- plugins full
-
ass-core:
Extension registry support
- stream minimal?
-
Essential for incremental parsing performance
Affects
commands::CommandResult.script_delta,history::DeltaUndoData,history::HistoryEntry.script_delta,core::incremental… - rope minimal?
-
Editor-specific dependencies.
Rope data structure for efficient text editingEnables ropey
- arena minimal?
-
Arena allocator for pooling histories and deltas
Enables bumpalo
- formats full = std
-
regexand format conversion requirestdEnables regex
For format conversion regex patterns (requires std)
Affects
utils::formats… - search-index full = std
-
fstrequiresstdEnables fst
FST-based search indexing (feature-gated, requires std)
Affects
indexing::FstSearchIndex… - serde full = std
-
serderequiresstdEnables serde of ass-core and serde
For serialization support (feature-gated, requires std)
- concurrency full = async, multi-thread, std
-
Concurrency and asynchronous operation support. Concurrency features require
stdEnables static_assertions
For compile-time assertions
Affects
core::thread_safety,thread_safety::SyncDocument,thread_safety::DocumentPool,thread_safety::ScopedDocumentLock,thread_safety::AsyncDocument… - multi-thread concurrency? = std
-
Enables parking_lot
For multi-threading support (feature-gated, requires std)
Affects
extensions::EditorContext.manager,mod_backup::ExtensionManager,mod_backup::ThreadSafeExtensionManagerExt,mod_backup::new_thread_safe_manager… - async concurrency? = std
-
futures:
For async support (feature-gated, requires std)
Affects
thread_safety::AsyncDocument… - simd
-
--- Optional Performance Optimizations ---
SIMD acceleration features from ass-core. Enable for maximum parsing performance. - simd-full
-
ass-core:
Extended SIMD for UUencode/hex parsing (20-40% faster)
- nostd
-
--- Specialized Build Targets ---
No-standard library support for embedded/WASM environments. This feature is mutually exclusive with 'std'. To use this, you would typically build with
--no-default-features --features minimal,nostd.Enables hashbrown ^0.14, nostd of ass-core
- dev-benches
-
--- Development Features ---
Features primarily used during development, such as benchmarks.