summaryrefslogtreecommitdiff
path: root/qutebrowser/config/configfiles.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/config/configfiles.py')
-rw-r--r--qutebrowser/config/configfiles.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/qutebrowser/config/configfiles.py b/qutebrowser/config/configfiles.py
index 975ea6b4a..498c5572f 100644
--- a/qutebrowser/config/configfiles.py
+++ b/qutebrowser/config/configfiles.py
@@ -591,17 +591,24 @@ class ConfigAPI:
Attributes:
_config: The main Config object to use.
_keyconfig: The KeyConfig object.
+ _warn_autoconfig: Whether to warn if autoconfig.yml wasn't loaded.
errors: Errors which occurred while setting options.
configdir: The qutebrowser config directory, as pathlib.Path.
datadir: The qutebrowser data directory, as pathlib.Path.
"""
- def __init__(self, conf: config.Config, keyconfig: config.KeyConfig):
+ def __init__(
+ self,
+ conf: config.Config,
+ keyconfig: config.KeyConfig,
+ warn_autoconfig: bool,
+ ):
self._config = conf
self._keyconfig = keyconfig
self.errors: List[configexc.ConfigErrorDesc] = []
self.configdir = pathlib.Path(standarddir.config())
self.datadir = pathlib.Path(standarddir.data())
+ self._warn_autoconfig = warn_autoconfig
@contextlib.contextmanager
def _handle_error(self, action: str, name: str) -> Iterator[None]:
@@ -624,7 +631,7 @@ class ConfigAPI:
def finalize(self) -> None:
"""Do work which needs to be done after reading config.py."""
- if self._config.warn_autoconfig:
+ if self._warn_autoconfig:
desc = configexc.ConfigErrorDesc(
"autoconfig loading not specified",
("Your config.py should call either `config.load_autoconfig()`"
@@ -635,7 +642,7 @@ class ConfigAPI:
def load_autoconfig(self, load_config: bool = True) -> None:
"""Load the autoconfig.yml file which is used for :set/:bind/etc."""
- self._config.warn_autoconfig = False
+ self._warn_autoconfig = False
if load_config:
with self._handle_error('reading', 'autoconfig.yml'):
read_autoconfig()
@@ -815,18 +822,27 @@ class ConfigPyWriter:
yield ''
-def read_config_py(filename: str, raising: bool = False) -> None:
+def read_config_py(
+ filename: str,
+ raising: bool = False,
+ warn_autoconfig: bool = False,
+) -> None:
"""Read a config.py file.
Arguments;
filename: The name of the file to read.
raising: Raise exceptions happening in config.py.
This is needed during tests to use pytest's inspection.
+ warn_autoconfig: Whether to warn if config.load_autoconfig() wasn't specified.
"""
assert config.instance is not None
assert config.key_instance is not None
- api = ConfigAPI(config.instance, config.key_instance)
+ api = ConfigAPI(
+ config.instance,
+ config.key_instance,
+ warn_autoconfig=warn_autoconfig,
+ )
container = config.ConfigContainer(config.instance, configapi=api)
basename = os.path.basename(filename)