{
    "haskell.plugin.alternateNumberFormat.globalOn": {
        "default": true,
        "description": "Enables alternateNumberFormat plugin",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.cabal-fmt.config.path": {
        "default": "cabal-fmt",
        "markdownDescription": "Set path to 'cabal-fmt' executable",
        "scope": "resource",
        "type": "string"
    },
    "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.cabal.hoverOn": {
        "default": true,
        "description": "Enables cabal hover",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.cabal.symbolsOn": {
        "default": true,
        "description": "Enables cabal symbols",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.cabalHaskellIntegration.globalOn": {
        "default": true,
        "description": "Enables cabalHaskellIntegration plugin",
        "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.codeActionsOn": {
        "default": true,
        "description": "Enables explicit-fields code actions",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.explicit-fields.inlayHintsOn": {
        "default": true,
        "description": "Enables explicit-fields inlay hints",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.explicit-fixity.globalOn": {
        "default": true,
        "description": "Enables explicit-fixity 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.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.importLens.inlayHintsOn": {
        "default": true,
        "description": "Enables importLens inlay hints",
        "scope": "resource",
        "type": "boolean"
    },
    "haskell.plugin.moduleName.globalOn": {
        "default": true,
        "description": "Enables moduleName plugin",
        "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.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"
    }
}
