Skip to content

Documenting the new generic config for plugins #1433

Closed
@jneira

Description

@jneira
{
    "haskell": {
        "plugin" : {
            "importLens" : {
                "globalOn" : false,
                "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "hlint" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "eval" : {
                "globalOn" : false,
                "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "moduleName" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "splice" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "haddockComments" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "class" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "retrie" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "tactic" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": { 
                      "features": "not exposed?",
                      "max_use_ctor_actions": "Int"
                 }
            },
            "pragmas" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "ghcide-hover-and-symbols" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "ghcide-code-actions" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "ghcide-completions" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {}
            },
            "ghcide-type-lenses" : {
                "globalOn" : false,
                 "codeActionsOn" : false,
                "codeLensOn" : false,
                "diagnosticsOn" :false,
                "hoverOn" :false,
                "symbolsOn"  :false,
                "formattingOn" :false,
                "completionOn" :false,
                "renameOn" :false,
                "config": {
                    "mode": "Always | Exported | Diagnostics"
                }
            }
        }
    }
}
  • Not all plugins provide all features so we should cut down them
  • We should mention that existing configuration is deprecated cause is already covered by the generic one (hlintOn)
  • I think tactic plugin already have a dedicated configuration under config (@isovector)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions