Skip to content

Allow multi-argument commands to start up shfmt #1385

Description

@kylechui

What is the problem this feature will solve?

I have a wrapper executable around shfmt that requires multiple arguments to be passed to it, e.g. /path/to/formatter --shfmt. To my understanding, the current LSP setting only accepts a string and not a list of strings for running the formatter, so the command will probably fail with Command '/path/to/formatter --shfmt' not found or something like that.

What is the feature you are proposing to solve the problem?

It would be nice if the LSP setting accepted a list of strings (with the current string type getting "promoted" to a singleton list), so I could have my setting be: [ "/path/to/formatter", "--shfmt" ]. Then in the language server, -- could be appended first, before all of the other shfmt-specific flags that are controlled by the other LSP settings.

I haven't tested this, but I imagine if the user provided -- themselves, then maybe they could provide their own set of shfmt flags themselves? And so the language server wouldn't need to create a new option for every format option that exists.

What alternatives have you considered?

Running a regular version of shfmt, but the version may differ from what's in my wrapper script.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions