Skip to content
This repository was archived by the owner on Jul 22, 2019. It is now read-only.

Commit b0073de

Browse files
committed
Add support for LSUB responses (fixes #4)
1 parent 16873f9 commit b0073de

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/parser.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,20 @@ named!(mailbox_data_list<Response>, do_parse!(
281281
}))
282282
));
283283

284+
named!(mailbox_data_lsub<Response>, do_parse!(
285+
tag_s!("LSUB ") >>
286+
flags: flag_list >>
287+
tag_s!(" ") >>
288+
path: quoted >>
289+
tag_s!(" ") >>
290+
name: mailbox >>
291+
(Response::MailboxData(MailboxDatum::SubList {
292+
flags,
293+
delimiter: str::from_utf8(path).unwrap(),
294+
name
295+
}))
296+
));
297+
284298
named!(mailbox_data_recent<Response>, do_parse!(
285299
num: number >>
286300
tag_s!(" RECENT") >>
@@ -291,6 +305,7 @@ named!(mailbox_data<Response>, alt!(
291305
mailbox_data_flags |
292306
mailbox_data_exists |
293307
mailbox_data_list |
308+
mailbox_data_lsub |
294309
mailbox_data_recent
295310
));
296311

src/types.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ pub enum MailboxDatum<'a> {
5757
delimiter: &'a str,
5858
name: &'a str,
5959
},
60+
SubList {
61+
flags: Vec<&'a str>,
62+
delimiter: &'a str,
63+
name: &'a str,
64+
},
6065
Recent(u32),
6166
}
6267

0 commit comments

Comments
 (0)