2025-03-26 18:49:42 -06:00

100 lines
1.1 KiB
Plaintext

namespace lextwt;
table TwtRegistry {
preamble:[Comment];
twts:[Twt];
}
table TwtFeed {
twter:Twter;
preamble:[Comment];
twts:[Twt];
}
enum LinkType : byte {
Standard = 1,
Media,
Plain,
Naked
}
enum CodeType : byte {
Inline = 1,
Block
}
table Twter {
nick:string;
uri:string;
}
table DateTime {
timestamp:long;
offset:short;
}
union Elem {
Comment,
Mention,
BangMention,
Tag,
Subject,
Text,
LineSeparator,
Link,
Code,
}
table Msg {
elem:Elem;
}
table Twt {
twter:Twter;
created:DateTime;
msg:[Msg];
}
table Comment {
comment:string;
key:string;
value:string;
}
table Mention {
name: string;
target:string;
}
table BangMention {
name:string;
target:string;
}
table Tag {
tag:string;
target:string;
}
table Subject {
subject:string;
tag:Tag;
}
table Text {
text:string;
}
table LineSeparator {}
table Link {
type:LinkType = Standard;
alt:string;
target:string;
title:string;
}
table Code {
type:CodeType = Inline;
code:string;
}