mirror of https://github.com/python/cpython
Docs: Link tokens in the format string grammars (#108184)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com> Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
This commit is contained in:
parent
a023bc252d
commit
f3d5d4aa8f
|
@ -208,13 +208,13 @@ The grammar for a replacement field is as follows:
|
|||
|
||||
.. productionlist:: format-string
|
||||
replacement_field: "{" [`field_name`] ["!" `conversion`] [":" `format_spec`] "}"
|
||||
field_name: arg_name ("." `attribute_name` | "[" `element_index` "]")*
|
||||
arg_name: [`identifier` | `digit`+]
|
||||
attribute_name: `identifier`
|
||||
element_index: `digit`+ | `index_string`
|
||||
field_name: `arg_name` ("." `attribute_name` | "[" `element_index` "]")*
|
||||
arg_name: [`~python-grammar:identifier` | `~python-grammar:digit`+]
|
||||
attribute_name: `~python-grammar:identifier`
|
||||
element_index: `~python-grammar:digit`+ | `index_string`
|
||||
index_string: <any source character except "]"> +
|
||||
conversion: "r" | "s" | "a"
|
||||
format_spec: <described in the next section>
|
||||
format_spec: `format-spec:format_spec`
|
||||
|
||||
In less formal terms, the replacement field can start with a *field_name* that specifies
|
||||
the object whose value is to be formatted and inserted
|
||||
|
@ -316,9 +316,9 @@ The general form of a *standard format specifier* is:
|
|||
fill: <any character>
|
||||
align: "<" | ">" | "=" | "^"
|
||||
sign: "+" | "-" | " "
|
||||
width: `digit`+
|
||||
width: `~python-grammar:digit`+
|
||||
grouping_option: "_" | ","
|
||||
precision: `digit`+
|
||||
precision: `~python-grammar:digit`+
|
||||
type: "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
|
||||
|
||||
If a valid *align* value is specified, it can be preceded by a *fill*
|
||||
|
|
|
@ -77,7 +77,6 @@ Doc/library/smtplib.rst
|
|||
Doc/library/socket.rst
|
||||
Doc/library/ssl.rst
|
||||
Doc/library/stdtypes.rst
|
||||
Doc/library/string.rst
|
||||
Doc/library/subprocess.rst
|
||||
Doc/library/termios.rst
|
||||
Doc/library/test.rst
|
||||
|
|
|
@ -48,6 +48,11 @@ Body.enum.converters['loweralpha'] = \
|
|||
Body.enum.converters['lowerroman'] = \
|
||||
Body.enum.converters['upperroman'] = lambda x: None
|
||||
|
||||
# monkey-patch the productionlist directive to allow hyphens in group names
|
||||
# https://github.com/sphinx-doc/sphinx/issues/11854
|
||||
from sphinx.domains import std
|
||||
|
||||
std.token_re = re.compile(r'`((~?[\w-]*:)?\w+)`')
|
||||
|
||||
# Support for marking up and linking to bugs.python.org issues
|
||||
|
||||
|
|
Loading…
Reference in New Issue