3 740 811
Bash language support for the IntelliJ platform.
Supports syntax highlighting, rename refactoring, documentation lookup, inspections, quickfixes and much more.
Recent change notes
Changes in version 1.6.9:
Changes in version 1.6.8:
- #432: Unexpected token on correct line with here-string
- #427: Wrong autoformatting for wrapped heredoc
- #418: Fix to parsed structure of variable assignment lists
Changes in version 1.6.7:
- #431: The arithmetic bitwise assignments are now correctly parsed.
- #426: Fixed parsing of arithmetic operators "^", "^^", "," ",,"
- #426: (Very) basic support to parse patterns in arithmetic expressions
- #424: Error displaying the folding elements in the HERE-document when there are variables in the text
- #420: Assignment chains in arithmetic expressions have to static replacement values (an exception was thrown for $((a=1,b=2,=3)), for example)
- #419: Parsing error with double-pipe in subshell contained in list parenthesis
Changes in version 1.6.6:
- #413: Fix variable and function resolving in files which are outside of a module content root
- #409: Jump to function def does not work in language injected string literals
- #408: All variables in injected language chunks are flagged as unresolved
Changes in version 1.6.5:
- #391/#358: Removed maximum levels of chained comamnds in the parser
Changes in version 1.6.4:
- #398: Error updating LexerEditorHighlighter, resulted in many error while working in a Bash script.
- #399: Potential fix for java.lang.NoClassDefFoundError: BashIcons
Changes in version 1.6.3:
- Sorry for the many releases!
- #397: Tokens after a here string start were not always detected properly
- Index version increased to avoid PSI index exceptions
Changes in version 1.6.2:
- #395: Hotfix to make BashSupport work again with scripts containing errors
- #396: Check for working directory only if the module is valid
Changes in version 1.6.1:
- Increase stub index version to handle index vs. psi exceptions
- Improved parsing to be more error resistant, functions and commands which contain faulty code will now be recognized more often
- Handle line continuations in case pattern lists
Changes in version 1.6.0:
- #361: Added support for the mapfile and readarray Bash builtin comamnds
- #349: Support unicode characters in scripts, warn about invalid identifiers which include illegal characters
- #392: Reformatting changes code in eval strings and redirect tokens
- #388: Reformatting heredocs changes content
- #350: Redirection in eval statement is flagged as error
- #245: No possibly incorrect warnings about unused parameters if shift is used in the function inside of a loop.
- #391: New inspection to highlighting unresolved, but globally registered variables (to have a separate highlighting level and inspection description)
- #393: Update JFlex to the latest version
- #357: Added a potential fix for the problem
- Compatible with builds >= 162.x, dropped support for builds 135.x to 161.x (Sorry! I'm unable to maintain 5 more branches.)
- #389: Files with line continuations were not parsed properly and may break the whole project (might have broken your project!)
- #377: NPE in UnregisterGlobalVariableQuickfix
- #367: Fixed parsing of redirects in subshells inside of conditional commands, e.g. [[ $(< $1) ]]
- #367: Fixed parsing of here-strings, e.g. "tr [:lower:] [:upper:] <<< [abc]"
- #379: Undo "Register Global Variable" doesn't work
- #368: Added debugging messages for arithmetic expressions
- #383: Handle division by zero in arithmetic expressions and show a warning in the code
- #388: References for files are now searched in the module content scope and not in the module scope.
- Added support for the ## parameter expansion operator
- #351: Added debug message for further diagnosis
General usage instructions
Github project: https://github.com/jansorg/BashSupport