A language server for the POSIX.1-2024 Shell Command Language.
Requires Node.js 22 or later.
npm install --global @inknexlab/sh-language-serverDiagnostics use ShellCheck and formatting uses shfmt. Install both separately; if either executable is unavailable, only the corresponding feature is unavailable.
- Completion
- Diagnostics
- Formatting
- Hover
- Semantic tokens
Register the server for sh-mode with Eglot:
(require 'eglot)
(add-to-list 'eglot-server-programs
'(sh-mode . ("sh-language-server" "--stdio")))Uses the POSIX CST from tree-sitter-posix-sh for parsing.