IRCv3 Parse
A zero-copy IRC message parser with IRCv3 support
Features
- Zero-copy parsing for performance
- IRCv3 message tags support
- Derive macros (
FromMessage,ToMessage) for easy message extraction and generation no_stdcompatible (withalloc)
Quick Start
[]
= { = "3", = ["derive"] }
Parsing Messages (FromMessage)
Extract IRC message components into your custom types with the FromMessage derive macro:
use FromMessage;
Building Messages (ToMessage)
Generate IRC messages from your custom types with the ToMessage derive macro:
use ToMessage;
Feature Flags
std(default) - Standard library supportderive- EnablesFromMessageandToMessagederive macros (recommended)serde- EnablesSerializeimplementation forMessage
no_std Support
[]
= { = "3", = false, = ["derive"] }
Minimum Supported Rust Version (MSRV)
This crate requires Rust 1.78 or later.
Parsing Rules
Notice: Each component parses first special character and follows the rule. Use validation methods for strict parsing.
- Tags: Start with
@, separated by;, followed by space - Source: Start with
:, formatname!user@hostorhost, followed by space - Command: Letters or 3-digit number
- Middle Parameters: Separated by spaces
- Trailing Parameters: Start with
:(space + colon)
License
Licensed under either of:
- Apache License, Version 2.0
- MIT license