From: Günter M. <mi...@us...> - 2025-02-19 18:22:38
|
- **status**: pending-remind --> closed-rejected - **Comment**: Thank you for the feedback and patch. Hower, IMO, the problem is better solved in the sphinx-argparse-cli extension. --- **[patches:#208] On parse error, print text block when src=None** **Status:** closed-rejected **Group:** None **Created:** Wed Jan 17, 2024 07:29 PM UTC by Colin Marquardt **Last Updated:** Mon Apr 15, 2024 12:33 PM UTC **Owner:** nobody I am using https://github.com/tox-dev/sphinx-argparse-cli to document my Python app's command line options. When I have a formatting error in the help text of such a command line option, I am getting an error like the following: None:5: ERROR: Unexpected indentation With the patch below, I have a much better chance to find the offending piece of code by printing some context, like so: None:5: ERROR: Unexpected indentation near text: Foo Bar ~~~ --- docutils/parsers/rst/states_orig.py 2024-01-04 14:46:37.402565000 +0100 +++ docutils/parsers/rst/states.py 2024-01-17 13:48:00.991420000 +0100 @@ -2793,8 +2793,16 @@ block = self.state_machine.get_text_block(flush_left=True) except statemachine.UnexpectedIndentationError as err: block, src, srcline = err.args - msg = self.reporter.error('Unexpected indentation.', - source=src, line=srcline) + if src is None: + msg = self.reporter.error( + 'Unexpected indentation near text:\n' + + ' '.join(list(context)) + + '\n' + + ' '.join(list(block)), + source=src, line=srcline) + else: + msg = self.reporter.error('Unexpected indentation', + source=src, line=srcline) lines = context + list(block) paragraph, literalnext = self.paragraph(lines, startline) self.parent += paragraph ~~~ --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/patches/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/patches/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |