Skip to content

haskell.manageHLS = "PATH" ignored on initial startup #1332

@LCamel

Description

@LCamel

Your environment

MacOS

Steps to reproduce

run vscode with

code --user-data-dir {empty_dir} --extensions-dir {empty_dir} .

with devcontainer.json having

      "settings": {
        "haskell.manageHLS": "PATH",

Expected behaviour

The "How do you want the extension to manage/discover HLS and the relevant toolchain?" popup window should not appear.

Actual behaviour

The popup window will appear.

Include debug information

According to:

if (manageHlsSetting !== 'GHCup' && (!context.globalState.get('pluginInitialized') as boolean | null)) {

async function promptUserForManagingHls(context: ExtensionContext, manageHlsSetting: ManageHLS): Promise<ManageHLS> {
  if (manageHlsSetting !== 'GHCup' && (!context.globalState.get('pluginInitialized') as boolean | null)) {
    const promptMessage = `How do you want the extension to manage/discover HLS and the relevant toolchain?

    Choose "Automatically" if you're in doubt.
    `;

I have set manageHlsSetting to "PATH" in the devcontainer.json.
It does not equal to "GHCup", so the first part of the condition is true.
The plugin has not been initialized, so the second part of the condition is also true.
Hence the popup window will appear.

Workaround:
Set manageHlsSetting to "GHCup" in the devcontainer.json,
and set all the keys in "haskell.toolchain" to null to mimic the "PATH" behavior.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions