- Include 30 snippets for language constructs (e.g.
if
), builtins (e.g.test
), expansions (e.g.[##]
), and external programs (e.g.sed
) #683
- Improve source command parser and include diagnostics when parser fails #673
- Fix
onHover
bug where sourced symbols on the same line as a reference would hide documentation #673
- Improved CLI output #672
- Add centralized and configurable logger that can be controlled using the
BASH_IDE_LOG_LEVEL
environment variable and workspace configuration. #669
- Fix a critical bug causing memory leaks and high CPU usage for workspaces with many files #661
- Increase ShellCheck execution delay to 500ms after typing ends.
- Simpler debouncing for ShellCheck tasks where only the last request will return diagnostics #656
- Reduce CPU usage by introduce a short execution delay and throttling for ShellCheck tasks #655
- Add support for resolving loop variables #653
- Improve heuristic for resolving variables by taking the scope into account, both locally and when sourcing files. #649
- Support client responding with
null
forworkspace/configuration
. #650
- Correctly parse environment variable
BACKGROUND_ANALYSIS_MAX_FILES
, although clients should migrate to the new configuration system (see info in the 4.0.1 release). #640
- Correct ShellCheck
source-path
argument to support following sources based on the local folder of the file and the workspace root.
- Background analysis: handle workspace root being a URL #625
- Shell documentation: add
--noprofile --norc
to avoid config files breaking formatting #626
- Symbols across files are now only included based on sourced files (using non dynamic statements like
source file.sh
or. ~/file.inc
) instead of including symbols from all files in the workspace. We now also support jump-to-definition on the file path used in a source command. The new behavior can be disabled by turning on theincludeAllWorkspaceSymbols
configuration option. #244
- Breaking: Drop support for Node 12, which reached its official end of life on April 30th 2022. Doing so enables new features. #584
- ShellCheck: support code actions, remove duplicated error codes, add URLs and tags, support parsing dialects (sh, bash, dash, ksh) but still fallback to bash, enable configuring ShellCheck arguments using the
shellcheckArguments
configuration parameter (legacy environment variable:SHELLCHECK_ARGUMENTS
) - Support workspace configuration instead of environment variables which enables updating configuration without reloading the server. We still support environment variables, but clients should migrate to the new workspace configuration. #599
- Allow disabling background analysis by setting
backgroundAnalysisMaxFiles: 0
.
- Fix missing documentation for some help pages #577
- Performant globbing and background analysis that should fix the server crashing for large workspaces. We currently limit the files parsed to 500, but can be configured using the
BACKGROUND_ANALYSIS_MAX_FILES
environment variable #569 - Enable ShellCheck integration to be disabled from the configuration. The default configuration used should be "shellcheck". #571
- Support more bash shebangs when doing background analysis #568
- Fix auto detection for path of shellcheck.exe on Windows #563
- Get rid of deprecated dependencies for the explainshell integration #564
- Fix shebang parser that ignores some bash files #560
- Dependency upgrades
- Default to shellcheck binary found on path #555
- Dependency upgrades
- Improve ShellCheck robustness for files without shebang #536
- Bunch of dependency upgrades
- Better completion kind #466
- Fix Shellcheck issue when using vim-lsp #443
- Fix Windows support for analyzer #433
- Workaround for emscripten node 18 support #404
- Fix analyzer not being called when getHighlightParsingError is off #396
- Upgrade web-tree-sitter to fix node 18 issue #394
- Linting based on shellcheck (#342)
- BREAKING: Drop node 11 support (ton of dependencies upgraded).
- Fix failing to get options if bash-completion<=2.9 (#340)
- onHover now supports for multiline code comments (#348)
- Dependency upgrades
- BREAKING: Drop node 10 support
- Upgrade dependencies
- Adds support for completing command line arguments (#294)
- Default configuration change: parsing errors are not highlighted as problems (as the grammar is buggy)
- Improved completion handler for parameter expansions (#237)
- onHover and onCompletion documentation improvements (#230)
- support 0/1 as values for
HIGHLIGHT_PARSING_ERRORS
(#231)
- Upgrade
vscode-languageserver
from 5 to 6 (#217)
- Completion handler improvements: remove duplicates, include symbols from other files, ensure that programs found on the paths are actually executable (#215)
- Recover from file reading errors (#211)
- Fix invalid documentHighlight response when word cannot be found (#209)
- Workspace symbols are resolved using fuzzy search (not just starting with it)
- Support for workspace symbols (#195)
- Improved completion handler and support auto-completion and documentation for bash reserved words (#192)
- Upgrade tree-sitter
- Skip analyzing files with a non-bash shebang
- Extend file glob used for pre-analyzing files from
**/*.sh
to**/*@(.sh|.inc|.bash|.command)
- Make file glob configurable with
GLOB_PATTERN
environment variable
- Add PATH tilde expansion
- Builtins and man pages formatting
- Expose TypeScript typings from server
- Update vscode-languageserver dependency
- Switch to tree-sitter-wasm instead of tree-sitter (native bindings) to support node 12 and to ease installation (#147)
- Upgrade
tree-sitter
from0.13.5
to0.13.22
- Upgrade
tree-sitter-bash
from0.13.3
to0.13.7
- Fix explain shell configuration issue (#80)
- Support for showing warning for missing nodes
- Upgrade
tree-sitter-bash
to0.13.3
- Upgrade
tree-sitter
to0.13.5
andtree-sitter-bash
to0.13.2
- Upgrade
tree-sitter
andtree-sitter-bash
- Fixed build issue with 1.5.0
- Upgrade
tree-sitter
andtree-sitter-bash
- It's now possible to disable error reporting by setting the environment variable
HIGHLIGHT_PARSING_ERRORS
tofalse
.
- Add support for explainshell implemented by @chrismwendt #45
- Prefer explainshell output if it's enabled by @maximbaz #58
- More reliable NPM command execution on Windows #40
-
Improved completions by adding support for
-
Implemented the
onHover
message that now shows documentation for programs and builtins when you hover your cursor over words in the document. #17 #33 -
Improved outline hierarchy #31
-
Upgraded tree-sitter bash and other libraries. #28
Update tree-sitter
to 0.10.0
and tree-sitter-bash
to 0.6.0
. This
improves the Bash parser. There are still known parsing issues. For more
information following the progress on this issue over at
tree-sitter/tree-sitter-bash#9