Products: IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE, CLion

Vendor: Joachim Ansorg



Source code:


Bugtracker page

Bash 4 support for IntelliJ. Supports syntax highlighting, rename refactoring, documentation lookup, inspections, quickfixes and much more.

Downloads: 1322599
Participated in rating: 36
Version Compatible builds Date 142.2491 — 142.* 19.06.2015 Download
1.4.0_build141 141 — 141.* 05.03.2015 Download
1.4.0_build140 140 — 140.* 05.03.2015 Download
1.4.0_build139 139 — 139.* 05.03.2015 Download
1.4.0_idea13 135 — 137.* 05.03.2015 Download
1.3.4 139 — 140.* 05.02.2015 Download
1.2 138.1980 — 138.* 13.09.2014 Download
1.2 134 — 137.* 13.09.2014 Download
1.1beta24-idea_138 138.379 — 138.* 30.05.2014 Download
1.1beta24-idea_138 138 — 138.* 29.05.2014 Download
1.1beta20 125 — 129.* 28.11.2013 Download
1.1beta20-idea13 133 — 133.* 28.11.2013 Download
1.1beta19-idea13 132 — 133.* 10.10.2013 Download
1.1beta19-idea13 130.1486 — 131.* 15.08.2013 Download
1.1beta19-idea12.0 123 — 123.* 15.08.2013 Download
1.1beta18 121 — 129.* 10.08.2013 Download
1.1beta16 121 — 130.* 13.05.2013 Download
1.1beta8 117.84 — 119.* 28.03.2012 Download
1.1beta7 111 — 117.* 16.02.2012 Download
1.1beta1 110.291 — 110.* 10.11.2011 Download
1.0 107.100 — 109.* 19.05.2011 Download
0.9.23 103.72 — 107.* 11.04.2011 Download
0.9.21 99.18 — 107.* 24.03.2011 Download
0.9.15 97 — 97.* 06.02.2011 Download
0.9.15 95.429 — 95.* 06.02.2011 Download
0.9.3 81.9100 — 85.* 07.08.2009 Download
29 updates are hidden show all updates
Screenshot #14087

Recent change notes

Changes in version 1.5.0:
  • Beta release for INtelliJ 15 EAP.
  • References to other Bash script files will now be renamed if the filename is changed
  • Fixed renaming of filenames in unevaluated strings, e.g. 'file.bash'
  • New Bash files are now created from a template. If you want to customize the default script you can modify the template "Bash Script" in the IntelliJ settings.
  • #223: Update failed for AnAction with ID=Bash.NewBashScript: Already disposed
  • Fixed renaming of Bash files, IntelliJ had a feature for all files to turn off search for references. This is now disabled for Bash files. References are always changed if a Bash file is renamed.
  • Fixed Bash file renaming, file references to Bash files are changed now
  • No keyword completions while typing in a Bash comment
  • No live template completions while typing in a Bash comment
  • Bash version 4 support is now enabled by default
  • Moved README.txt to
Changes in version 1.4.0:
  • Fixed the "Run before" steps of a Bash run configuration
  • The template Bash run configuration has no default "make" run before step now
  • Added basic Bash live templates: if, ife, ifee, while, until, case, cap, cap2, cap3
  • Added live template context for Bash files
  • The special /usr/bin/env command is now supported by the shebang inspection
  • No keyword autocompletion in a variable context
  • Fixed parsing of a file containg a $ as last character
  • Fixed autocomplete in eval and trap commands
  • Parser performance improved (pool for internal marker objects added)
  • Possible fix for a stack overflow in the parser (not reproducible here, though)
  • #193: Variables in arithmetic base expressions were not supported
  • #194: $(( 8#9 )) threw an exception about an invalid base 8 for the value 9. A warning is now displayed in the editor instead.
  • #190: Fixed UOE error in the "register as global variable" quickfix
  • #179: Fixed NPE in FileInclusionManager
  • #152: Guard to prevent endless recursions
  • #192: Fixed NPE in highlighting of arithmetic expressions
  • #170: Keywords like "fi", "if", "while", "done" were not offered in the list of autocompletion suggestions
  • Fixed autocompletion at the end of a string, e.g. "$a". The string end marker was replaced if tab was pressed.
  • Fixed autocompletion with open strings, e.g. $a\necho "x". The command in the next line was removed if tab was pressed.
  • Fixed autocompletion in curly brackets, e.g. ${}. The right curly bracket was removed if tab was pressed.
  • Fixed missing autocompletion of global variables and built-in commands inside of parameter expansions
  • #184: Single quoted associative array keys parsing error
  • #186: Erroneous warning "Simple use of array variable" when iterating through array
  • NPE fix for FileInclusionManager
