| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
Thank you! This looks like the way to go. I left a few notes inline.
conf.py still has needs_sphinx = '8.1.3', and I got a very worrying result with that version: the entire reference directory was missing, without any error message I could see. Is that something you want to look into?
Sorry, something went wrong.
|
The extension defines two directives, one with the new syntax but also a CompatProductionList that overrides Sphinx's .. productionlist::. We have syntax highlighting in existing productionlists too. I added code to merge the lines of each multi-line production into a single production node. |
Sorry, something went wrong.
|
OK, now each production should should have complete rawsource. |
Sorry, something went wrong.
|
Sorry for the delay on my part. I've refactored to split the parsing of content lines into individual productions into its own method, as I think it is sufficiently complex to warrant a dedicated function (and this massively simplifies the creation of the actual production node). One open question is if group_dict is the right representation, as my understanding is that each dict must have exactly one key -- perhaps an enum would be a better fit? I'm not sure though, and we mustn't let perfect be the enemy of the good. A |
Sorry, something went wrong.
|
Don't worry about delays; I've had more important things to deal with too :) Do you think a (type, content) tuple makes it clearer? Like this: AA-Turner/cpython@docs/productionlist-grammar...encukou:cpython:docs/productionlist-grammar I think Enum would be overengineering; we'd need to duplicate the names from the regex (unless we build the regex from the enum -- more overengineering). |
Sorry, something went wrong.
|
I've pushed this change to the PR, and updated the branch to fix a conflict. |
Sorry, something went wrong.
|
@encukou I don't see any new commits... |
Sorry, something went wrong.
|
I think that was a GitHub glitch. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Split into individual commits for readability. I contend that productionlist nodes are semantically the right thing to use here, the only reason we didn't before was due to a limitation in Sphinx.
A
📚 Documentation preview 📚: https://cpython-previews--130376.org.readthedocs.build/