mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix typehints: sphinx.domains
This commit is contained in:
parent
67cbc7d96c
commit
99bb07740e
@ -17,7 +17,7 @@ from sphinx.locale import _
|
||||
|
||||
if False:
|
||||
# For type annotation
|
||||
from typing import Any, Callable, Dict, Iterable, List, Tuple, Type, Union # NOQA
|
||||
from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Type, Union # NOQA
|
||||
from docutils import nodes # NOQA
|
||||
from docutils.parsers.rst.states import Inliner # NOQA
|
||||
from sphinx.builders import Builder # NOQA
|
||||
@ -149,7 +149,7 @@ class Domain:
|
||||
#: role name -> a warning message if reference is missing
|
||||
dangling_warnings = {} # type: Dict[unicode, unicode]
|
||||
#: node_class -> (enum_node_type, title_getter)
|
||||
enumerable_nodes = {} # type: Dict[nodes.Node, Tuple[unicode, Callable]]
|
||||
enumerable_nodes = {} # type: Dict[Type[nodes.Node], Tuple[unicode, Callable]]
|
||||
|
||||
#: data value for a fresh environment
|
||||
initial_data = {} # type: Dict
|
||||
@ -201,7 +201,7 @@ class Domain:
|
||||
self._role2type.setdefault(role, []).append(name)
|
||||
|
||||
def role(self, name):
|
||||
# type: (unicode) -> Callable
|
||||
# type: (unicode) -> RoleFunction
|
||||
"""Return a role adapter function that always gives the registered
|
||||
role its full name ('domain:name') as the first argument.
|
||||
"""
|
||||
@ -212,7 +212,7 @@ class Domain:
|
||||
fullname = '%s:%s' % (self.name, name)
|
||||
|
||||
def role_adapter(typ, rawtext, text, lineno, inliner, options={}, content=[]):
|
||||
# type: (unicode, unicode, unicode, int, Inliner, Dict, List[unicode]) -> nodes.Node # NOQA
|
||||
# type: (unicode, unicode, unicode, int, Inliner, Optional[Dict], Optional[List[unicode]]) -> Tuple[List[nodes.Node], List[nodes.Node]] # NOQA
|
||||
return self.roles[name](fullname, rawtext, text, lineno,
|
||||
inliner, options, content)
|
||||
self._role_cache[name] = role_adapter
|
||||
|
@ -63,7 +63,7 @@ class VersionChange(SphinxDirective):
|
||||
|
||||
def run(self):
|
||||
# type: () -> List[nodes.Node]
|
||||
node = addnodes.versionmodified()
|
||||
node = addnodes.versionmodified() # type: nodes.Node
|
||||
node.document = self.state.document
|
||||
set_source_info(self, node)
|
||||
node['type'] = self.name
|
||||
|
@ -21,11 +21,10 @@ from sphinx.util.nodes import make_refnode
|
||||
|
||||
if False:
|
||||
# For type annotation
|
||||
from typing import Any, Callable, Dict, Iterable, List, Tuple, Union # NOQA
|
||||
from typing import Any, Callable, Dict, Iterable, List, Tuple, Type, Union # NOQA
|
||||
from sphinx.application import Sphinx # NOQA
|
||||
from sphinx.builders import Builder # NOQA
|
||||
from sphinx.environment import BuildEnvironment # NOQA
|
||||
from sphinx.util.typing import RoleFunction # NOQA
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -52,7 +51,7 @@ class MathDomain(Domain):
|
||||
enumerable_nodes = { # node_class -> (figtype, title_getter)
|
||||
displaymath: ('displaymath', None),
|
||||
nodes.math_block: ('displaymath', None),
|
||||
} # type: Dict[nodes.Node, Tuple[unicode, Callable]]
|
||||
} # type: Dict[Type[nodes.Node], Tuple[unicode, Callable]]
|
||||
roles = {
|
||||
'numref': MathReferenceRole(),
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ from copy import copy
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import directives
|
||||
from docutils.statemachine import ViewList
|
||||
from docutils.statemachine import StringList
|
||||
|
||||
from sphinx import addnodes
|
||||
from sphinx.deprecation import RemovedInSphinx30Warning
|
||||
@ -127,7 +127,7 @@ class Target(SphinxDirective):
|
||||
targetname = '%s-%s' % (self.name, fullname)
|
||||
node = nodes.target('', '', ids=[targetname])
|
||||
self.state.document.note_explicit_target(node)
|
||||
ret = [node]
|
||||
ret = [node] # type: List[nodes.Node]
|
||||
if self.indextemplate:
|
||||
indexentry = self.indextemplate % (fullname,)
|
||||
indextype = 'single'
|
||||
@ -294,7 +294,7 @@ class Glossary(SphinxDirective):
|
||||
# be* a definition list.
|
||||
|
||||
# first, collect single entries
|
||||
entries = [] # type: List[Tuple[List[Tuple[unicode, unicode, int]], ViewList]]
|
||||
entries = [] # type: List[Tuple[List[Tuple[unicode, unicode, int]], StringList]]
|
||||
in_definition = True
|
||||
was_empty = True
|
||||
messages = []
|
||||
@ -316,7 +316,7 @@ class Glossary(SphinxDirective):
|
||||
messages.append(self.state.reporter.system_message(
|
||||
2, 'glossary term must be preceded by empty line',
|
||||
source=source, line=lineno))
|
||||
entries.append(([(line, source, lineno)], ViewList()))
|
||||
entries.append(([(line, source, lineno)], StringList()))
|
||||
in_definition = False
|
||||
# second term and following
|
||||
else:
|
||||
@ -346,9 +346,9 @@ class Glossary(SphinxDirective):
|
||||
# now, parse all the entries into a big definition list
|
||||
items = []
|
||||
for terms, definition in entries:
|
||||
termtexts = []
|
||||
termnodes = []
|
||||
system_messages = [] # type: List[unicode]
|
||||
termtexts = [] # type: List[unicode]
|
||||
termnodes = [] # type: List[nodes.Node]
|
||||
system_messages = [] # type: List[nodes.Node]
|
||||
for line, source, lineno in terms:
|
||||
parts = split_term_classifiers(line)
|
||||
# parse the term with inline markup
|
||||
@ -385,7 +385,7 @@ class Glossary(SphinxDirective):
|
||||
|
||||
def token_xrefs(text):
|
||||
# type: (unicode) -> List[nodes.Node]
|
||||
retnodes = []
|
||||
retnodes = [] # type: List[nodes.Node]
|
||||
pos = 0
|
||||
for m in token_re.finditer(text):
|
||||
if m.start() > pos:
|
||||
@ -415,7 +415,7 @@ class ProductionList(SphinxDirective):
|
||||
def run(self):
|
||||
# type: () -> List[nodes.Node]
|
||||
objects = self.env.domaindata['std']['objects']
|
||||
node = addnodes.productionlist()
|
||||
node = addnodes.productionlist() # type: nodes.Node
|
||||
messages = [] # type: List[nodes.Node]
|
||||
i = 0
|
||||
|
||||
@ -520,7 +520,7 @@ class StandardDomain(Domain):
|
||||
nodes.figure: ('figure', None),
|
||||
nodes.table: ('table', None),
|
||||
nodes.container: ('code-block', None),
|
||||
} # type: Dict[nodes.Node, Tuple[unicode, Callable]]
|
||||
} # type: Dict[Type[nodes.Node], Tuple[unicode, Callable]]
|
||||
|
||||
def __init__(self, env):
|
||||
# type: (BuildEnvironment) -> None
|
||||
|
@ -9,7 +9,7 @@
|
||||
:license: BSD, see LICENSE for details.
|
||||
"""
|
||||
|
||||
from typing import Callable, Dict, List, Tuple
|
||||
from typing import Callable, Dict, List, Optional, Tuple
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst.states import Inliner
|
||||
@ -17,7 +17,8 @@ from six import text_type
|
||||
|
||||
|
||||
# common role functions
|
||||
RoleFunction = Callable[[text_type, text_type, text_type, int, Inliner, Dict, List[text_type]],
|
||||
RoleFunction = Callable[[text_type, text_type, text_type, int, Inliner,
|
||||
Optional[Dict], Optional[List[text_type]]],
|
||||
Tuple[List[nodes.Node], List[nodes.Node]]]
|
||||
|
||||
# title getter functions for enumerable nodes (see sphinx.domains.std)
|
||||
|
Loading…
Reference in New Issue
Block a user