Changes in version 1.3.x:
  • Fixed exceptions caused by an invalid implementation of the time command (PsiWhitespace exceptions)
  • Fixed exception "Assertion failed: leaveModal() should be invoked in event-dispatch thread"
  • Fixed NullPointerException in AddShebangInspection.getBatchSuppressActions
  • Escape characters were not accepted in case pattern
  • Fixed "Local variable definition on global level" inspection
  • Fixed case expressions followed by a backtick character
  • Small performance and memory improvement in the Bash file lexer
  • Fixed run configurations produced for non-Bash files. Run configuration are now only created for Bash files.
  • Fixed IndexNotReadyException
  • Fixed UnsupportedOperationException which occurred after a new plain text file without extension was created.
  • Fixed the message displayed on startup
  • I invite all happy users of BashSupport to chip in by sending us a wedding gift: make a small donation here
  • Major work on the run configuration: Ansi colors supported, reuse of default components, bugs fixed
  • Enabled and fixed the custom error reporting dialog
  • Creating new Bash run configurations now picks up the shell path and shell options of the file's shebang line
  • Disabled debug button for Bash run configuration
  • #166: Support for ToDo-Strings in Bash comments
  • Added characters +#_ to the filename characters
  • Fixed NPE BashPathCommandCompletion which occurred at startup of the latest IntelliJ IDEA EAP
  • Fixed QuickFix implementations to not reference PSI element, reduces memory consumption
  • The inspection "Add missing shebang..." can now be suppressed. A comment will be added to the file to suppress it.
  • Fixed NPE which occurred with unclosed subshell expressions
Changes in version 1.2.x:
  • Fixed invalid warnings about unused paramters in ${*} and ${@}
  • Support for the getopts command
  • Support for process substitution redirects, e.g. <(command)
  • [Issue 145]: Functions defined in include files are now properly found if included on global level
  • Fixed parsing of optional array variables used in the read command
  • Array type of a variable is inferred by typeset -a now, too
  • Added support to detect illegal use of readonly variables declared by typeset -r or declare -r
  • Fixed autocompletion of built-in variables
  • Added missing implementation of the time command PSI element
Recent changes:
  • Finally fixed exception with isDirectory
  • Fixed exception with isDirectory in some versions of IntelliJ
  • Fixed stack overflow exception which occurred in IDEA IntelliJ 13.1.1
  • Removed custom logging configuration to fix global plattform debug output
  • Parsing performance improved, especially for large scripts
  • Support for the typeset command
  • Initial support for the trap command
  • Initial support for the eval command
  • "Replace with ${var}" is not suggested inside of arithmetic expressions any more
  • Improved color scheme definitions, looks better with Darcula
  • Improved performance (variable resolving)
  • Assignments which non-static variable names are not suggested with autocomplete (e.g. "$a"=a)
  • Better looking with themes now
  • Fixed highlighting of redirects
  • Fixed highlighting of keywords used as plain text / word (the unwanted highlighting is removed).
  • Fixed shebang command inspection, settings a properly saved now
  • Added quickfix "Register as valid shebang command" for the shebang command inspection
  • Changed default highlighting level of "Unresolved variable" inspection from error to warning
  • "Simple variable use" is not added to variables which are wrapped by a string
  • "Simple array variable use" is not added to variables which are wrapped by a string
  • $@ is now taken as function parameter use, i.e. a call of a function using $@ does not lead to unused parameter warnings
  • Improved parsing of let commands (still incomplete)
  • Improved parsing of variables named like internal bash keywords
  • Improved performance for large script files (implemented caching references for variables, variable definitions and function definitions)
  • Escape chars were used in single quoted strings, but Bash does not allow escaped characters there
  • Fixed parsing of string as case pattern
  • Fixed parsing of ;;& in Bash 3 parsing mode
  • Autocompletion of commands using the user's $PATH environment. Autocompletion shows on second completion invocation.
  • Setting to disable autocompletion of commands using $PATH
  • Fixed flashing gutter icons
  • Improved parsing of parameter expansion (i.e. the parsing of the / operator)
  • Added parsing of history expansions
  • Fixed parsing of single ! tokens
  • Fix to allow umlaut characters in command names and arguments.

General usage instructions

Github project: