89
89
'reStructuredText Parser Options',
91
(('Recognize and link to PEP references (like "PEP 258").',
91
(('Recognize and link to standalone PEP references (like "PEP 258").',
92
92
['--pep-references'],
93
93
{'action': 'store_true', 'validator': frontend.validate_boolean}),
94
('Recognize and link to RFC references (like "RFC 822").',
94
('Base URL for PEP references '
95
'(default "http://www.python.org/peps/").',
97
{'metavar': '<URL>', 'default': 'http://www.python.org/peps/',
98
'validator': frontend.validate_url_trailing_slash}),
99
('Recognize and link to standalone RFC references (like "RFC 822").',
95
100
['--rfc-references'],
96
101
{'action': 'store_true', 'validator': frontend.validate_boolean}),
102
('Base URL for RFC references (default "http://www.faqs.org/rfcs/").',
104
{'metavar': '<URL>', 'default': 'http://www.faqs.org/rfcs/',
105
'validator': frontend.validate_url_trailing_slash}),
97
106
('Set number of spaces for tab expansion (default 8).',
99
{'metavar': '<width>', 'type': 'int', 'default': 8}),
108
{'metavar': '<width>', 'type': 'int', 'default': 8,
109
'validator': frontend.validate_nonnegative_int}),
100
110
('Remove spaces before footnote references.',
101
111
['--trim-footnote-reference-space'],
102
{'action': 'store_true', 'validator': frontend.validate_boolean}),))
112
{'action': 'store_true', 'validator': frontend.validate_boolean}),
113
('Leave spaces before footnote references.',
114
['--leave-footnote-reference-space'],
115
{'action': 'store_false', 'dest': 'trim_footnote_reference_space',
116
'validator': frontend.validate_boolean}),
117
('Disable directives that insert the contents of external file '
118
'("include" & "raw"); replaced with a "warning" system message.',
119
['--no-file-insertion'],
120
{'action': 'store_false', 'default': 1,
121
'dest': 'file_insertion_enabled'}),
122
('Enable directives that insert the contents of external file '
123
'("include" & "raw"). Enabled by default.',
124
['--file-insertion-enabled'],
125
{'action': 'store_true', 'dest': 'file_insertion_enabled'}),
126
('Disable the "raw" directives; replaced with a "warning" '
129
{'action': 'store_false', 'default': 1, 'dest': 'raw_enabled'}),
130
('Enable the "raw" directive. Enabled by default.',
132
{'action': 'store_true', 'dest': 'raw_enabled'}),))
104
134
config_section = 'restructuredtext parser'
105
135
config_section_dependencies = ('parsers',)
115
145
def parse(self, inputstring, document):
116
146
"""Parse `inputstring` and populate `document`, a document tree."""
117
147
self.setup_parse(inputstring, document)
118
debug = document.reporter[''].debug
119
148
self.statemachine = states.RSTStateMachine(
120
149
state_classes=self.state_classes,
121
150
initial_state=self.initial_state,
151
debug=document.reporter.debug_flag)
123
152
inputlines = docutils.statemachine.string2lines(
124
153
inputstring, tab_width=document.settings.tab_width,
125
154
convert_whitespace=1)