4230 BashSupport Languages 48 Joachim Ansorg 4 2835597 wallaby 2016-08-31


Compatible with all products except MPS
2 835 597
Bash language support for IntelliJ.
Supports syntax highlighting, rename refactoring, documentation lookup, inspections, quickfixes and much more.

Download plugin

Recent change notes

Changes in version 1.5.8 compared to 1.5.7:
  • BashSupport development is on hold. I'm unable to continue to ship a high quality plugin with my very limited spare time. Most of the other Top-10 plugins are either made by JetBrains or are commercial offerings. Further development may happen in 2017. Please accept my apologies...
  • Features removed:
    • #333: Marked support for escapes in evaluated code as experimental. A proper fix needs major work on the lexer framework and is currently not fully supported. There is a new experimental setting in the BashSupport settings dialog. Use it at your own risk.
  • Bugs fixed:
    • #310: The parsed now accepts more deeply nested command lists
    • #310: The parsed now accepts more deeply nested command lists
    • #329: "Unexpected Token" Error For Associative Array
    • #343: Exception "isExpectingEvaluatingHeredoc called on an empty marker stack "
    • Parsing for arithmetic expression in evaluating heredocs
Changes in version 1.5.7 compared to 1.5.6:
  • Bugs fixed:
    • #339: Update failed for AnAction with ID=ExternalJavaDoc (ClassCastException)
    • #340: isExpectingEvaluatingHeredoc called on an empty marker stack
    • #341: Exception "The inString stack should not be empty"
    • #342: Exception "Index out of range: -1" at beginning of file
Changes in version 1.5.6 compared to 1.5.5:
  • Bugs fixed:
    • #89: Function expands incorrectly when defined above another function
    • #125: Array element gives "Unexpected token"
    • #310: Workaround for deeply nested structures
    • #320: Array use in arithmetic expressions wasn't working as expected
    • #321: Handle leading tabs before heredoc end markers in heredocs started with the marker
    • #324: Error reporting component is broken
    • #327: Heredoc parser doesn't recognize \$( or \${ construction
    • #330: Variable declarations in eval code now accepts variables on the left side of an assignment
    • #331: NPE in HereDoc parsing
    • #332: NPE in enter processor
    • #333: ClassCastExceptions in ManpageDocSourc
    • #334: Potential fix for the lexing state errors
    • Removed Bash facet, it wasn't used any more. Also, facets are unavailable on the minor platform products.
    • Switched the exception error reporting to use https.
Changes in version 1.5.5 compared to 1.5.4:
  • Bugs fixed:
    • No keyword and live-template autocompletion in command arguments
    • Performance fixes for less latency in the editor
    • Variables and functions can now be resolved in scratch files again
    • #297: File includes with directories or / in the path reference are not working as expected
    • #298: Global variable, when used locally, mistakenly marks readonly error if set readonly within function
    • #300: Variables are not recognized in case
    • #303: Multiline lists not recognised
    • #306: Index access during dumb mode
    • #306: Could not initialize class nu.studer.idea.errorreporting.PluginErrorReportSubmitterBundle
    • #308: Grouping in test commands not properly parsed
    • #312: Newlines are not accepted in parameter expansions
    • #313: More gentle parsing for empty command lists for: for, while, until, if, select.
Changes in version 1.5.4 compared to 1.5.3:
  • Bugs fixed:
    • #299: ClassNotFound exception in PHPStorm
Changes in version 1.5.3 compared to 1.5.2:
  • Features:
    • Up to 35x faster file highlighting
    • Improved eval and trap parsing
    • Composed commands (if,while,do,case,...) may be the body of a function, i.e. without curly brackets
  • Bugs fixed:
    • #286: Eval parsing of code not inside a string
    • #263: Warning for modifications of variables re-defined as readonly
New features in version 1.5.x compared to 1.4.x:
  • #90: Language injection into unevaluated heredoc content, single and double quoted strings
  • #274: Spellchecker support for double-quoted strings, single-quoted strings and heredoc content
  • Bash code passed to eval in single quotes ('') is now parsed, too
  • Files usages in strings are now processed during a file rename if the option is enabled.
  • Renaming files in non-source directories
  • References to other Bash script files will now be renamed if the filename is changed
  • Bash version 4 support is now enabled by default

Full changelog

General usage instructions

Github project: https://github.com/jansorg/BashSupport
To install the BashSupport plugin into PyCharm running on Ubuntu, I did this: 1) File->Settings->Plugins. 2) From the Plugins dialog, click Browse Repositories. 3) Type BashSupport in the search box in the upper left. 4) A description of the BashSupport plugin should appear on the right. 5) If the plugin is not already installed, an install button will appear in the description. 6) Click the install button to install the plugin. 7) To verify BashSupport is working, create a new Bash script file by File->New->BashScript. 8) BashSupport automatically adds "#!/usr/bin/env bash" to the top of the script. 9) Run->Run runs the script.
How can i install it with Pycharm?
Very useful.
So I hit a wall with this plugin. I wish to execute a script with build-in command "source" (ex: source switch.sh 8). And for now I haven't found a way to do it. Any suggestions?
There's a bug with some non-standard she-bang lines. I'm using ksh, found in /bin/ksh. I've marked it as a valid command, but every time I restart IntelliJ, the warning returns.
(BashSupport's author here) The latest version 1.3.3 fixes a nasty problem: run configurations were created for non-Bash files. I strongly recommend to update to 1.3.3 if you use a previous version of 1.3.x. I'm sorry for the troubles this might have caused.
The author is popping up dialog asking for money. This is total spam.
If the author of this plugin asks for money one more time, I will uninstall the plugin.
wtf, pops up giant ad begging for money for author's upcoming wedding.
Saving "#!/usr/bin/env bash" as a valid shebang line doesn't seem to work - every time I restart IntelliJ it's marked as unknown. Using IntelliJ IDEA 13.1 Ultimate and BashSupport 1.2.
not work in 8.0.2
BashSupport is available now for the latest 14 EAP (builds 139.*).
Please make it 139.* (14 EAP) compatible.
Would like to use this product but when I try to install in intellij 13.1.3, I get an incompatible error.
I added a fixed plugin jar that works with PhpStorm 8 EAP at the related issue. https://code.google.com/p/bashsupport/issues/detail?id=131
Please  sign in  to leave a comment.