Back to Extensions Directory
Read the complete README
coc-sh
Josa Gesellsh extension for coc
Installation CommandVim prompt
:CocInstall coc-sh
GitHub owner
Josa GesellVersion
v1.2.4npm package
coc-shRequirements
coc ^0.0.82
License
MIT
Repository
GitHubnpm latest published 2024-06-11Registry checked 2026-08-23Node >=16Registry summary
Published Package Summary
coc-sh
SH language server extension using bash-language-server
for coc.nvim.
Install
In your vim/neovim, run command:
:CocInstall coc-sh
Features
Development
- Run
npm run buildornpm run build:watch - Link extension:
npm run link/npm run unlink
License
- sh extension for coc
Activation Events
- onLanguage:sh
- onCommand:sh.version
Developer Resources
Want to build, test, or contribute to coc.nvim extensions? Explore our official SDK and testing toolkits.
Open Developer GuideVersion History
This published npm package does not include a history.md or changelog.md file. Browse its npm versions or repository releases for available release information.
Contributed Commands
All contributes.commands entries from the published package manifest for coc-sh@1.2.4.
| Command (:CocCommand) | Description |
|---|---|
| sh.version | Print extension version |
Configuration Schema
All contributes.configuration entries from the published package manifest, including each raw property schema for coc-settings.json.
sh.enableboolean
Default: true
Raw JSON Schema
{
"type": "boolean",
"default": true
}sh.commandPathstring
Raw JSON Schema
{
"type": "string"
}bashIde.logLevelstring
Controls the log level of the language server.
Default: "info"
Raw JSON Schema
{
"enum": [
"debug",
"info",
"warning",
"error"
],
"type": "string",
"default": "info",
"description": "Controls the log level of the language server."
}bashIde.shfmt.pathstring
Controls the executable used for Shfmt formatting. An empty string will disable formatting.
Default: "shfmt"
Raw JSON Schema
{
"type": "string",
"default": "shfmt",
"description": "Controls the executable used for Shfmt formatting. An empty string will disable formatting."
}bashIde.globPatternstring
Glob pattern for finding and parsing shell script files in the workspace. Used by the background analysis features across files.
Default: "**/*@(.sh|.inc|.bash|.command)"
Raw JSON Schema
{
"type": "string",
"default": "**/*@(.sh|.inc|.bash|.command)",
"description": "Glob pattern for finding and parsing shell script files in the workspace. Used by the background analysis features across files."
}bashIde.shellcheckPathstring
Controls the executable used for ShellCheck linting information. An empty string will disable linting.
Default: "shellcheck"
Raw JSON Schema
{
"type": "string",
"default": "shellcheck",
"description": "Controls the executable used for ShellCheck linting information. An empty string will disable linting."
}bashIde.shfmt.caseIndentboolean
Indent patterns in case statements.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Indent patterns in case statements."
}bashIde.shfmt.keepPaddingboolean
**([Deprecated](https://github.com/mvdan/sh/issues/658))** Keep column alignment padding.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "(Deprecated) Keep column alignment padding.",
"markdownDescription": "**([Deprecated](https://github.com/mvdan/sh/issues/658))** Keep column alignment padding."
}bashIde.shfmt.funcNextLineboolean
Place function opening braces on a separate line.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Place function opening braces on a separate line."
}bashIde.shfmt.simplifyCodeboolean
Simplify code before formatting.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Simplify code before formatting."
}bashIde.shellcheckArgumentsstring
Additional ShellCheck arguments. Note that we already add the following arguments: --shell, --format, --external-sources.
Default: ""
Raw JSON Schema
{
"type": "string",
"default": "",
"description": "Additional ShellCheck arguments. Note that we already add the following arguments: --shell, --format, --external-sources."
}bashIde.explainshellEndpointstring
Configure explainshell server endpoint in order to get hover documentation on flags and options.
Default: ""
Raw JSON Schema
{
"type": "string",
"default": "",
"description": "Configure explainshell server endpoint in order to get hover documentation on flags and options."
}bashIde.shfmt.binaryNextLineboolean
Allow boolean operators (like && and ||) to start a line.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Allow boolean operators (like && and ||) to start a line."
}bashIde.shfmt.spaceRedirectsboolean
Follow redirection operators with a space.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Follow redirection operators with a space."
}bashIde.shfmt.languageDialectstring
Language dialect to use when parsing (bash/posix/mksh/bats).
Default: "auto"
Raw JSON Schema
{
"enum": [
"auto",
"bash",
"posix",
"mksh",
"bats"
],
"type": "string",
"default": "auto",
"description": "Language dialect to use when parsing (bash/posix/mksh/bats)."
}bashIde.shfmt.ignoreEditorconfigboolean
Ignore shfmt config options in .editorconfig (always use language server config)
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Ignore shfmt config options in .editorconfig (always use language server config)"
}bashIde.backgroundAnalysisMaxFilesnumber
Maximum number of files to analyze in the background. Set to 0 to disable background analysis.
Default: 500
Raw JSON Schema
{
"type": "number",
"default": 500,
"minimum": 0,
"description": "Maximum number of files to analyze in the background. Set to 0 to disable background analysis."
}bashIde.includeAllWorkspaceSymbolsboolean
Controls how symbols (e.g. variables and functions) are included and used for completion, documentation, and renaming. If false (default and recommended), then we only include symbols from sourced files (i.e. using non dynamic statements like 'source file.sh' or '. file.sh' or following ShellCheck directives). If true, then all symbols from the workspace are included.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Controls how symbols (e.g. variables and functions) are included and used for completion, documentation, and renaming. If false (default and recommended), then we only include symbols from sourced files (i.e. using non dynamic statements like 'source file.sh' or '. file.sh' or following ShellCheck directives). If true, then all symbols from the workspace are included."
}bashIde.enableSourceErrorDiagnosticsboolean
Enable diagnostics for source errors. Ignored if includeAllWorkspaceSymbols is true.
Default: false
Raw JSON Schema
{
"type": "boolean",
"default": false,
"description": "Enable diagnostics for source errors. Ignored if includeAllWorkspaceSymbols is true."
}