-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: use antlr4 to parse bbcode #684
Conversation
之前有人提到过 https://github.com/realth000/flutter_bbcode_editor 这个库似乎是基于 AST 语法树,但是我没有实际看过 我现在正在尝试实现追番同步,这里有相当多的问题 |
我们确实应该压缩单个PR中的提交。 虽然这个PR中目标是很优雅的,但是实际实现时引入了大量的模板代码,所以看上去似乎不是那么的好。 我在想将其拆分出去作为独立的包怎么样。 |
可以拆分,不过这个通用性有点太低了 虽然是 bbcode,但是是专为 bangumi 评论设计的 bbcode 解析 我可以删掉点模板代码,比如 Visitor 没用到,一开始传上来是因为没有头绪就勾选全部生成了 Listener 我看看怎么删,这里是为了其他人也可以看懂解析器是怎么实现的,所以我还写了个 README |
这可真是一个大工程 我没有用过这个库,相关实现并不是很能看懂。让我们在 CI 完成后简单测试一下就合并吧 有问题的话再修 |
看上去之前的 Utils.richTextParser 相关实现已经不再使用,我们不移除它们吗 |
我意识到这部分仍然在吐槽箱中使用 是什么阻止了我们在吐槽箱中使用新的解析器 |
忘记删了
吐槽箱应该没在使用,吐槽箱获取的文字是普通的 String 不是 bbcode |
我们应该会在今晚发布新的版本 我们已经按照 F-Droid 的要求在第一次启动时提供了更新来源选择,应该可以继续 F-Droid 的上架 |
* add BBCode.g4 * Rename bbcode.g4 to BBCode.g4 * try * basic * delete useless files * fix * Done * dart format * remove old parser (cherry picked from commit f888506)
解析为 AST 树解析的挺好的,但我不知道怎么继续处理了,发上来讨论一下(