bash-lsp / bash-language-server

A language server for Bash

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

shellcheck's directive for shell is not working

moonfruit opened this issue · comments

Code editor

Any

Platform

Any

Version

5.1.2

What steps will reproduce the bug?

bash-language-server makes shellcheck's directive for shell not working because of this:

const args = [
`--shell=${shellName}`,
'--format=json1',
'--external-sources',
...sourcePathsArgs,
...additionalArgs,
]

For example, shellcheck will not report any errors for this script:

#!/bin/sh
# shellcheck shell=bash
echo -e "test"

But shellcheck --shell test.sh will produce:

$ shellcheck --shell sh test.sh
In test.sh line 3:
echo -e "test"
     ^-- SC3037 (warning): In POSIX sh, echo flags are undefined.

For more information:
  https://www.shellcheck.net/wiki/SC3037 -- In POSIX sh, echo flags are undef...

How often does it reproduce? Is there a required condition?

Every time.

What is the expected behavior?

shellcheck's directive for shell will work fine, whether it's defined in .shellcheckrc or in a script.

What do you see instead?

shellcheck's directive for shell is not working.

Additional information

No response