aboutsummaryrefslogtreecommitdiff
path: root/src/shared/settings/schema.json
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2019-12-03 10:02:37 +0000
committerGitHub <noreply@github.com>2019-12-03 10:02:37 +0000
commit3c7230c3036e8bb2b2e9a752be9b0ef4a0a7349d (patch)
tree8c1bb889656f06ee6bc018ae053cf35e12613dfb /src/shared/settings/schema.json
parentfeac179504a9276ad2e841702bf3fc1d89251679 (diff)
parent5205da572980f24d1632d0fa7df85124322ca960 (diff)
Merge pull request #684 from ueokande/jsonschema-settings
Parse settings by JSON Schema
Diffstat (limited to 'src/shared/settings/schema.json')
-rw-r--r--src/shared/settings/schema.json84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/shared/settings/schema.json b/src/shared/settings/schema.json
new file mode 100644
index 0000000..31d47f1
--- /dev/null
+++ b/src/shared/settings/schema.json
@@ -0,0 +1,84 @@
+{
+ "type": "object",
+ "properties": {
+ "keymaps": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ }
+ }
+ },
+ "search": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "string"
+ },
+ "engines": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "required": [
+ "default",
+ "engines"
+ ]
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "hintchars": {
+ "type": "string"
+ },
+ "smoothscroll": {
+ "type": "boolean"
+ },
+ "complete": {
+ "type": "string"
+ }
+ }
+ },
+ "blacklist": {
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "keys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "url",
+ "keys"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "additionalProperties": false
+}