Florian Bruhin
abbd69f604
Implement deleting/renaming values in configdata.yml
...
This is needed for #3077 , but also is used for the deletion in #2847 now.
See #2772 .
2017-10-11 07:13:51 +02:00
Florian Bruhin
712e4a975a
Add a test to make sure :write-config-py files actually work
2017-10-05 10:48:14 +02:00
Florian Bruhin
ade0e1bd0b
Finish ConfigPyWriter and tests
2017-10-05 10:21:31 +02:00
Florian Bruhin
37fa7a0d3e
Fix casing in test name
2017-10-04 08:47:33 +02:00
Florian Bruhin
208b4d1cbc
Make configfiles.YamlConfig iteration deterministic
2017-10-04 08:47:10 +02:00
Florian Bruhin
22088d9f7b
Remove --force for :bind and config.bind(...)
...
Turns out --force is just in the way for most people, and at least for default
bindings it's easy to reset them.
Also, it makes :config-source fail when config.py contains keybindings.
Closes #3049
2017-10-03 20:43:38 +02:00
Florian Bruhin
0695cfccfc
Improve some configfile tests
2017-10-03 14:33:33 +02:00
Florian Bruhin
ed8c3f4aa2
Add :config-clear and :config-unset
...
See #2794
2017-10-03 12:45:39 +02:00
Florian Bruhin
a273baf8a0
Make sure :bind/unbind works properly when bindings.commands is None
...
To make this work, we should never return None when trying to get bindings to
modify.
Fixes #3026
2017-10-01 21:43:00 +02:00
Florian Bruhin
38449e3e2b
Make sure the autoconfig.yml is saved periodically
...
Fixes #2982
2017-09-26 06:41:55 +02:00
Florian Bruhin
6aed6bca93
Make loading autoconfig.yml opt-in when a config.py exists
...
This lets the user control the precedence those files should have, and also
simplifies the code quite a bit.
Fixes #2975
2017-09-25 21:24:12 +02:00
Florian Bruhin
40f0f75ad5
Improve error message for duplicate keys in config.py
2017-09-24 19:43:30 +02:00
Florian Bruhin
b8389e4496
Revert "Fix NUL byte error handling on Python 3.4"
...
This reverts commit a7d5a98cc4
.
Not needed anymore now that we dropped support.
2017-09-22 22:30:02 +02:00
Florian Bruhin
7f8ae531aa
Add config.configdir and config.datadir to config API.
...
Fixes #1419
2017-09-22 09:59:46 +02:00
Florian Bruhin
9b22480b07
Raise config.py errors happening in tests
2017-09-22 09:09:45 +02:00
Florian Bruhin
1dbd156c2f
Simplify some config.py tests
2017-09-22 08:53:08 +02:00
Jay Kamat
43ce10efc3
Simplify and reorganize configfile tests
...
Also make save/load of sys.path a little more robust
2017-09-22 02:05:55 -04:00
Jay Kamat
4e22b4666d
Convert save-restore of sys to a context-manager
...
Also improve and simplify tests for save/load of sys.module and sys.path
2017-09-22 02:05:55 -04:00
Jay Kamat
7ddde334da
Add tests for module/path isolation
2017-09-22 02:05:55 -04:00
Florian Bruhin
64b783d9c0
Do not validate commands in the config and with :bind
...
There are just way too many gotchas related to valid modes, aliases, and
circular dependencies when validating aliases/bindings in the config.
Let's just remove this and let invalid commands fail late, when they're actually
used.
2017-09-21 22:30:48 +02:00
Florian Bruhin
691cd2d09b
More test_configfiles cleanups
2017-09-21 20:19:02 +02:00
Florian Bruhin
3e0d49a4b3
Add TestYaml class to test_configfiles
2017-09-21 19:57:54 +02:00
Florian Bruhin
f821fb793a
Initialize configdata in test_configfiles
2017-09-21 19:37:22 +02:00
Florian Bruhin
7cad8f41f2
Remove unknown YAML data from config
...
I considered introducing another list of deleted options (or a "deleted: True"
in configdata.yml), similar to what we had with the old config.
However, let's take the easier route and just delete everything we don't know
from configdata.yml. If someone edits it by hand, it's their fault :P
See #2772 , #2847
2017-09-21 16:29:40 +02:00
Florian Bruhin
9a6de48efa
Break long line
2017-09-21 09:12:25 +02:00
Florian Bruhin
fb33985f07
Merge remote-tracking branch 'origin/pr/2992'
2017-09-21 09:12:03 +02:00
Felix Van der Jeugt
6892705e18
cover setting-saving-loading-getting yaml config
2017-09-20 15:52:42 +02:00
Florian Bruhin
ef1c83862b
Use utils.is_* for platform checks everywhere
2017-09-20 11:10:24 +02:00
Felix Van der Jeugt
285b534384
make changed dirty and save on duplicate write
2017-09-20 10:04:34 +02:00
Ryan Farley
cc540bb166
Merge branch 'master' into mutable-dict
2017-09-19 14:07:46 -05:00
Felix Van der Jeugt
8db630d358
don't copy values but set dirty
2017-09-19 17:26:03 +02:00
Felix Van der Jeugt
7b192d426e
add unit test and fix issues with it
2017-09-19 15:30:28 +02:00
Florian Bruhin
248afde21e
configapi: Also allow mode as posarg
2017-09-19 13:18:44 +02:00
Florian Bruhin
e8ae672c93
Check for read errors in test_configfiles
2017-09-19 13:18:16 +02:00
Florian Bruhin
7d1549aaeb
Make mode optionally in ConfigAPI.bind and .unbind
2017-09-19 13:14:41 +02:00
Florian Bruhin
66e4c3286a
Fix lint
2017-09-17 22:53:32 +02:00
Florian Bruhin
3e0ca5d94d
Stop using objreg for state-config
2017-09-17 21:04:34 +02:00
Ryan Farley
b35a808712
test multiple mutations for config
...
This detects the problem in #2979
2017-09-17 13:24:05 -05:00
Florian Bruhin
a7d5a98cc4
Fix NUL byte error handling on Python 3.4
...
Looks like Python 3.4 raises TypeError and not ValueError...
2017-09-15 22:17:38 +02:00
Florian Bruhin
d901bee88e
Fix test_oserror on older Pythons
2017-09-15 22:17:38 +02:00
Florian Bruhin
42039eee99
Fully remove ConfigAPI.val
2017-09-15 19:01:03 +02:00
Florian Bruhin
2e8419db27
Fix lint
2017-09-15 17:24:39 +02:00
Florian Bruhin
c9625cb311
Add more tests for YAML error handling
2017-09-15 17:21:11 +02:00
Florian Bruhin
e87a782411
Move command-history init to cmdhistory.py
2017-09-15 14:27:15 +02:00
Florian Bruhin
f406e8d9ca
Remove config.val support for config.py
2017-09-15 14:08:37 +02:00
Florian Bruhin
25baf3b97e
Add more tests for config.py error handling
2017-09-15 13:30:09 +02:00
Florian Bruhin
b3734b151b
Handle mutations in config.py correctly
2017-09-14 17:38:33 +02:00
Florian Bruhin
cb806aefa3
Initial config.py support
...
See #2795
2017-09-14 17:38:33 +02:00
Florian Bruhin
5d50ec612d
Disable qsettings subdir test on macOS
...
QSettings uses a plist file there.
2017-09-13 10:21:23 +02:00
Florian Bruhin
0f85898137
Add a config version to the YAML file
2017-07-19 08:22:00 +02:00