{"repo":"bash-lsp/bash-language-server","free":true,"listed":false,"github":"https://github.com/bash-lsp/bash-language-server","clone":"git clone https://github.com/bash-lsp/bash-language-server.git","description":"A language server for Bash","language":"TypeScript","stars":2769,"topics":["language-server","bash"],"license":"MIT","category":"dev-tools","readme_excerpt":"Bash Language Server Bash language server that brings an IDE-like experience for bash scripts to most editors. This is based on the [Tree Sitter parser][tree-sitter-bash] and supports [explainshell][explainshell], [shellcheck][shellcheck] and [shfmt][shfmt]. Documentation around configuration variables can be found in the config.ts file. Features - Jump to declaration - Find references - Code Outline & Show Symbols - Highlight occurrences - Code completion - Simple diagnostics reporting - Documentation for symbols on hover - Workspace symbols - Rename symbol - Format document To be implemented: - Better jump to declaration and find references based on scope Installation Dependencies As a dependency, we recommend that you first install [shellcheck][shellcheck] to enable linting: https://github.com/koalaman/shellcheck#installing . If shellcheck is installed, bash-language-server will automatically call it to provide linting and code analysis each time the file is updated (with debounce time of 500ms). If you want your shell scripts to be formatted consistently, you can install [shfmt][shfmt]. If shfmt is installed then your documents will be formatted whenever you take the 'format document' action. In most editors this can be configured to happen automatically when files are saved. Bash language server Usually you want to install a client for your editor (see the section below). But if you want to install the server binary (for examples for editors, like helix, where a generic ","default_branch":null,"files":null,"tree":[],"storefront":"/r/bash-lsp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bash-lsp/bash-language-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}