{
    "haskell.plugin.alternateNumberFormat.globalOn": {
        "default": true,
        "description": "Enables alternateNumberFormat plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.cabal.codeActionsOn": {
        "default": true,
        "description": "Enables cabal code actions",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.cabal.completionOn": {
        "default": true,
        "description": "Enables cabal completions",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.cabal.diagnosticsOn": {
        "default": true,
        "description": "Enables cabal diagnostics",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.callHierarchy.globalOn": {
        "default": true,
        "description": "Enables callHierarchy plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.changeTypeSignature.globalOn": {
        "default": true,
        "description": "Enables changeTypeSignature plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.class.codeActionsOn": {
        "default": true,
        "description": "Enables class code actions",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.class.codeLensOn": {
        "default": true,
        "description": "Enables class code lenses",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.eval.config.diff": {
        "default": true,
        "markdownDescription": "Enable the diff output (WAS/NOW) of eval lenses",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.eval.config.exception": {
        "default": false,
        "markdownDescription": "Enable marking exceptions with `*** Exception:` similarly to doctest and GHCi.",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.eval.globalOn": {
        "default": true,
        "description": "Enables eval plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.explicit-fields.globalOn": {
        "default": true,
        "description": "Enables explicit-fields plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.explicit-fixity.globalOn": {
        "default": true,
        "description": "Enables explicit-fixity plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.fourmolu.config.external": {
        "default": false,
        "markdownDescription": "Call out to an external \"fourmolu\" executable, rather than using the bundled library.",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.fourmolu.config.path": {
        "default": "fourmolu",
        "markdownDescription": "Set path to executable (for \"external\" mode).",
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.gadt.globalOn": {
        "default": true,
        "description": "Enables gadt plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-code-actions-bindings.globalOn": {
        "default": true,
        "description": "Enables ghcide-code-actions-bindings plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-code-actions-fill-holes.globalOn": {
        "default": true,
        "description": "Enables ghcide-code-actions-fill-holes plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-code-actions-imports-exports.globalOn": {
        "default": true,
        "description": "Enables ghcide-code-actions-imports-exports plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-code-actions-type-signatures.globalOn": {
        "default": true,
        "description": "Enables ghcide-code-actions-type-signatures plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-completions.config.autoExtendOn": {
        "default": true,
        "markdownDescription": "Extends the import list automatically when completing a out-of-scope identifier",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-completions.config.snippetsOn": {
        "default": true,
        "markdownDescription": "Inserts snippets when using code completions",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-completions.globalOn": {
        "default": true,
        "description": "Enables ghcide-completions plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-hover-and-symbols.hoverOn": {
        "default": true,
        "description": "Enables ghcide-hover-and-symbols hover",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-hover-and-symbols.symbolsOn": {
        "default": true,
        "description": "Enables ghcide-hover-and-symbols symbols",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ghcide-type-lenses.config.mode": {
        "default": "always",
        "description": "Control how type lenses are shown",
        "enum": [
            "always",
            "exported",
            "diagnostics"
        ],
        "enumDescriptions": [
            "Always displays type lenses of global bindings",
            "Only display type lenses of exported global bindings",
            "Follows error messages produced by GHC about missing signatures"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.ghcide-type-lenses.globalOn": {
        "default": true,
        "description": "Enables ghcide-type-lenses plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.hlint.codeActionsOn": {
        "default": true,
        "description": "Enables hlint code actions",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.hlint.config.flags": {
        "default": [],
        "markdownDescription": "Flags used by hlint",
        "scope": "resource",
        "type": "array"
    },
    "haskell.plugin.hlint.diagnosticsOn": {
        "default": true,
        "description": "Enables hlint diagnostics",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.importLens.codeActionsOn": {
        "default": true,
        "description": "Enables importLens code actions",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.importLens.codeLensOn": {
        "default": true,
        "description": "Enables importLens code lenses",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.moduleName.globalOn": {
        "default": true,
        "description": "Enables moduleName plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.ormolu.config.external": {
        "default": false,
        "markdownDescription": "Call out to an external \"ormolu\" executable, rather than using the bundled library",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.overloaded-record-dot.globalOn": {
        "default": true,
        "description": "Enables overloaded-record-dot plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.pragmas-completion.globalOn": {
        "default": true,
        "description": "Enables pragmas-completion plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.pragmas-disable.globalOn": {
        "default": true,
        "description": "Enables pragmas-disable plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.pragmas-suggest.globalOn": {
        "default": true,
        "description": "Enables pragmas-suggest plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.qualifyImportedNames.globalOn": {
        "default": true,
        "description": "Enables qualifyImportedNames plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.rename.config.crossModule": {
        "default": false,
        "markdownDescription": "Enable experimental cross-module renaming",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.rename.globalOn": {
        "default": true,
        "description": "Enables rename plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.retrie.globalOn": {
        "default": true,
        "description": "Enables retrie plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.semanticTokens.config.classMethodToken": {
        "default": "method",
        "description": "LSP semantic token type to use for typeclass methods",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.classToken": {
        "default": "class",
        "description": "LSP semantic token type to use for typeclasses",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.dataConstructorToken": {
        "default": "enumMember",
        "description": "LSP semantic token type to use for data constructors",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.functionToken": {
        "default": "function",
        "description": "LSP semantic token type to use for functions",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.moduleToken": {
        "default": "namespace",
        "description": "LSP semantic token type to use for modules",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.operatorToken": {
        "default": "operator",
        "description": "LSP semantic token type to use for operators",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.patternSynonymToken": {
        "default": "macro",
        "description": "LSP semantic token type to use for pattern synonyms",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.recordFieldToken": {
        "default": "property",
        "description": "LSP semantic token type to use for record fields",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.typeConstructorToken": {
        "default": "enum",
        "description": "LSP semantic token type to use for type constructors",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.typeFamilyToken": {
        "default": "interface",
        "description": "LSP semantic token type to use for type families",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.typeSynonymToken": {
        "default": "type",
        "description": "LSP semantic token type to use for type synonyms",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.typeVariableToken": {
        "default": "typeParameter",
        "description": "LSP semantic token type to use for type variables",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.config.variableToken": {
        "default": "variable",
        "description": "LSP semantic token type to use for variables",
        "enum": [
            "namespace",
            "type",
            "class",
            "enum",
            "interface",
            "struct",
            "typeParameter",
            "parameter",
            "variable",
            "property",
            "enumMember",
            "event",
            "function",
            "method",
            "macro",
            "keyword",
            "modifier",
            "comment",
            "string",
            "number",
            "regexp",
            "operator",
            "decorator"
        ],
        "enumDescriptions": [
            "LSP Semantic Token Type: namespace",
            "LSP Semantic Token Type: type",
            "LSP Semantic Token Type: class",
            "LSP Semantic Token Type: enum",
            "LSP Semantic Token Type: interface",
            "LSP Semantic Token Type: struct",
            "LSP Semantic Token Type: typeParameter",
            "LSP Semantic Token Type: parameter",
            "LSP Semantic Token Type: variable",
            "LSP Semantic Token Type: property",
            "LSP Semantic Token Type: enumMember",
            "LSP Semantic Token Type: event",
            "LSP Semantic Token Type: function",
            "LSP Semantic Token Type: method",
            "LSP Semantic Token Type: macro",
            "LSP Semantic Token Type: keyword",
            "LSP Semantic Token Type: modifier",
            "LSP Semantic Token Type: comment",
            "LSP Semantic Token Type: string",
            "LSP Semantic Token Type: number",
            "LSP Semantic Token Type: regexp",
            "LSP Semantic Token Type: operator",
            "LSP Semantic Token Type: decorator"
        ],
        "scope": "resource",
        "type": "string"
    },
    "haskell.plugin.semanticTokens.globalOn": {
        "default": false,
        "description": "Enables semanticTokens plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.splice.globalOn": {
        "default": true,
        "description": "Enables splice plugin",
        "scope": "resource",
        "type": "boolean"
    }
}
