1
0
mirror of https://github.com/chylex/IntelliJ-Rainbow-Brackets.git synced 2025-01-11 15:42:46 +01:00
IntelliJ Platform plugin that colors bracket pairs and indentation.
Go to file
2018-08-19 22:28:00 +08:00
.circleci Bump versions & fix gradle build with version 4.8 2018-06-16 12:46:27 +08:00
gradle/wrapper Upgrade gradle to 4.6 2018-03-04 22:03:36 +08:00
screenshots [ci skip] Update screenshots 2018-07-14 23:55:30 +08:00
src Revert "Should fix https://github.com/zjhmale/intellij-rainbow/issues/19" 2018-08-13 23:58:43 +08:00
.gitignore Update git ignore 2018-01-22 17:43:55 +08:00
.travis.yml Do NOT download source in travis CI as well 2018-04-06 15:27:39 +08:00
build.gradle Remove anonymous feedback 2018-07-15 11:14:33 +08:00
gradle.properties 5.9.1 2018-07-17 10:12:06 +08:00
gradlew Initial commit 2017-10-04 12:09:51 +08:00
gradlew.bat Initial commit 2017-10-04 12:09:51 +08:00
ISSUE_TEMPLATE.md [ci skip] Update ISSUE_TEMPLATE.md 2018-04-16 16:39:40 +08:00
LICENSE Add LICENSE 2018-02-20 13:21:54 +08:00
README.md Update README.md 2018-08-19 22:28:00 +08:00

Intellij rainbow brackets

Rainbow Brackets / Rainbow Parentheses for IntelliJ based IDEs.


Table of Contents

Compatibility

IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, DataGrip, Rider, MPS, Android Studio

Supported languages

Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language ...

Screenshots

  • with Java

  • with Scala

  • with Clojure

  • with Kotlin

  • with HTML/XML

  • Scope highlighting

Ctrl + Button3(Windows & Linux) or Meta+ Button3(Mac):

Alt + Button3:

  • looking forward to your screenshots(PR welcome!)

Install

For Windows - File > Settings > Plugins > Browse repositories... > Search for "Rainbow Brackets" > Install Plugin > Restart IntelliJ IDEA

For Mac - IntelliJ IDEA > Preferences > Plugins > Browse repositories... > Search for "Rainbow Brackets" > Install Plugin > Restart IntelliJ IDEA

Customize colors

If you want to customize colors, edit your config file and restart your IDE(APP_CONFIG/rainbow_brackets.xml), In my env(MAC os) is /Users/izhangzhihao/Library/Preferences/IntelliJIdea2018.2/options/rainbow_brackets.xml:

<option name="lightRoundBracketsColors">
   <array>
      <option value="0xE6B422" />
      <option value="0x43A047" />
      <option value="0x2196F3" />
      <option value="0x3F51B5" />
      <option value="0x00897B" />
   </array>
</option>

If you prefer using light theme, here is a example from @Avinash-Bhat gray config using Material Deisgn Color Tool, it works greate with light themed bg (basically white) but dark theme is not so good.

NOTE: The lightXXX and the darkXXX should be the same size!

Expand to view the default colors:
var lightRoundBracketsColors = arrayOf(
        "0xE66A01",
        "0x1B5E20",
        "0x006BE7",
        "0x283593",
        "0x004D40"
)

var darkRoundBracketsColors = arrayOf(
        "0xE6B422",
        "0x43A047",
        "0x2196F3",
        "0x3F51B5",
        "0x00897B"
)

var lightSquareBracketsColors = arrayOf(
        "0x0B9087",
        "0x827717",
        "0x6444E6"
)

var darkSquareBracketsColors = arrayOf(
        "0x33CCFF",
        "0xD4E157",
        "0x8080FF"
)

var lightSquigglyBracketsColors = arrayOf(
        "0x0057D2",
        "0x558B2F",
        "0xFF6D27"
)

var darkSquigglyBracketsColors = arrayOf(
        "0x1976D2",
        "0x8BC34A",
        "0xFF9863"
)

var lightAngleBracketsColor = lightRoundBracketsColors
var darkAngleBracketsColor = darkRoundBracketsColors

HTML code in js

To enable rainbow brackets for HTML inside js code like this:

var html = '<div><div><div>Hello</div></div></div>';

This plugin will automatically override color scheme propertie "HTML_CODE" cause our rainbow color been covered by intellij built-in functionality. You still could set <option name="rainbowifyHTMLInsideJS" value="false" /> in config file to disable just like Config brackets colors.

Kotlin function literal braces and arrow

To enable rainbow brackets for multiple level lambda Kotlin code like this:

event.throwable?.let { throwable ->
    IdeErrorsDialog.findPluginId(throwable)?.let { pluginId ->
        PluginManager.getPlugin(pluginId)?.let { ideaPluginDescriptor ->
            if (!ideaPluginDescriptor.isBundled) {
                bean.pluginName = ideaPluginDescriptor.name
                bean.pluginVersion = ideaPluginDescriptor.version
            }
        }
    }
}

This plugin will automatically override color scheme propertie "KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW" cause our rainbow color been covered by kotlin plugin built-in functionality. You still could set <option name="rainbowifyKotlinFunctionLiteralBracesAndArrow" value="false" /> in config file to disable just like Config brackets colors.

Contribute

  • gradle test
  • gradle runIde
  • gradle buildPlugin

Acknowledgements

Intellij-rainbow-brackets is heavily inspired by Rainbow Brackets for Visual Studio Code