{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "debug": {
            "type": "boolean"
        },
        "delay": {
            "type": "number"
        },
        "gutter_theme": {
            "type": "string"
        },
        "highlights.time_to_idle": {
            "type": "number"
        },
        "highlights.demote_while_editing": {
            "type": "string",
            "enum": [
                "none",
                "ws_only",
                "some_ws",
                "multilines",
                "warnings",
                "all"
            ]
        },
        "kill_old_processes": {
            "type": "boolean"
        },
        "highlights.demote_scope": {
            "type": "string"
        },
        "highlights.start_hidden": {
            "type": "boolean"
        },
        "lint_mode": {
            "type": "string",
            "enum": [
                "background",
                "load_save",
                "manual",
                "save"
            ]
        },
        "linters": {
            "type": "object",
            "additionalProperties": {
                "type": "object",
                "properties": {
                    "args": {
                        "type": [
                            "array",
                            "string"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "disable": {
                        "type": "boolean"
                    },
                    "env": {
                        "type": "object"
                    },
                    "executable": {
                        "type": [
                            "array",
                            "string"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "excludes": {
                        "type": [
                            "array",
                            "string"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "lint_mode": {
                        "type": "string",
                        "enum": [
                            "background",
                            "load_save",
                            "manual",
                            "save"
                        ]
                    },
                    "selector": {
                        "type": "string"
                    },
                    "working_dir": {
                        "type": "string"
                    },
                    "styles": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "mark_style": {
                                    "type": "string",
                                    "enum": [
                                        "fill",
                                        "outline",
                                        "solid_underline",
                                        "squiggly_underline",
                                        "stippled_underline",
                                        "none"
                                    ]
                                },
                                "priority": {
                                    "type": "integer",
                                    "minimum": 0
                                },
                                "scope": {
                                    "type": "string"
                                },
                                "icon": {
                                    "type": "string"
                                },
                                "types": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "error",
                                            "warning"
                                        ]
                                    },
                                    "minItems": 1,
                                    "_uniqueItems": true
                                },
                                "codes": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    },
                                    "minItems": 1,
                                    "_uniqueItems": true
                                }
                            },
                            "additionalProperties": false
                        }
                    }
                }
            }
        },
        "no_column_highlights_line": {
            "type": "boolean"
        },
        "paths": {
            "type": "object"
        },
        "show_hover_line_report": {
            "type": "boolean"
        },
        "show_hover_region_report": {
            "type": "boolean"
        },
        "show_marks_in_minimap": {
            "type": "boolean"
        },
        "show_panel_on_save": {
            "type": "string",
            "enum": [
                "never",
                "view",
                "window"
            ]
        },
        "syntax_map": {
            "type": "object"
        },
        "statusbar.counters_template": {
            "type": "string"
        },
        "statusbar.messages_template": {
            "type": "string"
        },
        "statusbar.show_active_linters": {
            "type": "boolean"
        },
        "styles": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "mark_style": {
                        "type": "string",
                        "enum": [
                            "fill",
                            "outline",
                            "solid_underline",
                            "squiggly_underline",
                            "stippled_underline",
                            "none"
                        ]
                    },
                    "priority": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "scope": {
                        "type": "string",
                        "examples": [
                            "region.redish",
                            "region.orangish",
                            "region.yellowish",
                            "region.greenish",
                            "region.bluish",
                            "region.purplish",
                            "region.pinkish",
                            "markup.warning",
                            "markup.error"
                        ]
                    },
                    "icon": {
                        "type": "string"
                    },
                    "types": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "error",
                                "warning"
                            ]
                        },
                        "minItems": 1,
                        "_uniqueItems": true
                    }
                },
                "additionalProperties": false
            }
        },
        "xperiments": {
            "additionalProperties": true
        }
    },
    "additionalProperties": false
}