12 ms·
It's been a bit of a disappointment for me to discover that AsciiDoc's grammar is so complex that they didn't even describe it in a spec. Their spec is a collec
by gnull 5y ago
It's been a bit of a disappointment for me to discover that AsciiDoc's grammar is so complex that they didn't even describe it in a spec. Their spec is a collection of tests.
This must be contributing a lot to the adoption difficulty (at least for resource-limited open-source projects). There's a good chance you will not find an AsciiDoc parser library for your favourite programming language.
- chmike 5y agoThere is one for go which is my favorite language. And there is also one for python and javascript. Did you check ?
- gnull 5y agoIf you mean libasciidoc for Go, it does not support all the AsciiDoc features [1]. The JS parser is transpiled [2] from the Ruby implementation (which is not a bad thing, it's just something most languages can't have). My favourites are Rust and Haskell. Neither of them had a parcer until recently (even though the original implementation has been around for a few years now). Both are at early development stages at the moment. [1]: https://github.com/bytesparadise/libasciidoc/blob/master/LIMITATIONS.adoc https://github.com/bytesparadise/libasciidoc/blob/master/LIM... [2]: https://asciidoctor.org/docs/asciidoctor.js/ https://asciidoctor.org/docs/asciidoctor.js/
- mogztter 5y agoThe AsciiDoc Working Group has been formed to write a complete and comprehensive specification: https://asciidoc-wg.eclipse.org/ https://asciidoc-wg.eclipse.org/ If you are interested in an AsciiDoc processor in Haskell, you can read: https://www.tweag.io/blog/2021-06-15-asciidoc-haskell-pandoc/ https://www.tweag.io/blog/2021-06-15-asciidoc-haskell-pandoc... We had Guillem Marpons at the last AsciiDoc WG meeting and he was willing to work toward a spec-compliant implementation and help us with the spec.
- gnull 5y agoI didn't know about the specification effort. It's great news! I'm very impressed with what asciidoc-hs plans to do! Especially looking forward to LSP support and stuff like incomplete/incremental parsing.