##// END OF EJS Templates
config: type `rcutil`...
marmoute -
r53317:91f22b89 default
parent child Browse files
Show More
@@ -9,6 +9,14 from __future__ import annotations
9 9
10 10 import os
11 11
12 from typing import (
13 Dict,
14 List,
15 Optional,
16 Tuple,
17 Union,
18 )
19
12 20 from .. import (
13 21 encoding,
14 22 pycompat,
@@ -26,8 +34,20 fallbackpager = scmplatform.fallbackpage
26 34 systemrcpath = scmplatform.systemrcpath
27 35 userrcpath = scmplatform.userrcpath
28 36
37 ConfigItemT = Tuple[bytes, bytes, bytes, bytes]
38 ResourceIDT = Tuple[bytes, bytes]
39 FileRCT = bytes
40 ComponentT = Tuple[
41 bytes,
42 Union[
43 List[ConfigItemT],
44 FileRCT,
45 ResourceIDT,
46 ],
47 ]
29 48
30 def _expandrcpath(path):
49
50 def _expandrcpath(path: bytes) -> List[FileRCT]:
31 51 '''path could be a file or a directory. return a list of file paths'''
32 52 p = util.expandpath(path)
33 53 if os.path.isdir(p):
@@ -38,7 +58,7 def _expandrcpath(path):
38 58 return [p]
39 59
40 60
41 def envrcitems(env=None):
61 def envrcitems(env: Optional[Dict[bytes, bytes]] = None) -> List[ConfigItemT]:
42 62 """Return [(section, name, value, source)] config items.
43 63
44 64 The config items are extracted from environment variables specified by env,
@@ -61,7 +81,7 def envrcitems(env=None):
61 81 return result
62 82
63 83
64 def default_rc_resources():
84 def default_rc_resources() -> List[ResourceIDT]:
65 85 """return rc resource IDs in defaultrc"""
66 86 rsrcs = resourceutil.contents(b'mercurial.defaultrc')
67 87 return [
@@ -72,7 +92,7 def default_rc_resources():
72 92 ]
73 93
74 94
75 def rccomponents():
95 def rccomponents() -> List[ComponentT]:
76 96 """return an ordered [(type, obj)] about where to load configs.
77 97
78 98 respect $HGRCPATH. if $HGRCPATH is empty, only .hg/hgrc of current repo is
@@ -107,13 +127,13 def rccomponents():
107 127 return _rccomponents
108 128
109 129
110 def defaultpagerenv():
130 def defaultpagerenv() -> Dict[bytes, bytes]:
111 131 """return a dict of default environment variables and their values,
112 132 intended to be set before starting a pager.
113 133 """
114 134 return {b'LESS': b'FRX', b'LV': b'-c'}
115 135
116 136
117 def use_repo_hgrc():
137 def use_repo_hgrc() -> bool:
118 138 """True if repositories `.hg/hgrc` config should be read"""
119 139 return b'HGRCSKIPREPO' not in encoding.environ
General Comments 0
You need to be logged in to leave comments. Login now